Bug 75158
Summary: | gcc fails to compile perl module Net::SSLeay | ||||||
---|---|---|---|---|---|---|---|
Product: | [Retired] Red Hat Linux | Reporter: | Need Real Name <jhowe> | ||||
Component: | perl | Assignee: | Warren Togami <wtogami> | ||||
Status: | CLOSED CURRENTRELEASE | QA Contact: | Brian Brock <bbrock> | ||||
Severity: | medium | Docs Contact: | |||||
Priority: | medium | ||||||
Version: | 8.0 | CC: | doliver | ||||
Target Milestone: | --- | ||||||
Target Release: | --- | ||||||
Hardware: | i386 | ||||||
OS: | Linux | ||||||
Whiteboard: | |||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2005-05-28 07:07:01 UTC | Type: | --- | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Attachments: |
|
Description
Need Real Name
2002-10-04 21:54:19 UTC
This doesn't look like a gcc bug but some header problem. Anyway, could you attach SSLeay.i (e.g. add -save-temps option to the above gcc command)? Created attachment 78784 [details]
'gcc -save-temps' output per request of jakub
Look at the line in question: char *crypt_r(const char *buf, const char *salt, &(*Perl_Ireentrant_buffer_ptr(((PerlInterpreter *)pthread_getspecific((*Perl_Gthr_key_ptr(((void *)0)))))))->_crypt_struct); this is originally: #if !defined(PERL5) && !defined(__FreeBSD__) && !defined(NeXT) char *crypt(const char *buf,const char *salt); #endif but because of /usr/ilb/perl5/5.8.0/i386-linux-thread-multi/CORE/reentr.h:# define crypt(a, b) crypt_r(a, b, &PL_reentrant_buffer->_crypt_struct) it gets incorrectly prototyped. Whether PERL5 should be defined automatically or whether SSLeay should define it is unknown to me. Certainly it doesn't have anything to do with gcc. Thanks for the info. Net::SSLeay is a fairly common perl module. You might consider packaging it in the future as part of the distribution. See also: http://packages.debian.org/unstable/interpreters/libnet-ssleay-perl.html getting perl modules linked against openssl to compile properly generally requires moving the perl includes in front of the openssl includes. see the perl-Crypt-SSLeay srpm for a sample patch that does just this. After recompiling/installing PERL 5.8.0 from http://www.perl.com/, I was able to install Net::SSLeay without any trouble. I did the following and it compiled and installed fine. I am not a sure if this is the correct or not, but it works. 1. tar zxvf Net_SSLeay.pm-1.20.tar.gz 2. cd Net_SSLeay.pm-1.20 3. Edit line 162 of the Makefile.PL 4. Change DEFINE => '', # e.g., '-DHAVE_SOMETHING' to DEFINE => '-DPERL5', # e.g., '-DHAVE_SOMETHING' 5. ./Makefile.PL -t 6. make install Closing due to lack of activity and likely fixed in modern perl. If this is still an issue in RHEL4, FC3 or FC4 please open a new bug with new test information and exact versions of packages. |