Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 12943 - inn 2.3.3 d.n. compile v. perl 5.8.0 because of threading
Summary: inn 2.3.3 d.n. compile v. perl 5.8.0 because of threading
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Server (show other bugs)
Hardware: All Linux
: High normal
Assignee: Michael Cummings (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-12-30 09:21 UTC by B. K. Oxley (binkley)
Modified: 2003-01-17 08:47 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description B. K. Oxley (binkley) 2002-12-30 09:21:35 UTC
Perl 5.8.0 built with threading (I haven't tested the non-threaded build) adds 
a pTHX argument to the declaration for the XSINIT_t fuction (callback); this 
wasn't the case for perls 5.6 and earlier.  Inn 2.3.3 uses the 
void-argument-list version of XSINIT_t, and so fails to compile against perl 
5.8.0: 
 
server root # cd /var/tmp/portage/inn-2.3.3/work/inn-2.3.3/ 
server inn-2.3.3 # make 
cd lib       && make all 
make[1]: Entering directory `/var/tmp/portage/inn-2.3.3/work/inn-2.3.3/lib' 
gcc -march=pentium3 -O3 -pipe -I../include   -DPERL5 -D_REENTRANT 
-D_GNU_SOURCE -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  
-I/usr/lib/perl5/5.8.0/i686-linux-thread-multi/CORE    -c perl.c 
In file included from perl.c:25: 
../include/libinn.h:78: parse error before numeric constant 
perl.c: In function `PerlParse': 
perl.c:100: warning: passing arg 2 of `perl_parse' from incompatible pointer 
type 
perl.c: In function `xs_init': 
perl.c:338: warning: passing arg 3 of `Perl_newXS' from incompatible pointer 
type 
make[1]: *** [perl.o] Error 1 
make[1]: Leaving directory `/var/tmp/portage/inn-2.3.3/work/inn-2.3.3/lib' 
make: *** [all-lib] Error 2
Comment 1 B. K. Oxley (binkley) 2002-12-30 10:00:05 UTC
Building perl 5.8.0 *without* USE=threads fixes this.  When you build a 
non-threaded perl, it #defines pTHX to be void, which makes the function 
declarations that take a pTHX argument the same as what they had been in 
5.6.1.  Hence, inn now builds. 
Comment 2 Michael Cummings (RETIRED) gentoo-dev 2003-01-01 17:08:42 UTC
This is precisely why USE="threads" is not only optional, but at your own risk.
Please read the note at the beginning of the emerge process for perl 5.8. Many
packages can't handle the threaded perl - so it is only optional for those that
know what threading is and are willing to accept the potential conflict. 
Comment 3 Michael Cummings (RETIRED) gentoo-dev 2003-01-17 08:47:54 UTC
Another case of threaded perl not working with an application. Outside of our 
control.