Re: Make problem Building 64 bit Perl 5.8.8 from source on Solaris 10 with gcc 3.4.6
On Fri, Mar 21, 2008 at 10:21 AM, Vachon, Frederick P (Fred) A5IT < [EMAIL PROTECTED]> wrote: > Thanks for getting back. I'm kinda new at this. I found that I needed > to add the rt library to libs variable -lrt. So I did that and rebuild. So > I'm almost there. I get 2 errors on the make test. Do you need to have > 100% on make test to install? Some notes say (probably harmless) ? > If the stuff you need is working, I'd probably go with the install despite the failures. However, if something subsequently goes wrong - especially with something like getppid() - then you need to remember that there were some test failures. For my build, there were 4 failures related to NDBM. I'm not worried because I don't normally use that. Failed Test Stat Wstat Total Fail Failed List of Failed > > > --- > > ../lib/ExtUtils/t/Embed.t 9 9 100.00% 1-9 > > op/getppid.t 3 1 33.33% 3 > > 79 tests and 198 subtests skipped. > > Failed 2/988 test scripts, 99.80% okay. 10/116518 subtests failed, 99.99%okay. > > > --- > > HERE IS MORE DETAIL > > ./perl op/getppid.t > > 1..3 > > ok 1 # ppid1=19577 > > ok 2 # ppid2=20926, ppid1!=ppid2 > > not ok 3 # ppid2=1 > > > -- > > ./perl -I../lib ../lib/ExtUtils/t/Embed.t > > 1..9 > > Note (probably harmless): No library found for -lsocket > > Note (probably harmless): No library found for -lnsl > > Note (probably harmless): No library found for -ldl > > Note (probably harmless): No library found for -lm > > Note (probably harmless): No library found for -lc > > Note (probably harmless): No library found for -lrt > > # gcc -m64 -o embed_test -I.. -mcpu=v9 -m64 -Wa,-xarch=v9 > -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/in > > Undefined first referenced > > symbol in file > > cos ../libperl.a(pp.o) > > exp ../libperl.a(pp.o) > > log ../libperl.a(pp.o) > > pow ../libperl.a(pp.o) > > sin ../libperl.a(pp.o) > > ceil ../libperl.a(pp.o) > > fmod ../libperl.a(pp.o) > > sqrt ../libperl.a(pp.o) > > atan2 ../libperl.a(pp.o) > > floor ../libperl.a(pp.o) > > ld: fatal: Symbol referencing errors. No output written to embed_test > > collect2: ld returned 1 exit status > > not ok 1 > > # embed_test = ./embed_test > > not ok 9 # system returned -1 > > > [...megasnip...] -- Jonathan Leffler <[EMAIL PROTECTED]> #include Guardian of DBD::Informix - v2008.0229 - http://dbi.perl.org "Blessed are we who can laugh at ourselves, for we shall never cease to be amused."
Re: Make problem Building 64 bit Perl 5.8.8 from source on Solaris 10 with gcc 3.4.6
On Fri, Mar 21, 2008 at 6:41 AM, Vachon, Frederick P (Fred) A5IT < [EMAIL PROTECTED]> wrote: > Sorry but the information I gave about the make test problem was > incorrect. The symbol that it is looking for is nanosleep not nanod. I > can't find nanod on my system at all - or in the source for Time::HiRes. > That's odd. Not surprising that it failed to find nanod - but odd that it > thought it should. > So I'm still trying to find a way to fix this and get Perl installed. > > ld.so.1: perl: fatal: relocation error: file > ../lib/auto/Time/HiRes/HiRes.so: symbol nanosleep: referenced symbol not > found > Ah - nanosleep is definitely around normally - in either or both of libposix4.so or librt.so. I've not checked for other places, but the hints file in ext/Time/HiRes/hints/solaris_2.sh clearly identifies these libraries and 'nm -g /usr/lib/librt.so /usr/lib/libposix4.so | grep nanosleep | grep -v UNDEF' shows them present. If you've got neither of those libaries on the machine, get them installed. You could try rebuilding Time::HiRes manually in the source tree (the code is in ext/Time/HiRes under the perl-5.8.8 directory). The tricky bit is getting your new Perl to do it. This seemed to work for me y'day: ../../../perl -I../../../lib Makefile.PL > Killed > > -Original Message- > *From:* Jonathan Leffler [mailto:[EMAIL PROTECTED] > *Sent:* Thursday, March 20, 2008 9:54 PM > *To:* Vachon, Frederick P (Fred) A5IT > *Cc:* DBI Users Mailing List > *Subject:* Re: Make problem Building 64 bit Perl 5.8.8 from source on > Solaris 10 with gcc 3.4.6 > > Here's another 'perl -V' - 5.8.8 on Solaris 10 with GCC 3.4.6 - justifying > my other email saying that an update to GCC was not crucial. > > Summary of my perl5 (revision 5 version 8 subversion 8) configuration: > Platform: > osname=solaris, osvers=2.10, archname=sun4-solaris-64 > uname='sunos black 5.10 generic_120011-14 sun4u sparc sunw,ultra-4 > solaris ' > config_args='' > 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=define use64bitall=define uselongdouble=undef > usemymalloc=n, bincompat5005=undef > Compiler: > cc='/usr/gcc/v3.4.6/bin/gcc -m64 -mcpu=v9', ccflags > ='-fno-strict-aliasing -pipe -Wdeclaration-a > fter-statement -mcpu=v9 -m64 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 > -DPERL_USE_SAFE_PUTENV -DPERL_USE_SAFE_PUTENV -DPERL_USE_SAFE_PUTENV > -DPERL_USE_SAFE_PUTENV -DPERL_USE_SAFE_PUTENV -DPERL_USE_SAFE_PUTENV > -DPERL_USE_SAFE_PUTENV', > optimize='-O', > cppflags='-fno-strict-aliasing -pipe -Wdeclaration-after-statement' > ccversion='', gccversion='3.4.6', gccosandvers='solaris2.10' > intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=87654321 > 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='/usr/gcc/v3.4.6/bin/gcc -m64 -mcpu=v9', ldflags =' -m64 ' > libpth=/usr/lib /usr/ccs/lib > 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_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' ' > cccdlflags='-fPIC', lddlflags=' -G -m64' > > > Characteristics of this binary (from libperl): > Compile-time options: PERL_MALLOC_WRAP PERL_USE_SAFE_PUTENV > USE_64_BIT_ALL USE_64_BIT_INT USE_LARGE_FILES > USE_PERLIO > Built under solaris > Compiled at Mar 20 2008 11:38:45 > @INC: > lib > /usr/perl/v5.8.8-gcc-3.4.6/lib/5.8.8/sun4-solaris-64 > /usr/perl/v5.8.8-gcc-3.4.6/lib/5.8.8 > /usr/perl/v5.8.8-gcc-3.4.6/lib/site_perl/5.8.8/sun4-solaris-64 > /usr/perl/v5.8.8-gcc-3.4.6/lib/site_perl/5.8.8 > /usr/perl/v5.8.8-gcc-3.4.6/lib/site_perl > . > > On Thu, Mar 20, 2008 at 12:31 PM, Vachon, Frederick P (Fred) A5IT < > [EMAIL PROTECTED]> wrote: > > > Thank you very much for your help! Having the output from a successful > > build I was able to see what was wrong or missing in my config.sh file. > > I needed to include the sparcv9 64 bit directories - mainly > > /usr/lib/sparcv9 and /usr/ccs/lib/sparcv9 to config.sh. The defaults > > from Configure don't work. > > > > > I always do a manual configure - though I usually spend a lot of time just > accepting the defaults. > > Tip: if you plan to have Perl installed in /usr/perl/v5.x.y, create both > /usr/perl/v5.x.y and /usr/perl/v5.x.y/bin -- it saves having Perl ask you > "are you sure" questions. > > The Perl configured above failed 4 tests, all related to NDBM. That > doesn't surprise me or worry me. > > > > > > > I was able to get t
RE: Make problem Building 64 bit Perl 5.8.8 from source on Solaris 10 with gcc 3.4.6
Sorry but the information I gave about the make test problem was incorrect. The symbol that it is looking for is nanosleep not nanod. I can't find nanod on my system at all - or in the source for Time::HiRes. That's odd. Not surprising that it failed to find nanod - but odd that it thought it should. So I'm still trying to find a way to fix this and get Perl installed. ld.so.1: perl: fatal: relocation error: file ../lib/auto/Time/HiRes/HiRes.so: symbol nanosleep: referenced symbol not found Killed -Original Message- From: Jonathan Leffler [mailto:[EMAIL PROTECTED] Sent: Thursday, March 20, 2008 9:54 PM To: Vachon, Frederick P (Fred) A5IT Cc: DBI Users Mailing List Subject: Re: Make problem Building 64 bit Perl 5.8.8 from source on Solaris 10 with gcc 3.4.6 Here's another 'perl -V' - 5.8.8 on Solaris 10 with GCC 3.4.6 - justifying my other email saying that an update to GCC was not crucial. Summary of my perl5 (revision 5 version 8 subversion 8) configuration: Platform: osname=solaris, osvers=2.10, archname=sun4-solaris-64 uname='sunos black 5.10 generic_120011-14 sun4u sparc sunw,ultra-4 solaris ' config_args='' 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=define use64bitall=define uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='/usr/gcc/v3.4.6/bin/gcc -m64 -mcpu=v9', ccflags ='-fno-strict-aliasing -pipe -Wdeclaration-a fter-statement -mcpu=v9 -m64 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DPERL_USE_SAFE_PUTENV -DPERL_USE_SAFE_PUTENV -DPERL_USE_SAFE_PUTENV -DPERL_USE_SAFE_PUTENV -DPERL_USE_SAFE_PUTENV -DPERL_USE_SAFE_PUTENV -DPERL_USE_SAFE_PUTENV', optimize='-O', cppflags='-fno-strict-aliasing -pipe -Wdeclaration-after-statement' ccversion='', gccversion='3.4.6', gccosandvers='solaris2.10' intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=87654321 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='/usr/gcc/v3.4.6/bin/gcc -m64 -mcpu=v9', ldflags =' -m64 ' libpth=/usr/lib /usr/ccs/lib 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_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' ' cccdlflags='-fPIC', lddlflags=' -G -m64' Characteristics of this binary (from libperl): Compile-time options: PERL_MALLOC_WRAP PERL_USE_SAFE_PUTENV USE_64_BIT_ALL USE_64_BIT_INT USE_LARGE_FILES USE_PERLIO Built under solaris Compiled at Mar 20 2008 11:38:45 @INC: lib /usr/perl/v5.8.8-gcc-3.4.6/lib/5.8.8/sun4-solaris-64 /usr/perl/v5.8.8-gcc-3.4.6/lib/5.8.8 /usr/perl/v5.8.8-gcc-3.4.6/lib/site_perl/5.8.8/sun4-solaris-64 /usr/perl/v5.8.8-gcc-3.4.6/lib/site_perl/5.8.8 /usr/perl/v5.8.8-gcc-3.4.6/lib/site_perl . On Thu, Mar 20, 2008 at 12:31 PM, Vachon, Frederick P (Fred) A5IT <[EMAIL PROTECTED]> wrote: Thank you very much for your help! Having the output from a successful build I was able to see what was wrong or missing in my config.sh file. I needed to include the sparcv9 64 bit directories - mainly /usr/lib/sparcv9 and /usr/ccs/lib/sparcv9 to config.sh. The defaults from Configure don't work. I always do a manual configure - though I usually spend a lot of time just accepting the defaults. Tip: if you plan to have Perl installed in /usr/perl/v5.x.y, create both /usr/perl/v5.x.y and /usr/perl/v5.x.y/bin -- it saves having Perl ask you "are you sure" questions. The Perl configured above failed 4 tests, all related to NDBM. That doesn't surprise me or worry me. I was able to get through the make but ran into a problem with make test that I'm trying to figure out. Thanks again. ext/Time/HiRes/t/HiResld.so.1: perl: fatal: relocation error: file ../lib/auto/Time/HiRes/HiRes.so: symbol nanod