Perl / perl5

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

Problems building on Solaris 8 #8356

Closed p5pRT closed 12 years ago

p5pRT commented 18 years ago

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

Searchable as RT38664$

p5pRT commented 18 years ago

From joverly@head.cfa.harvard.edu

Hi -

Im trying to compile perk in 64 bit mode on Solaris 8 I've tried building 5.8.5 and 5.8.8 using both the Workshop 10 and Workshot 7 compilers and various combo of debug and optimization as well. I've seen similuar problems in the archives but I don't see the solution. Here is the error​:

/opt/SUNWspro_10/SUNWspro/bin/cc -xarch=v9 -o miniperl \   miniperlmain.o opmini.o libperl.a -lsocket -lnsl -ldl -lm -lc ./miniperl -w -Ilib -MExporter -e '\<?>' || make minitest Bus Error make​: Warning​: Both `makefile' and `Makefile' exist Current working directory /proj/DS.ots/src/perl-5.8.8.Sun64 make​: Warning​: Both `makefile' and `Makefile' exist Current working directory /proj/DS.ots/src/perl-5.8.8.Sun64 ./miniperl -Ilib configpm --heavy=lib/Config_heavy.pl lib/Config.pm *** Error code 138 make​: Fatal error​: Command failed for target `lib/Config.pod' Current working directory /proj/DS.ots/src/perl-5.8.8.Sun64 *** Error code 1 (ignored)

You may see some irrelevant test failures if you have been unable to build lib/Config.pm\, lib/lib.pm or the Unicode data files.

