Massimo,

I'm on Debian sid. I've seen Rivet package has tcl-dev as prerequisite,
but I changed it to tcl8.6-dev.

The change to the panic() call did the job. You could apply the change
to the codebase, too.

Thanks a lot,

Marco


2013/5/5 Massimo Manghi <[email protected]>

> this thread should probably move to [email protected]
>
>
> On 05/05/2013 11:29 AM, Marco Pallante wrote:
>
>> Hello everyone,
>>
>> I'm trying to recompile Rivet against Tcl8.6 under Debian by using the
>> Debian source package, but something goes wrong. Here's what I'm doing.
>>
>> $ apt-get source libapache2-mod-rivet
>> $ cd libapache2-mod-rivet-2.1.1
>> $ vim debian/rules
>> * in rules, I change the following options
>> * TCL_VERSION=8.6
>>
>
> are you working with Debian wheezy or sid? On sid TCL_VERSION definition
> in rules should be useless and be removed. In the effort to keep the
> package Ubuntu compatible I had to let it depend on tcl-dev instead of
> tcl8.5-dev and tell the build system to peek into /usr/bin to find
> tclConfig.sh. On Ubuntu this script knows how to build the package on a
> multiarch system. This issue is coming up soon on Debian too, as soon as
> Debian wheezy is released. The package is now in Debian / sid
>
>
>
>  * and
>> * --with-tcl=/usr/lib/tcl8.6
>> * and
>> * --with-tclsh=/usr/bin/tcl8.6
>> $ dpkg-buildpackage -rfakeroot -b
>>
>> compilation goes on until it tryies to build the
>> rivet/apache-2/rivetCore.c source. There, I get this error:
>>
>> rivetCore.c: In function 'TestpanicCmd':
>> rivetCore.c:1459:5: error: format not a string literal and no format
>> arguments [-Werror=format-security]
>>
>>
> weird, this is a compiler issue and it has to do with the hardening
> compilation switches that enforced stricter rules for calling printf-like
> calls.  I can't reproduce the error but you may try changing the call as
>
> panic("%s",argString)
>
> it's compatible and safer. I changed myself many calls like these here and
> there in the code to prevent Debian build system from complaining and make
> mod_rivet's code in principle a bit safer
>
>
>  If I just change the TCL_VERSION variable, without touching the
>> configure options, the .deb is built, but against Tcl8.5.
>>
>> I also downloaded the sources right from the Rivet website and I
>> compiled them against Tcl8.6 by using the same configure options I found
>> in debian/rules, and it went well.
>>
>> Could you give me some help? I'm almost sure I'm doing something wrong,
>> but I never recompiled from source packages, so I've no idea about what
>> it is.
>>
>> Thank you very much,
>>
>> Marco Pallante
>>
>
>  -- Massimo
>

Reply via email to