Skip Menu |

This queue is for tickets about the Socket6 CPAN distribution.

Report information
The Basics
Id: 14372
Status: open
Priority: 0/
Queue: Socket6

People
Owner: Nobody in particular
Requestors: sebastien.decugis [...] ext.bull.net
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 0.19
Fixed in: (no value)



Subject: Socket6 fails compilation in AIX 5.3 with perl 5.8.2
Checking if your kit is complete... Looks good Writing Makefile for Socket6 cp Socket6.pm blib/lib/Socket6.pm /usr/bin/perl -e 'use ExtUtils::Mksymlists; Mksymlists("NAME" => "Socket6", "DL_FUNCS" => { }, "FUNCLIST" => [], "DL_VARS" => []);' /usr/bin/perl /usr/opt/perl5/lib/5.8.2/ExtUtils/xsubpp -noprototypes -typemap /usr/opt/perl5/lib/5.8.2/ExtUtils/typemap Socket6.xs > Socket6.xsc && mv Socket6.xsc Socket6.c cc -c -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q32 -D_LARGE_FILES -qlonglong -O -DVERSION=\"0.19\" -DXS_VERSION=\"0.19\" "-I/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE" Socket6.c "/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE/reentr.h", line 619.16: 1506-007 (S) "struct drand48_data" is undefined. "/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE/reentr.h", line 727.16: 1506-007 (S) "struct random_data" is undefined. "/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE/reentr.h", line 775.16: 1506-007 (S) "struct random_data" is undefined. make: 1254-004 The error code from the last command is 1. Stop. /usr/bin/make -- NOT OK
Same game with perl 5.10: checking for gcc... cc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... no checking whether cc accepts -g... yes checking for cc option to accept ANSI C... none needed checking whether your Perl5 have PL_sv_undef... yes checking how to run the C preprocessor... cpp checking for egrep... grep -E checking for getaddrinfo... yes checking for getnameinfo... yes checking for gethostbyname2... yes checking for getipnodebyname... yes checking for getipnodebyaddr... yes checking for inet_pton... yes checking for inet_ntop... yes checking whether you have sa_len in struct sockaddr... yes checking whether you have sin6_scope_id in struct sockaddr_in6... yes checking for socklen_t... yes configure: creating ./config.status config.status: creating config.pl config.status: creating gailookup.pl config.status: creating config.h Checking if your kit is complete... Looks good Writing Makefile for Socket6 ===> Building for p5-Socket6-0.23 cp Socket6.pm blib/lib/Socket6.pm /opt/pkgsrc/bin/perl -e 'use ExtUtils::Mksymlists; Mksymlists("NAME" => "Socket6", "DL_FUNCS" => { }, "FUNCLIST" => [], "DL_VARS" => []);' /opt/pkgsrc/bin/perl /opt/pkgsrc/lib/perl5/5.10.0/ExtUtils/xsubpp -noprototypes -typemap /opt/pkgsrc/lib/perl5/5.10.0/ExtUtils/typemap Socket6.xs > Socket6.xsc && mv Socket6.xsc Socket6.c cc -c -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=-1 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -I/opt/pkgsrc/include -q64 -DUSE_64_BIT_ALL -q64 -q64 -qarch=ppc64 -O2 -qstrict -qcpluscmt -qmaxmem=-1 -qkeyword=inline -I/opt/pkgsrc/include -ma -I/usr/include -I/opt/pkgsrc/include -I/usr/include -DVERSION=\"0.23\" -DXS_VERSION=\"0.23\" "-I/opt/pkgsrc/lib/perl5/5.10.0/powerpc-aix-thread-multi-64all/CORE" Socket6.c "/opt/room/pkgsrc/net/p5-Socket6/work/.buildlink/lib/perl5/5.10.0/powerpc-aix-thread-multi-64all/CORE/reentr.h", line 780.16: 1506-007 (S) "struct random_data" is undefined. *** Error code 1 Stop. bmake: stopped in /opt/room/pkgsrc/net/p5-Socket6/work/Socket6-0.23 *** Error code 1 Stop. bmake: stopped in /opt/room/pkgsrc/net/p5-Socket6 df: /chroot/BDC-pkgsrc/tmp: No such file or directory oslevel: 0645-017 Error getting file system size for /tmp. *** Error code 1 Stop. bmake: stopped in /opt/room/pkgsrc/net/p5-Socket6 The autoconf-script is wrong, it should always the C-Compiler used, perl decided to use (which is cc_r on aix when xlc is available)
Removing override of CC from ExtUtils::MakeMaker works for me: --- Makefile.PL.orig 2008-11-14 20:14:49.000000000 +0100 +++ Makefile.PL 2008-11-14 20:15:01.000000000 +0100 @@ -46,7 +46,6 @@ MAN3PODS => {}, # Pods will be built by installman. XSPROTOARG => '-noprototypes', # XXX remove later? PM => {'Socket6.pm' => '$(INST_LIBDIR)/Socket6.pm'}, - CONFIGURE => sub { { CC => "${cc}" } }, LIBS => ["${libs}"], realclean => {FILES => 'config.cache config.h config.log config.pl config.status gailookup.pl'}, );