Perl / perl5

🐪 The Perl programming language
https://dev.perl.org/perl5/
Other
1.85k stars 524 forks source link

feature_test.ph not -w clean #2916

Closed p5pRT closed 15 years ago

p5pRT commented 23 years ago

Migrated from rt.perl.org#4803 (status was 'resolved')

Searchable as RT4803$

p5pRT commented 23 years ago

From @jimav

This is a bug report for perl from avera@​hal.com\, generated with the help of perlbug 1.28 running under perl v5.6.0.


# Hi\, # # Perl v5.6.0 provokes an ugly warning from unistd.ph on Solaris. # # Maybe there is a bug in h2ph? # # Constant subroutine _LARGEFILE_SOURCE undefined at # .../lib/site_perl/5.6.0/sun4-solaris/sys/feature_tests.ph line 15. # Prototype mismatch​: sub main​::_LARGEFILE_SOURCE vs () at (eval 4) line 1. # # -Jim Avera (jima@​hal.com)

BEGIN { $^W = 1 } # or use -w use strict; use POSIX (); use Config;

if ($Config{archname} =~ /solaris|sunos/) {   eval q( require 'sys/unistd.ph' );   if (defined &_SC_NPROCESSORS_CONF) {   my $num = POSIX​::sysconf( &_SC_NPROCESSORS_CONF );   printf "Your Sun machine has %d cpus\n"\, $num;   } }



Flags​:   category=library   severity=medium


Site configuration information for perl v5.6.0​:

Configured by avera at Mon Nov 20 17​:11​:31 PST 2000.

Summary of my perl5 (revision 5.0 version 6 subversion 0) configuration​:   Platform​:   osname=solaris\, osvers=2.6\, archname=sun4-solaris   uname='sunos fjst004.ssd.hal.com 5.6 generic_105181-14 sun4u sparc sunw\,ultrasparc-iii-engine '   config_args='-O -des -Duseshrplib -Dprefix=/sim/vcsperl/perl/5.6.0 -Dmake=/u/avera/src/gmake/make-3.78.1/make -Dcc=/sim/caetools_ssd1/VCS/cctools/sun4-solaris/cc -Dcf_email=avera@​hal.com -Uinstallusrbinperl -Doptimize=-O'   hint=recommended\, useposix=true\, d_sigaction=define   usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef   useperlio=undef d_sfio=undef uselargefiles=define   use64bitint=undef use64bitall=undef uselongdouble=undef usesocks=undef   Compiler​:   cc='/sim/caetools_ssd1/VCS/cctools/sun4-solaris/cc'\, optimize='-O'\, gccversion=2.8.1   cppflags=''   ccflags =' -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'   stdchar='unsigned char'\, d_stdstdio=define\, usevfork=false   intsize=4\, longsize=4\, ptrsize=4\, doublesize=8   d_longlong=define\, longlongsize=8\, d_longdbl=define\, longdblsize=16   ivtype='long'\, ivsize=4\, nvtype='double'\, nvsize=8\, Off_t='off_t'\, lseeksize=8   alignbytes=8\, usemymalloc=y\, prototype=define   Linker and Libraries​:   ld='/sim/caetools_ssd1/VCS/cctools/sun4-solaris/cc'\, ldflags =' -L/usr/local/lib '   libpth=/usr/local/lib /lib /usr/lib /usr/ccs/lib   libs=-lsocket -lnsl -ldl -lm -lc -lcrypt -lsec   libc=/lib/libc.so\, so=so\, useshrplib=true\, libperl=libperl.so   Dynamic Linking​:   dlsrc=dl_dlopen.xs\, dlext=so\, d_dlsymun=undef\, ccdlflags=' -R /sim/vcsperl/perl/5.6.0/lib/5.6.0/sun4-solaris/CORE'   cccdlflags='-fPIC'\, lddlflags='-G -L/usr/local/lib'

Locally applied patches​:  


