Front page | perl.perl5.porters |
Postings from November 2001
Re: [ID 20011108.093] pp_sys.c:1580: incompatible type for argument5 of `recvfrom'
Thread Previous
|
Thread Next
From:
Alexander Klimov
Date:
November 9, 2001 05:19
Subject:
Re: [ID 20011108.093] pp_sys.c:1580: incompatible type for argument5 of `recvfrom'
Message ID:
TheMailAgent.1cba091a8424400-100000@3ff3e674bd9dff17b83ab
On Thu, 8 Nov 2001, Andy Dougherty wrote:
> Hmm. It's very hard to guess what's going on here. Certainly perl.h
> should be including <sys/types.h> and <sys/socket.h>. Could you verify
> that they are getting included there?
Yes, them are there.
> Hmm. A wild guess: In perl.h, could you try moving the <netinet/in.h>
> and <arpa/inet.h> includes to below the <sys/socket.h> include?
No improovements.
> Finally, could you please send along the output of the ./myconfig script?
> I'm afraid I don't know anywhere near enough about RedHat products to
> guess which libc and kernel you are using.
The investigation shows more details. I have 2 gcc:
gcc version 3.1 20011031 (experimental)
gcc version 2.96 20000731 (Red Hat Linux 7.1 2.96-85)
`sh Configure -des -Dusedevel && make' works OK with 2.96, but
not with 3.1.
myconfig for 3.1 gives:
Summary of my perl5 (revision 5.0 version 7 subversion 2 patch 12910) configuration:
Platform:
osname=linux, osvers=2.4.2-2, archname=i686-linux
uname='linux verdi.wisdom.weizmann.ac.il 2.4.2-2 #1 sun apr 8 20:41:30 edt 2001 i686 unknown '
config_args='-des -Dusedevel'
hint=recommended, useposix=true, d_sigaction=define
usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
usemymalloc=n, bincompat5005=define
Compiler:
cc='cc', ccflags ='-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
optimize='-O2',
cppflags='-fno-strict-aliasing -I/usr/local/include'
ccversion='', gccversion='3.1 20011031 (experimental)', gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
alignbytes=4, prototype=define
Linker and Libraries:
ld='cc', ldflags =' -L/usr/local/lib'
libpth=/usr/local/lib /lib /usr/lib
libs=-lnsl -lndbm -lgdbm -ldl -lm -lc -lcrypt -lutil
perllibs=-lnsl -ldl -lm -lc -lcrypt -lutil
libc=/lib/libc-2.2.2.so, so=so, useshrplib=false, libperl=libperl.a
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic'
cccdlflags='-fpic', lddlflags='-shared -L/usr/local/lib'
I compare two versions, and the most notable difference is
*** bleadperl.296/config.h Fri Nov 9 14:31:45 2001
--- bleadperl/config.h Fri Nov 9 14:32:37 2001
***************
*** 39 ****
! #define HASATTRIBUTE /**/
--- 39 ----
! /*#define HASATTRIBUTE / **/
In other words perl think that gcc 3.1 couldn't check for function
attributes, but 2.96 could. After I uncoment it everything is compiled OK
with 3.1 (98.97% tests passed)
Now I think I know the real reason: program for testing attributes support
which is compiled in Configure:8716
cc -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -c attrib.c
raise warnings
cc1: warning: changing search order for system directory
"/usr/local/include"
cc1: warning: as it has already been specified as a non-system directory
and so Configure thinks "Your C compiler doesn't fully support
__attribute__."
Regards,
ASK
Thread Previous
|
Thread Next