cd t && (rm -f perl; /usr/ucb/ln -s ../miniperl perl) \   && ./perl TEST -minitest base/*.t comp/*.t cmd/*.t run/*.t io/*.t op/*.t uni/*.t \</dev/tty Bus Error *** Error code 138 (ignored) *** Error code 1 (ignored) ./miniperl -Ilib configpm --heavy=lib/Config_heavy.pl lib/Config.pm *** Error code 138

Here is the result from myconfig​:

Summary of my perl5 (revision 5 version 8 subversion 8) configuration​:   Platform​:   osname=solaris\, osvers=2.8\, archname=sun4-solaris-64   uname='sunos ceili 5.8 generic_117350-23 sun4u sparc sunw\,ultra-250 '   config_args=''   hint=previous\, useposix=true\, d_sigaction=define   usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef   useperlio=define d_sfio=undef uselargefiles=define usesocks=undef   use64bitint=define use64bitall=define uselongdouble=undef   usemymalloc=n\, bincompat5005=undef   Compiler​:   cc='/opt/SUNWspro_10/SUNWspro/bin/cc'\, ccflags ='-I/usr/local/include -I/opt/local/include -xarch=v9 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'\,   optimize='-g'\,   cppflags='-I/usr/local/include -I/opt/local/include -I/usr/local/include -I/opt/local/include -xarch=v9 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/local/include -I/opt/local/include -xarch=v9 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/local/include -I/opt/local/include -xarch=v9 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/local/include -I/opt/local/include -xarch=v9 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/local/include -I/opt/local/include -xarch=v9 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'   ccversion='Sun C 5.7 2005/01/07'\, gccversion=''\, gccosandvers=''   intsize=4\, longsize=4\, ptrsize=8\, doublesize=8\, byteorder=87654321   d_longlong=define\, longlongsize=8\, d_longdbl=define\, longdblsize=16   ivtype='long long'\, ivsize=8\, nvtype='double'\, nvsize=8\, Off_t='off_t'\, lseeksize=8   alignbytes=8\, prototype=define   Linker and Libraries​:   ld='ld'\, ldflags =' -xarch=v9 '   libpth=/usr/lib/64 /opt/SUNWspro_10/SUNWspro/lib/v9 /lib/64   libs=-lsocket -lnsl -ldl -lm -lc   perllibs=-lsocket -lnsl -ldl -lm -lc   libc=/usr/lib/sparcv9/libc.so\, so=so\, useshrplib=false\, libperl=libperl.a   gnulibc_version=''   Dynamic Linking​:   dlsrc=dl_none.xs\, dlext=none\, d_dlsymun=undef\, ccdlflags=''   cccdlflags='-KPIC'\, lddlflags=''

Please help. Let me know if you need more information. Thanks in advance.

Jim Overly Harvard Smithsonian Center for Astrophysics

p5pRT commented 18 years ago

From @doughera88

On Thu\, 2 Mar 2006\, James Overly wrote​:

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

Im trying to compile perk in 64 bit mode on Solaris 8 I've tried building 5.8.5 and 5.8.8 using both the Workshop 10 and Workshot 7 compilers and various combo of debug and optimization as well. I've seen similuar problems in the archives but I don't see the solution. Here is the error​:

Sorry to take so long to get back to you on this. I'm not sure how it slipped through the cracks. Is this still an issue?

Unfortunately\, I only have WorkShop 4.2 to test with\, and it doesn't understand -xarch=v9\, so it can't build 64-bit perl either.

I did try building with gcc-4.1.0 and that seems to work ok (at least it gets further along in the build than you did here). For reasons I don't understand\, gcc-4.1.0 ends up setting long=64bit\, while your system ended up trying to use 'long long'.

Still\, it may be that building with gcc is sufficient for your purposes. (Also\, you may want to check README.solaris in the section on '64-bit perl on Solaris' just to confirm that you do indeed want to build perl as an LP64 application.)

If you'd like to help sort out this problem\, the only thing I can see offhand is that it's usually a good idea to specify major things (like threads or 64-bits) up front with a Configure command line option. Also\, if you're not using the default 'cc' found in your $PATH\, it's often a good idea to spell that out explicitly too

  sh Configure -Duse64bitall -Dcc=/opt/SUNWspro_10/SUNWspro/bin/cc

(though I fear those changes wouldn't have helped here).

Alas\, after that\, I fear it's time to fire up dbx and see where miniperl is crashing.

/opt/SUNWspro_10/SUNWspro/bin/cc -xarch=v9 -o miniperl \ miniperlmain.o opmini.o libperl.a -lsocket -lnsl -ldl -lm -lc ./miniperl -w -Ilib -MExporter -e '\<?>' || make minitest Bus Error make​: Warning​: Both `makefile' and `Makefile' exist Current working directory /proj/DS.ots/src/perl-5.8.8.Sun64 make​: Warning​: Both `makefile' and `Makefile' exist Current working directory /proj/DS.ots/src/perl-5.8.8.Sun64 ./miniperl -Ilib configpm --heavy=lib/Config_heavy.pl lib/Config.pm *** Error code 138

Here is the result from myconfig​:

Summary of my perl5 (revision 5 version 8 subversion 8) configuration​: Platform​: osname=solaris\, osvers=2.8\, archname=sun4-solaris-64 uname='sunos ceili 5.8 generic_117350-23 sun4u sparc sunw\,ultra-250 ' config_args='' hint=previous\, useposix=true\, d_sigaction=define usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=define use64bitall=define uselongdouble=undef usemymalloc=n\, bincompat5005=undef Compiler​: cc='/opt/SUNWspro_10/SUNWspro/bin/cc'\, ccflags ='-I/usr/local/include -I/opt/local/include -xarch=v9 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'\, optimize='-g'\, cppflags='-I/usr/local/include -I/opt/local/include -I/usr/local/include -I/opt/local/include -xarch=v9 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/local/include -I/opt/local/include -xarch=v9 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/local/include -I/opt/local/include -xarch=v9 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/local/include -I/opt/local/include -xarch=v9 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/local/include -I/opt/local/include -xarch=v9 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64' ccversion='Sun C 5.7 2005/01/07'\, gccversion=''\, gccosandvers='' intsize=4\, longsize=4\, ptrsize=8\, doublesize=8\, byteorder=87654321 d_longlong=define\, longlongsize=8\, d_longdbl=define\, longdblsize=16 ivtype='long long'\, ivsize=8\, nvtype='double'\, nvsize=8\, Off_t='off_t'\, lseeksize=8 alignbytes=8\, prototype=define Linker and Libraries​: ld='ld'\, ldflags =' -xarch=v9 ' libpth=/usr/lib/64 /opt/SUNWspro_10/SUNWspro/lib/v9 /lib/64 libs=-lsocket -lnsl -ldl -lm -lc perllibs=-lsocket -lnsl -ldl -lm -lc libc=/usr/lib/sparcv9/libc.so\, so=so\, useshrplib=false\, libperl=libperl.a gnulibc_version='' Dynamic Linking​: dlsrc=dl_none.xs\, dlext=none\, d_dlsymun=undef\, ccdlflags='' cccdlflags='-KPIC'\, lddlflags=''

Please help. Let me know if you need more information. Thanks in advance.

Jim Overly Harvard Smithsonian Center for Astrophysics

--   Andy Dougherty doughera@​lafayette.edu

p5pRT commented 18 years ago

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

p5pRT commented 18 years ago

From joverly@head.cfa.harvard.edu

Hi -

It's still an issue however I was able to get our 64 bit porting project put on the back burner while we handled some more pressing releases. Your timing is good as I need to get that started soon.

I'll give your suggestions a try and let you know the results. In the past we have given developers access to our systems to work out problems. It looks like other people ran into simular issues on Solaris but it wasn't clear what the solutions were. We'll see what happens and decide what the next step is.

Thanks again. Jim

On Thu\, 2 Mar 2006\, James Overly wrote​:

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

Im trying to compile perk in 64 bit mode on Solaris 8 I've tried building 5.8.5 and 5.8.8 using both the Workshop 10 and Workshot 7 compilers and various combo of debug and optimization as well. I've seen similuar problems in the archives but I don't see the solution. Here is the error​:

Sorry to take so long to get back to you on this. I'm not sure how it slipped through the cracks. Is this still an issue?

Unfortunately\, I only have WorkShop 4.2 to test with\, and it doesn't understand -xarch=v9\, so it can't build 64-bit perl either.

I did try building with gcc-4.1.0 and that seems to work ok (at least it gets further along in the build than you did here). For reasons I don't understand\, gcc-4.1.0 ends up setting long=64bit\, while your system ended up trying to use 'long long'.

Still\, it may be that building with gcc is sufficient for your purposes. (Also\, you may want to check README.solaris in the section on '64-bit perl on Solaris' just to confirm that you do indeed want to build perl as an LP64 application.)

If you'd like to help sort out this problem\, the only thing I can see offhand is that it's usually a good idea to specify major things (like threads or 64-bits) up front with a Configure command line option. Also\, if you're not using the default 'cc' found in your $PATH\, it's often a good idea to spell that out explicitly too

sh Configure \-Duse64bitall \-Dcc=/opt/SUNWspro\_10/SUNWspro/bin/cc

(though I fear those changes wouldn't have helped here).

Alas\, after that\, I fear it's time to fire up dbx and see where miniperl is crashing.

/opt/SUNWspro_10/SUNWspro/bin/cc -xarch=v9 -o miniperl \ miniperlmain.o opmini.o libperl.a -lsocket -lnsl -ldl -lm -lc ./miniperl -w -Ilib -MExporter -e '\<?>' || make minitest Bus Error make​: Warning​: Both `makefile' and `Makefile' exist Current working directory /proj/DS.ots/src/perl-5.8.8.Sun64 make​: Warning​: Both `makefile' and `Makefile' exist Current working directory /proj/DS.ots/src/perl-5.8.8.Sun64 ./miniperl -Ilib configpm --heavy=lib/Config_heavy.pl lib/Config.pm *** Error code 138

Here is the result from myconfig​:

Summary of my perl5 (revision 5 version 8 subversion 8) configuration​: Platform​: osname=solaris\, osvers=2.8\, archname=sun4-solaris-64 uname='sunos ceili 5.8 generic_117350-23 sun4u sparc sunw\,ultra-250 ' config_args='' hint=previous\, useposix=true\, d_sigaction=define usethreads=undef use5005threads=undef useithreads=undef usemultiplicity =undef useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=define use64bitall=define uselongdouble=undef usemymalloc=n\, bincompat5005=undef Compiler​: cc='/opt/SUNWspro_10/SUNWspro/bin/cc'\, ccflags ='-I/usr/local/include - I/opt/local/include -xarch=v9 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'\, optimize='-g'\, cppflags='-I/usr/local/include -I/opt/local/include -I/usr/local/includ e -I/opt/local/include -xarch=v9 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/ usr/local/include -I/opt/local/include -xarch=v9 -D_LARGEFILE_SOURCE -D_FILE_OF FSET_BITS=64 -I/usr/local/include -I/opt/local/include -xarch=v9 -D_LARGEFILE_S OURCE -D_FILE_OFFSET_BITS=64 -I/usr/local/include -I/opt/local/include -xarch=v 9 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/local/include -I/opt/local/ include -xarch=v9 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64' ccversion='Sun C 5.7 2005/01/07'\, gccversion=''\, gccosandvers='' intsize=4\, longsize=4\, ptrsize=8\, doublesize=8\, byteorder=87654321 d_longlong=define\, longlongsize=8\, d_longdbl=define\, longdblsize=16 ivtype='long long'\, ivsize=8\, nvtype='double'\, nvsize=8\, Off_t='off_t'\, lseeksize=8 alignbytes=8\, prototype=define Linker and Libraries​: ld='ld'\, ldflags =' -xarch=v9 ' libpth=/usr/lib/64 /opt/SUNWspro_10/SUNWspro/lib/v9 /lib/64 libs=-lsocket -lnsl -ldl -lm -lc perllibs=-lsocket -lnsl -ldl -lm -lc libc=/usr/lib/sparcv9/libc.so\, so=so\, useshrplib=false\, libperl=libperl .a gnulibc_version='' Dynamic Linking​: dlsrc=dl_none.xs\, dlext=none\, d_dlsymun=undef\, ccdlflags='' cccdlflags='-KPIC'\, lddlflags=''

Please help. Let me know if you need more information. Thanks in advance.

Jim Overly Harvard Smithsonian Center for Astrophysics

-- Andy Dougherty doughera@​lafayette.edu

p5pRT commented 17 years ago

@smpeters - Status changed from 'open' to 'stalled'

p5pRT commented 12 years ago

From @doy

Was this issue ever resolved? Does it still persist in newer versions of perl? If we don't hear anything more\, I think this ticket can be closed.

p5pRT commented 12 years ago

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

p5pRT commented 12 years ago

From @doughera88

On Sun\, 24 Jun 2012\, Jesse Luehrs via RT wrote​:

Was this issue ever resolved? Does it still persist in newer versions of perl? If we don't hear anything more\, I think this ticket can be closed.

I don't recall hearing anything further. Perl does build on Solaris 8 32-bit sparcv8\, and on Solaris 10 and 11 on 64-bit amd_x64; but I don't know about the sparcv9 that was relevant here\, and don't have an easy way to test it.

Go ahead and close it.

--   Andy Dougherty doughera@​lafayette.edu

p5pRT commented 12 years ago

From joverly@cfa.harvard.edu

I'm not sure if I remember what this issue was. We have long since moved to Solaris 10. Also the newer versions of perl build quite easily.

Jim

On Sun\, 2012-06-24 at 16​:35 -0700\, Jesse Luehrs via RT wrote​:

Was this issue ever resolved? Does it still persist in newer versions of perl? If we don't hear anything more\, I think this ticket can be closed.

p5pRT commented 12 years ago

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