@​INC for perl v5.6.0​:   /sim/avera/cvshome/lib/perl   /sim/vcsperl/perl/5.6.0/lib/5.6.0/sun4-solaris   /sim/vcsperl/perl/5.6.0/lib/5.6.0   /sim/vcsperl/perl/5.6.0/lib/site_perl/5.6.0/sun4-solaris   /sim/vcsperl/perl/5.6.0/lib/site_perl/5.6.0   /sim/vcsperl/perl/5.6.0/lib/site_perl   .


Environment for perl v5.6.0​:   HOME=/u/avera   LANG (unset)   LANGUAGE (unset)   LD_LIBRARY_PATH=/sim/maki/ia64verif/intel/VIP_EndUser_41/SunOS5/lib​:/usr/dt/lib​:/usr/openwin/lib​:/usr/ucblib​:/usr/is/lib​:/usr/lib​:/usr/openwin/lib​:/usr/ucblib   LOGDIR (unset)   PATH=/sim/avera/cvshome/bin​:/sim/avera/cvshome/bin/sun4_sol56​:/sim/maki/ia64verif/intel/VIP_EndUser_41/SunOS5/bin​:/sim/vcsperl/perl/5.6.0/bin​:/u/avera/specman/sn_rel3.3/solaris​:/u/avera/specman/sn_rel3.3/bin​:/sim/caetools_ssd3/Mentor/modelsim/modeltech/sunos5​:/sim/caetools_ssd3/Mentor/modelsim/modeltech/bin​:/sim/current/bin​:/sim/caetools_ssd4/VCS/vcs5.2/bin​:/sim/caetools_ssd4/VCS/vcs5.2/sun_sparc_solaris_5.5.1​:/sim/caetools_ssd1/VCS/cctools/sun4-solaris​:/sim/caetools_ssd4/avanti/explorertl/EXPLORE_RTL-2000.2.10/bin​:/sim/caetools_ssd4/avanti/explorertl/EXPLORE_RTL-2000.2.10​:/sim/caetools_ssd4/denali/denali/bin​:/usr/bin​:/usr/bin​:/usr/ucb​:/sim/caetools_ssd2/signalscan/signalscan_6.0.1/bin/sparc-solaris​::/usr/is/bin​:/usr/is/gnu/bin​:/usr/ccs/bin​:/tools/upd/qa/cvs13-1995-05-05/bin​:/sim/ldb5_builds/LDB51.10/bin​:/sim/lb/current/bin​:/sim/wstools_builds/WSTOOLS1.111/bin   PERL=/sim/vcsperl/perl/5.6.0/bin/perl   PERL5LIB=/sim/avera/cvshome/lib/perl   PERL_BADLANG (unset)   SHELL=/usr/bin/sh

p5pRT commented 23 years ago

From [Unknown Contact. See original ticket]

ccflags =' -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'

These are defined in Linux System Headers\, but not in FreeBSD. Dunno about Solaris.

Setting these in Linux causes problems when dynamically linking perl into other executables. Eg in modperl. There's a good argument for not setting them by default.

Andrew McNaughton

On Wed\, 29 Nov 2000\, Jim Avera wrote​:

Date​: Wed\, 29 Nov 2000 17​:49​:23 -0800 (PST) From​: Jim Avera \avera@​hal\.com To​: perl5-porters@​perl.org Cc​: jima@​hal.com Subject​: [ID 20001129.008] feature_test.ph not -w clean

This is a bug report for perl from avera@​hal.com\, generated with the help of perlbug 1.28 running under perl v5.6.0. ----------------------------------------------------------------- # Hi\, # # Perl v5.6.0 provokes an ugly warning from unistd.ph on Solaris. # # Maybe there is a bug in h2ph? # # Constant subroutine _LARGEFILE_SOURCE undefined at # .../lib/site_perl/5.6.0/sun4-solaris/sys/feature_tests.ph line 15. # Prototype mismatch​: sub main​::_LARGEFILE_SOURCE vs () at (eval 4) line 1. # # -Jim Avera (jima@​hal.com)

BEGIN { $^W = 1 } # or use -w use strict; use POSIX (); use Config;

