Re: Make problem Building 64 bit Perl 5.8.8 from source on Solaris 10 with gcc 3.4.6

2008-03-21 Thread Jonathan Leffler
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

2008-03-21 Thread Jonathan Leffler
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

2008-03-21 Thread Vachon, Frederick P (Fred) A5IT
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