Perl / perl5

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

commit "Add pthread to libswanted" broke HPUX build (Configure coredumps) #14392

Closed p5pRT closed 9 years ago

p5pRT commented 9 years ago

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

Searchable as RT123543$

p5pRT commented 9 years ago

From @bulk88

Created by @bulk88

commit http​://perl5.git.perl.org/perl.git/commit/237050634b19905cdd9e8e25c2a43d0b24eb59f2 broke the HPUX build on Tux's box

----------------------------------------------------------------- ~/perl$./Configure -Dusedevel -des (I see you are using the Korn shell. Some ksh's blow up on Configure\, mainly on older exotic systems. If yours does\, try the Bourne shell instead.) First let's make sure your kit is complete. Checking... Locating common programs... Checking compatibility between /usr/bin/echo and builtin echo (if any)... Symbolic links are supported. Checking how to test for symbolic links... You can test for symbolic links with 'test -h'. Checking for cross-compile No targethost for running compiler tests against defined\, running locally Good\, your tr supports [​:lower​:] and [​:upper​:] to convert case. Using [​:upper​:] and [​:lower​:] to convert case. aix esix4 linux sco_2_3_1 aix_3 fps lynxos sco_2_3_2 aix_4 freebsd midnightbsd sco_2_3_3 altos486 freemint mips sco_2_3_4 amigaos genix mirbsd solaris_2 atheos gnu mpc stellar aux_3 gnukfreebsd ncr_tower sunos_4_0 bitrig gnuknetbsd netbsd sunos_4_1 bsdos greenhills newsos4 super-ux catamount haiku nonstopux svr4 convexos hpux openbsd svr5 cxux i386 opus ti1500 cygwin interix os2 ultrix_4 darwin irix_4 os390 umips dcosx irix_5 os400 unicos dec_osf irix_6 posix-bc unicosmk dos_djgpp irix_6_0 powerux unisysdynix dragonfly irix_6_1 qnx utekv dynix isc riscos uwin dynixptx isc_2 sco vos epix linux-android sco_2_3_0 Which of these apply\, if any? [hpux] /opt/ansic/bin/cc​:   $Revision​: 92453-07 linker linker crt0.o B.11.64 080728 $   LINT B.11.11.22 CXREF B.11.11.22   HP92453-01 B.11.11.22 HP C Compiler   $ PATCH/11.00​:PHCO_27774 Oct 3 2002 09​:45​:59 $ Looks like your strtold() is non-standard... Operating system name? [hpux] Operating system version? [11.23] Installation prefix to use? (~name ok) [/opt/perl5] Directory /opt/perl5 doesn't exist. Use that name anyway? [y] AFS does not seem to be running... What installation prefix should I use for installing files? (~name ok) [/opt/perl5] Directory /opt/perl5 doesn't exist. Use that name anyway? [y] Getting the current patchlevel... Build a threading Perl? [n] Build Perl for multiplicity? [n] Use which C compiler? [cc] Checking for GNU cc in disguise and/or its version number... Now\, how can we feed standard input to your C preprocessor... Directories to use for library searches? [/usr/local/lib /lib /usr/lib /usr/ccs/lib] What is the file extension used for shared libraries? [sl] Make shared library basenames unique? [n] Build Perl for SOCKS? [n] Try to use long doubles if available? [n] Checking for optional libraries... What libraries to use? [-lnsl -lnm -lndbm -ldb -lmalloc -lm -lcrypt -lsec -lc -lpthread] What optimizer/debugger flag should be used? [+O2 +Onolimit] Any additional cc flags? [-Ae -D_HPUX_SOURCE -Wl\,+vnocompatwarnings -I/usr/local/include] Let me guess what the preprocessor flags are... Any additional ld flags (NOT including libraries)? [ -L/usr/local/lib] Checking your choice of C compiler and flags for coherency... I've tried to compile and run the following simple program​:

#include \<stdio.h> int main() { printf("Ok\n"); return(0); }

I used the command​:

  cc -o try +O2 +Onolimit -Ae -D_HPUX_SOURCE -Wl\,+vnocompatwarnings -I/usr/local/include -L/usr/local/lib try.c -lnsl -lnm -lndbm -ldb -lmalloc -lm -lcrypt -lsec -lc -lpthread   ./try

and I got the following output​:

Assertion failed​: __thread_init == NULL\, file ../../../../../core/libs/libc/shared_pa2_32/../core/threads/pthread_stubs1.c\, line 361 /bin/sh​: 2946 Abort(coredump) The program compiled OK\, but exited with status 134. You have a problem. Shall I abort Configure [y] Ok. Stopping Configure. ~/perl$git log -n 1 commit adc2cdfb25be1eb14544e149b2dfb199dcbbc06e Author​: Chris 'BinGOs' Williams \chris@&#8203;bingosnet\.co\.uk Date​: Sun Jan 4 19​:09​:11 2015 +0000

  Update Module-Metadata to CPAN version 1.000025

  [DELTA]

  1.000025 2015-01-04 18​:56​:00Z   - evaluate version assignment in a clean environment\, to fix assignment in   block (RT#101095) (END) ------------------------------------------------------------------------

Reverting that commit fixed Configure and I was able to build perl. ------------------------------------------------------------------------ ~/perl$git log -n 2 commit d7a0775ae1c79429e91c2d43e30e6a61605a85e5 Author​: Daniel Dragan \bulk88@&#8203;hotmail\.com Date​: Sun Jan 4 23​:11​:40 2015 +0100

  Revert "Add pthread to libswanted"

  This reverts commit 237050634b19905cdd9e8e25c2a43d0b24eb59f2.

commit adc2cdfb25be1eb14544e149b2dfb199dcbbc06e Author​: Chris 'BinGOs' Williams \chris@&#8203;bingosnet\.co\.uk Date​: Sun Jan 4 19​:09​:11 2015 +0000

  Update Module-Metadata to CPAN version 1.000025

  [DELTA]

  1.000025 2015-01-04 18​:56​:00Z   - evaluate version assignment in a clean environment\, to fix assignment in   block (RT#101095) (END) ---------------------------------------------------------------------

Perl Info ``` Flags: category=core severity=low Site configuration information for perl 5.21.8: Configured by bulk88 at Sun Jan 4 23:21:37 MET 2015. Summary of my perl5 (revision 5 version 21 subversion 8) configuration: Local Commit: d7a0775ae1c79429e91c2d43e30e6a61605a85e5 Ancestor: adc2cdfb25be1eb14544e149b2dfb199dcbbc06e Platform: osname=hpux, osvers=11.23, archname=PA-RISC2.0 uname='hp-ux p5p-hpux b.11.23 u 9000800 701987621 unlimited-user license ' config_args='-Dusedevel -des' hint=recommended, useposix=true, d_sigaction=define useithreads=undef, usemultiplicity=undef use64bitint=undef, use64bitall=undef, uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cc', ccflags =' -Ae -D_HPUX_SOURCE -Wl,+vnocompatwarnings -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 ', optimize='+O2 +Onolimit', cppflags='-Aa -D__STDC_EXT__ -D_HPUX_SOURCE -Ae -D_HPUX_SOURCE -Wl,+vnocompatwarnings -I/usr/local/include' ccversion='B.11.11.22', gccversion='', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321, doublekind=4 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16, longdblkind=2 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='/usr/bin/ld', ldflags =' -L/usr/local/lib' libpth=/usr/local/lib /lib /usr/lib /usr/ccs/lib libs=-lnsl -lnm -lndbm -ldb -lmalloc -lm -lcrypt -lsec -lc perllibs=-lnsl -lnm -lmalloc -lm -lcrypt -lsec -lc libc=/lib/libc.sl, so=sl, useshrplib=false, libperl=libperl.a gnulibc_version='' Dynamic Linking: dlsrc=dl_hpux.xs, dlext=sl, d_dlsymun=undef, ccdlflags='-Wl,-E -Wl,-B,deferred ' cccdlflags='+Z', lddlflags='-b +vnocompatwarnings -L/usr/local/lib' Locally applied patches: d7a0775ae1c79429e91c2d43e30e6a61605a85e5 @INC for perl 5.21.8: ../lib /opt/perl5/lib/site_perl/5.21.8/PA-RISC2.0 /opt/perl5/lib/site_perl/5.21.8 /opt/perl5/lib/5.21.8/PA-RISC2.0 /opt/perl5/lib/5.21.8 . Environment for perl 5.21.8: HOME=/perl/usr/bulk88 LANG (unset) LANGUAGE (unset) LD_LIBRARY_PATH (unset) LOGDIR (unset) PATH=/usr/bin:/opt/ansic/bin:/opt/aCC/bin:/usr/ccs/bin:/usr/local/bin:/usr/contrib/bin:/usr/contrib/Q4/bin:/opt/perl/bin:/opt/ipf/bin:/opt/hparray/bin:/opt/nettladm/bin:/opt/fcms/bin:/opt/wbem/bin:/opt/wbem/sbin:/usr/bin/X11:/opt/resmon/bin:/usr/contrib/kwdb/bin:/opt/graphics/common/bin:/usr/sbin/diag/contrib:/opt/sfm/bin:/opt/hpsmh/bin:/opt/upgrade/bin:/opt/sec_mgmt/bastille/bin:/opt/drd/bin:/opt/dsau/bin:/opt/dsau/sbin:/opt/gnome/bin:/opt/mozilla:/opt/sec_mgmt/spc/bin:/opt/ssh/bin:/opt/swa/bin:/opt/gwlm/bin:/pro/local/bin:/pro/bin:/opt/ignite/bin:/opt/langtools/bin:/opt/imake/bin:/opt/java1.4/jre/bin:/opt/spb/bin:/opt/cadvise/bin:/opt/perl_32/bin:/opt/perl_64/bin:/opt/sentinel/bin:/opt/perf/bin:/opt/hpnpl/bin:/usr/contrib/bin/X11 PERL_BADLANG (unset) SHELL=/pro/local/bin/bash ```
p5pRT commented 9 years ago

From @tux

On Sun\, 4 Jan 2015 14​:42​:52 -0800\, bulk88 (via RT) \perlbug\-followup@&#8203;perl\.org wrote​:

# New Ticket Created by bulk88 # Please include the string​: [perl #123543] # in the subject line of all future correspondence about this issue. # \<URL​: https://rt-archive.perl.org/perl5/Ticket/Display.html?id=123543 >

This is a bug report for perl from bulk88@​hotmail.com\, generated with the help of perlbug 1.40 running under perl 5.21.8.

----------------------------------------------------------------- [Please describe your issue here]

commit http​://perl5.git.perl.org/perl.git/commit/237050634b19905cdd9e8e25c2a43d0b24eb59f2 broke the HPUX build on Tux's box

Embarrassing :(

Can you try the patch below?

Checking for optional libraries... What libraries to use? [-lnsl -lnm -lndbm -ldb -lmalloc -lm -lcrypt -lsec -lc -lpthread]

I have customized Policy.SH's\, probably why my smokes still pass

  perllibs=-lcl -lpthread -lnsl -lnm -ldl -lm -lsec -lc   libs=-lcl -lpthread -lnsl -lnm -lndbm -lgdbm -ldb -ldl -lm -lsec -lc

Inline Patch ```diff diff --git a/Configure b/Configure index a8d8b5a..6601ddb 100755 --- a/Configure +++ b/Configure @@ -1450,8 +1450,8 @@ libswanted_uselargefiles='' : set usesocks on the Configure command line to enable socks. : List of libraries we want. : If anyone needs extra -lxxx, put those in a hint file. -libswanted="socket bind inet nsl nm ndbm gdbm dbm db malloc dl ld sun" -libswanted="$libswanted m crypt sec util c cposix posix pthread ucb bsd BSD" +libswanted="cl pthread socket bind inet nsl nm ndbm gdbm dbm db malloc dl ld" +libswanted="$libswanted sun m crypt sec util c cposix posix ucb bsd BSD" : We probably want to search /usr/shlib before most other libraries. : This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist. glibpth=`echo " $glibpth " | sed -e 's! /usr/shlib ! !'` -- ```

H.Merijn Brand http​://tux.nl Perl Monger http​://amsterdam.pm.org/ using perl5.00307 .. 5.21 porting perl5 on HP-UX\, AIX\, and openSUSE http​://mirrors.develooper.com/hpux/ http​://www.test-smoke.org/ http​://qa.perl.org http​://www.goldmark.org/jeff/stupid-disclaimers/

p5pRT commented 9 years ago

The RT System itself - Status changed from 'new' to 'open'

p5pRT commented 9 years ago

From @bulk88

On Sun Jan 04 23​:38​:14 2015\, hmbrand wrote​:

On Sun\, 4 Jan 2015 14​:42​:52 -0800\, bulk88 (via RT) \perlbug\-followup@&#8203;perl\.org wrote​:

# New Ticket Created by bulk88 # Please include the string​: [perl #123543] # in the subject line of all future correspondence about this issue. # \<URL​: https://rt-archive.perl.org/perl5/Ticket/Display.html?id=123543 >

This is a bug report for perl from bulk88@​hotmail.com\, generated with the help of perlbug 1.40 running under perl 5.21.8.

----------------------------------------------------------------- [Please describe your issue here]

commit http​://perl5.git.perl.org/perl.git/commit/237050634b19905cdd9e8e25c2a43d0b24eb59f2 broke the HPUX build on Tux's box

Embarrassing :(

Can you try the patch below?

Checking for optional libraries... What libraries to use? [-lnsl -lnm -lndbm -ldb -lmalloc -lm -lcrypt -lsec -lc -lpthread]

I have customized Policy.SH's\, probably why my smokes still pass

perllibs=-lcl -lpthread -lnsl -lnm -ldl -lm -lsec -lc libs=-lcl -lpthread -lnsl -lnm -lndbm -lgdbm -ldb -ldl -lm -lsec -lc

diff --git a/Configure b/Configure index a8d8b5a..6601ddb 100755 --- a/Configure +++ b/Configure @​@​ -1450\,8 +1450\,8 @​@​ libswanted_uselargefiles='' : set usesocks on the Configure command line to enable socks. : List of libraries we want. : If anyone needs extra -lxxx\, put those in a hint file. -libswanted="socket bind inet nsl nm ndbm gdbm dbm db malloc dl ld sun" -libswanted="$libswanted m crypt sec util c cposix posix pthread ucb bsd BSD" +libswanted="cl pthread socket bind inet nsl nm ndbm gdbm dbm db malloc dl ld" +libswanted="$libswanted sun m crypt sec util c cposix posix ucb bsd BSD" : We probably want to search /usr/shlib before most other libraries. : This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist. glibpth=`echo " $glibpth " | sed -e 's! /usr/shlib ! !'`

this ticket can be closed because of http​://perl5.git.perl.org/perl.git/commit/90207ba1bd77fb10e2c39594d954b43a9e8ee948

-- bulk88 ~ bulk88 at hotmail.com

p5pRT commented 9 years ago

From @tonycoz

On Sun Aug 02 22​:00​:01 2015\, bulk88 wrote​:

this ticket can be closed because of http​://perl5.git.perl.org/perl.git/commit/90207ba1bd77fb10e2c39594d954b43a9e8ee948

Thanks\, closed.

Tony

p5pRT commented 9 years ago

@tonycoz - Status changed from 'open' to 'resolved'