if ($Config{archname} =~ /solaris|sunos/) { eval q( require 'sys/unistd.ph' ); if (defined &_SC_NPROCESSORS_CONF) { my $num = POSIX​::sysconf( &_SC_NPROCESSORS_CONF ); printf "Your Sun machine has %d cpus\n"\, $num; } } ----------------------------------------------------------------- --- Flags​: category=library severity=medium --- Site configuration information for perl v5.6.0​:

Configured by avera at Mon Nov 20 17​:11​:31 PST 2000.

Summary of my perl5 (revision 5.0 version 6 subversion 0) configuration​: Platform​: osname=solaris\, osvers=2.6\, archname=sun4-solaris uname='sunos fjst004.ssd.hal.com 5.6 generic_105181-14 sun4u sparc sunw\,ultrasparc-iii-engine ' config_args='-O -des -Duseshrplib -Dprefix=/sim/vcsperl/perl/5.6.0 -Dmake=/u/avera/src/gmake/make-3.78.1/make -Dcc=/sim/caetools_ssd1/VCS/cctools/sun4-solaris/cc -Dcf_email=avera@​hal.com -Uinstallusrbinperl -Doptimize=-O' hint=recommended\, useposix=true\, d_sigaction=define usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef useperlio=undef d_sfio=undef uselargefiles=define use64bitint=undef use64bitall=undef uselongdouble=undef usesocks=undef Compiler​: cc='/sim/caetools_ssd1/VCS/cctools/sun4-solaris/cc'\, optimize='-O'\, gccversion=2.8.1 cppflags='' ccflags =' -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64' stdchar='unsigned char'\, d_stdstdio=define\, usevfork=false intsize=4\, longsize=4\, ptrsize=4\, doublesize=8 d_longlong=define\, longlongsize=8\, d_longdbl=define\, longdblsize=16 ivtype='long'\, ivsize=4\, nvtype='double'\, nvsize=8\, Off_t='off_t'\, lseeksize=8 alignbytes=8\, usemymalloc=y\, prototype=define Linker and Libraries​: ld='/sim/caetools_ssd1/VCS/cctools/sun4-solaris/cc'\, ldflags =' -L/usr/local/lib ' libpth=/usr/local/lib /lib /usr/lib /usr/ccs/lib libs=-lsocket -lnsl -ldl -lm -lc -lcrypt -lsec libc=/lib/libc.so\, so=so\, useshrplib=true\, libperl=libperl.so Dynamic Linking​: dlsrc=dl_dlopen.xs\, dlext=so\, d_dlsymun=undef\, ccdlflags=' -R /sim/vcsperl/perl/5.6.0/lib/5.6.0/sun4-solaris/CORE' cccdlflags='-fPIC'\, lddlflags='-G -L/usr/local/lib'

Locally applied patches​:

--- @​INC for perl v5.6.0​: /sim/avera/cvshome/lib/perl /sim/vcsperl/perl/5.6.0/lib/5.6.0/sun4-solaris /sim/vcsperl/perl/5.6.0/lib/5.6.0 /sim/vcsperl/perl/5.6.0/lib/site_perl/5.6.0/sun4-solaris /sim/vcsperl/perl/5.6.0/lib/site_perl/5.6.0 /sim/vcsperl/perl/5.6.0/lib/site_perl .

