develooper Front page | perl.perl5.porters | Postings from August 2013

[perl #119537] perl5.18.0 build-config seems to ignore some 64-bit types

Thread Next
Linda Walsh
August 30, 2013 19:42
[perl #119537] perl5.18.0 build-config seems to ignore some 64-bit types
Message ID:
# New Ticket Created by  Linda Walsh 
# Please include the string:  [perl #119537]
# in the subject line of all future correspondence about this issue. 
# <URL: >

This is a bug report for perl from,
generated with the help of perlbug 1.39 running under perl 5.16.2.

[Please describe your issue here]

I know that some people manage to get this to build on SuSE, but
there seem to be some fundamental issues that I'm not sure how or why
perl would be configured to use ...


Ishtar:packages/build/perl-5.18> make |& tee ../../logs/perl518-a.log
`sh  cflags "optimize='-O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -Wall -pipe'" perlmini.o` -fPIC -DPERL_IS_MINIPERL -DPERL_EXTERNAL_GLOB perlmini.c
	In file included from perl.c:33:0:
	perl.h:739:14: error: conflicting types for ‘syscall’
	 EXTERN_C int syscall(int, ...);
	In file included from perl.h:726:0,
									 from perl.c:33:
	/usr/include/unistd.h:1080:17: note: previous declaration of ‘syscall’ was here
	 extern long int syscall (long int __sysno, ...) __THROW;

There were other compile warnings based on unused return values but the above error ends the build.    It's *as if*  (and this makes it look related, maybe? to previous bug regarding mmap?) perl is using a 32-bit int to hold what should be
a 64-bit quantity on a 64-bit machine.

The build doesn't get any farther than this when run single-job.

The config line I used coming into this was:

Ishtar:packages/build/perl-5.18> ./configure.gnu --prefix=/usr -Dvendorprefix=/usr -Dinstallusrbinperl -Dusethreads -Dlibswanted="gdbm gdbm_compat" -Di_db -Di_dbm -Di_ndbm -Di_gdbm  -Duseshrplib=\'true\' $options |& tee perlconf.log

# for options =

-Doptimize='-g  -ggdb  -O2  -m64  -fasynchronous-unwind-tables  -fbranch-target-load-optimize  -fdelete-null-pointer-checks  -fgcse-after-reload  -fgcse-las  -fgcse-sm  -fgraphite-identity  -fipa-pta  -fivopts  -floop-block  -floop-flatten  -floop-interchange  -floop-strip-mine  -flto  -fmessage-length=0  -fpredictive-commoning  -frename-registers  -freorder-blocks-and-partition  -ftree-loop-linear  -ftree-loop-distribution  -ftree-loop-distribute-patterns  -ftree-loop-im  -ftree-loop-ivcanon  -ftree-vectorize  -ftree-slp-vectorize  -funswitch-loops  -funwind-tables  -fvariable-expansion-in-unroller  -fvect-cost-model  -fweb  -march=native -Wno-unused-result -pipe' -Accflags='-DPERL_USE_SAFE_PUTENV' -Dotherlibdirs=/usr/lib/perl5/site_perl

Is it just coincidence that this another place (previous (see #119475))  where perl isn't using the libc compat definition of a type in a system call?

[Please do not change anything below this line]
This perlbug was built using Perl 5.16.2 - Fri Feb 15 01:17:37 UTC 2013
It is being executed now by  Perl 5.16.2 - Fri Feb 15 01:12:05 UTC 2013.

Site configuration information for perl 5.16.2:

Configured by abuild at Fri Feb 15 01:12:05 UTC 2013.

Summary of my perl5 (revision 5 version 16 subversion 2) configuration:
    osname=linux, osvers=3.4.6-2.10-default, archname=x86_64-linux-thread-multi
    uname='linux build34 3.4.6-2.10-default #1 smp thu jul 26 09:36:26 utc 2012 (641c197) x86_64 x86_64 x86_64 gnulinux '
    config_args='-ds -e -Dprefix=/usr -Dvendorprefix=/usr -Dinstallusrbinperl -Dusethreads -Di_db -Di_dbm -Di_ndbm -Di_gdbm -Dd_dbm_open -Duseshrplib=true -Doptimize=-fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -Wall -pipe -Accflags=-DPERL_USE_SAFE_PUTENV -Dotherlibdirs=/usr/lib/perl5/site_perl'
    hint=recommended, useposix=true, d_sigaction=define
    useithreads=define, usemultiplicity=define
    useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
    use64bitint=define, use64bitall=define, uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
    cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DPERL_USE_SAFE_PUTENV -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    optimize='-fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -Wall -pipe',
    cppflags='-D_REENTRANT -D_GNU_SOURCE -DPERL_USE_SAFE_PUTENV -fno-strict-aliasing -pipe -fstack-protector'
    ccversion='', gccversion='4.7.2 20130108 [gcc-4_7-branch revision 195012]', gccosandvers=''
    intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
    ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='cc', ldflags =' -L/usr/local/lib64 -fstack-protector'
    libpth=/lib64 /usr/lib64 /usr/local/lib64
    libs=-lm -ldl -lcrypt -lpthread
    perllibs=-lm -ldl -lcrypt -lpthread
    libc=/lib64/, so=so, useshrplib=true,
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E -Wl,-rpath,/usr/lib/perl5/5.16.2/x86_64-linux-thread-multi/CORE'
    cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib64 -fstack-protector'

Locally applied patches:

@INC for perl 5.16.2:

Environment for perl 5.16.2:
    LANGUAGE (unset)
    LOGDIR (unset)
    PERL5OPT=-Mutf8 -CSA -I/home/law/bin/lib
    PERL_BADLANG (unset)

Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About