--- Environment for perl v5.6.0​: HOME=/u/avera LANG (unset) LANGUAGE (unset) LD_LIBRARY_PATH=/sim/maki/ia64verif/intel/VIP_EndUser_41/SunOS5/lib​:/usr/dt/lib​:/usr/openwin/lib​:/usr/ucblib​:/usr/is/lib​:/usr/lib​:/usr/openwin/lib​:/usr/ucblib LOGDIR (unset) PATH=/sim/avera/cvshome/bin​:/sim/avera/cvshome/bin/sun4_sol56​:/sim/maki/ia64verif/intel/VIP_EndUser_41/SunOS5/bin​:/sim/vcsperl/perl/5.6.0/bin​:/u/avera/specman/sn_rel3.3/solaris​:/u/avera/specman/sn_rel3.3/bin​:/sim/caetools_ssd3/Mentor/modelsim/modeltech/sunos5​:/sim/caetools_ssd3/Mentor/modelsim/modeltech/bin​:/sim/current/bin​:/sim/caetools_ssd4/VCS/vcs5.2/bin​:/sim/caetools_ssd4/VCS/vcs5.2/sun_sparc_solaris_5.5.1​:/sim/caetools_ssd1/VCS/cctools/sun4-solaris​:/sim/caetools_ssd4/avanti/explorertl/EXPLORE_RTL-2000.2.10/bin​:/sim/caetools_ssd4/avanti/explorertl/EXPLORE_RTL-2000.2.10​:/sim/caetools_ssd4/denali/denali/bin​:/usr/bin​:/usr/bin​:/usr/ucb​:/sim/caetools_ssd2/signalscan/signalscan_6.0.1/bin/sparc-solaris​::/usr/is/bin​:/usr/is/gnu/bin​:/usr/ccs/bin​:/tools/upd/qa/cvs13-1995-05-05/bin​:/sim/ldb5_builds/LDB51.10/bin​:/sim/lb/current/bin​:/sim/wstools_builds/WSTOOLS1.111/bin PERL=/sim/vcsperl/perl/5.6.0/bin/perl PERL5LIB=/sim/avera/cvshome/lib/perl PERL_BADLANG (unset) SHELL=/usr/bin/sh

-- Andrew McNaughton Te Kete Ipurangi​: The Online Learning Centre andrew@​tki.org.nz Ph​: 64 4 382 6500 Fax​: 64 4 382 6509 Mobile​: 021 323 076

PO Box 19-098 Wellington\, NZ http​://www.tki.org.nz/

p5pRT commented 23 years ago

From @jhi

On Thu\, Nov 30\, 2000 at 06​:18​:10PM +1300\, Andrew McNaughton wrote​:

ccflags =' -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'

These are defined in Linux System Headers\, but not in FreeBSD. Dunno about Solaris.

Setting these in Linux causes problems when dynamically linking perl into other executables. Eg in modperl. There's a good argument for not setting them by default.

The strongest counterargument to that is the in Perl 5.6 it was consciously decided to go ahead and enable largefileness in all platforms where it is possible. Nowadays\, after all\, one gets 40GB hard drives with standard off-the-shelf PCs. Yes\, the change broke some places\, the modperl being the most notorious and uncomfortable one. Why modperl cannot be changed to be largefile-aware by default\, I do not know for sure\, but I guess that it would then again require some other piece of software to be largefile-recompiled\, and so on. But I think the 64 bit file offset domino effect has to started somewhere\, and now Perl is one good reason to think beyond 2GB.

For the actual failure\, I don't know whether there will be a fix for 5.6.1\, but one can hope. I'll poke the guy who used to be the .ph magician.

Andrew McNaughton

p5pRT commented 15 years ago

From p5p@spam.wizbit.be

On Wed Nov 29 09​:49​:52 2000\, avera@​hal.com wrote​:

This is a bug report for perl from avera@​hal.com\, generated with the help of perlbug 1.28 running under perl v5.6.0. ----------------------------------------------------------------- # Hi\, # # Perl v5.6.0 provokes an ugly warning from unistd.ph on Solaris. # # Maybe there is a bug in h2ph? # # Constant subroutine _LARGEFILE_SOURCE undefined at # .../lib/site_perl/5.6.0/sun4-solaris/sys/feature_tests.ph line 15. # Prototype mismatch​: sub main​::_LARGEFILE_SOURCE vs () at (eval 4) line 1. # # -Jim Avera (jima@​hal.com)

BEGIN { $^W = 1 } # or use -w use strict; use POSIX (); use Config;

if ($Config{archname} =~ /solaris|sunos/) { eval q( require 'sys/unistd.ph' ); if (defined &_SC_NPROCESSORS_CONF) { my $num = POSIX​::sysconf( &_SC_NPROCESSORS_CONF ); printf "Your Sun machine has %d cpus\n"\, $num; } } ----------------------------------------------------------------- --- Flags​: category=library severity=medium

Warnings should be gone.

See also​: http​://rt.perl.org/rt3/Ticket/Display.html?id=6689

p5pRT commented 15 years ago

p5p@spam.wizbit.be - Status changed from 'open' to 'resolved'