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 through the make but ran into a problem with make test
> > that I'm trying to figure out.  Thanks again.
> >
> > ext/Time/HiRes/t/HiRes....................ld.so.1: perl: fatal:
> > relocation error: file ../lib/auto/Time/HiRes/HiRes.so: symbol 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.
>
> ../ext/Time/HiRes/t/HiRes.t: overall time allowed for tests (60s)
> > exceeded!
> > Use of uninitialized value in subtraction (-) at
> > ../ext/Time/HiRes/t/HiRes.t line 592.
> > Terminated
> > make[2]: *** [_test_tty] Error 143
> > Terminated
> > make[1]: *** [_test] Error 143
> > Terminated
> > make: *** [test] Error 143
> > Terminated
> >
>
>
> I generated this information from the uninstalled Perl, using the command
> shown:
>
> Black JL: ./perl -Ilib -MConfig -e 'foreach my $key (sort keys %Config)
>           > { print "$key=$Config{$key}\n"; }' | egrep -i 'time|nano'
> asctime_r_proto=0
> cf_time=Thu Mar 20 11:33:46 PDT 2008
> ctime_r_proto=0
> d_asctime_r=
> d_ctime_r=
> d_difftime=define
> d_ftime=
> d_futimes=
> d_getitimer=define
> d_gettimeod=define
> d_gmtime_r=
> d_localtime_r=
> d_mktime=define
> d_setitimer=define
> d_strftime=define
> d_time=define
> d_times=define
> dynamic_ext=B ByteLoader Cwd Data/Dumper Devel/DProf Devel/PPPort
> Devel/Peek Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call I18N/Langinfo
> IO IPC/SysV List/Util MIME/Base64 NDBM_File ODBM_File Opcode POSIX
> PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable
> Sys/Hostname Sys/Syslog
> Time/HiRes Unicode/Normalize XS/APItest XS/Typemap attrs re threads
> threads/shared
> extensions=B ByteLoader Cwd Data/Dumper Devel/DProf Devel/PPPort
> Devel/Peek Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call I18N/Langinfo
> IO IPC/SysV List/Util MIME/Base64 NDBM_File ODBM_File Opcode POSIX
> PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable
> Sys/Hostname Sys/Syslog Time/HiRes Unicode/Normalize XS/APItest XS/Typemap
> attrs re threads threads/shared Errno
> gmtime_r_proto=0
> i_systime=define
> i_systimek=
> i_systimes=define
> i_time=
> i_utime=define
> known_extensions=B ByteLoader Cwd DB_File Data/Dumper Devel/DProf
> Devel/PPPort Devel/Peek Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call
> GDBM_File I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 NDBM_File
> ODBM_File Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File
> Socket Storable Sys/Hostname Sys/Syslog Thread Time/HiRes Unicode/Normalize
> XS/APItest XS/Typemap attrs re threads threads/shared
> localtime_r_proto=0
> timeincl=/usr/include/sys/time.h
> timetype=time_t
> Black JL:
>
> If you get anything significantly different, it might be informative and
> relevant.  OTOH, it may not help in the slightest.
>
>
> > -----Original Message-----
> > From: Jonathan Leffler [mailto:[EMAIL PROTECTED]
> > Sent: Thursday, March 20, 2008 1:21 PM
> > To: DBI Users Mailing List
> > Subject: Fwd: Make problem Building 64 bit Perl 5.8.8 from source on
> > Solaris 10 with gcc 3.4.6
> >
> >
> > Darn the mailing list!
> >
> > ---------- Forwarded message ----------
> > From: Jonathan Leffler <[EMAIL PROTECTED]>
> > Date: Thu, Mar 20, 2008 at 10:20 AM
> > Subject: Re: Make problem Building 64 bit Perl 5.8.8 from source on
> > Solaris 10 with gcc 3.4.6
> > To: "Vachon, Frederick P (Fred) A5IT" <[EMAIL PROTECTED]>
> >
> >
> >
> >
> > On Thu, Mar 20, 2008 at 10:03 AM, Fred Vachon, Frederick P (Fred) A5IT <
> > [EMAIL PROTECTED]> wrote:
> >
> > > I'm new to this list.  I looked over the various Perl mailing lists
> > > and decided on this one although my problem isn't directly related to
> > > DBI. But the reason I'm trying to compile Perl from source as 64 bit
> > > is to use the DBI module and DBD:Oracle (and if I ever can get Perl to
> >
> > > Build I'll probably need help with the DBI!). I am trying to build a
> > > 64 bit Perl from source on my home directory (as non root) on Solaris
> > > 10. I downloaded the most current stable version of Perl 5.8.8 from
> > > CPAN. I'm using the Solaris gcc compiler in /usr/local/bin/gcc which
> > > is version 3.4.6. I get through the Configure step OK but fail when
> > > trying to run make. The tail of the output is listed below. I have
> > > searched the internet for others with this problem but have not been
> > > able to find a solution. I have read the README file for Solaris, the
> > > INSTALL notes and have looked through the hints script. I am not a
> > > sysadmin so my options are limited - I cannot install a different gcc
> > > compiler or make any changes to the system directories. My objective
> > > is to have my own version of Perl so I can add the DBI and DBD::ORACLE
> >
> > > modules. I am running Configure this way. I am taking all the defaults
> >
> > > except I remove directory /usr/lib as mentioned in the Solaris README
> > > notes. sh ./Configure -Dprefix=/home/fred/perl_5.8.8 -Dcc=gcc
> > > -Duse64bitall -Aldflags="-mcpu=v9 -m64" -Alddlflags="-mcpu=v9 -m64 -G"
> > > This is my LD_LIBRARY_PATH and PATH
> > > LD_LIBRARY_PATH
> > >
> > /usr/local/lib:/usr/ccs/lib:/usr/sfw/lib:/usr/dt/lib:/usr/openwin/lib:/u
> > > sr/share/lib:$ORACLE_HOME/lib32
> > > PATH
> > >
> > /bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/ccs/bin:/usr/sfw/bin:/usr/op
> > > enwin/bin:/etc:$ORACLE_HOME/bin:/usr/ucb
> > > This is the error from make:
> > > CCCMD = gcc -DPERL_CORE -c -mcpu=v9 -m64 -Wa,-xarch=v9
> > > -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/ll
> > > gcc -m64 -mcpu=v9 -m64 -L/usr/local/lib -o miniperl \
> > > miniperlmain.o opmini.o libperl.a
> > > 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 miniperl
> > > collect2: ld returned 1 exit status
> > > make: *** [miniperl] Error 1
> >
> >
> >
> > Those are maths library functions - the link line needs to include -lm.
> >
> > I'm not clear why it doesn't - I never had this problem on my Solaris
> > boxes.
> >
> > You might need to replace /usr/lib with /usr/lib/sparcv9.
> >
> > Here's the 'perl -V' output from a successful  64-bit Perl (with
> > threading and multiplicity) built on Solaris 8 with GCC  4.0.2 back in
> > 2006:
> >
> > Summary of my perl5 (revision 5 version 8 subversion 8) configuration:
> >  Platform:
> >    osname=solaris, osvers=2.8, archname=sun4-solaris-thread-multi-64
> >    uname='sunos anubis 5.8 generic_117350-16 sun4u sparc
> > sunw,ultra-5_10 solaris '
> >    config_args='-Duse64bitall -Duseithreads -Dusethreads
> > -Dusemultiplicity -Dcc=gcc -m64'
> >    hint=recommended, useposix=true, d_sigaction=define
> >    usethreads=define use5005threads=undef useithreads=define
> > usemultiplicity=define
> >    useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
> >    use64bitint=define use64bitall=define uselongdouble=undef
> >    usemymalloc=n, bincompat5005=undef
> >  Compiler:
> >    cc='gcc -m64', ccflags ='-D_REENTRANT -mcpu=v9 -m64 -Wa,-xarch=v9
> > -fno-strict-aliasing -pipe -Wd eclaration-after-statement
> > -I/usr/gnu64/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
> >    optimize='-O',
> >    cppflags='-D_REENTRANT -mcpu=v9 -m64 -Wa,-xarch=v9
> > -fno-strict-aliasing -pipe -Wdeclaration-afte r-statement
> > -I/usr/gnu64/include'
> >    ccversion='', gccversion='4.0.2', gccosandvers=''
> >    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='gcc -m64', ldflags ='-m64 -L/usr/lib/sparcv9 -L/usr/gnu64/lib
> > -L/usr/ccs/lib/sparcv9 '
> >    libpth=/usr/lib/sparcv9 /usr/gnu64/lib /usr/ccs/lib/sparcv9
> >    libs=-lsocket -lnsl -lgdbm -ldb -ldl -lm -lpthread -lc
> >    perllibs=-lsocket -lnsl -ldl -lm -lpthread -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 -L/usr/lib/sparcv9
> > -L/usr/gnu64/lib -L/usr/ccs/lib/sparc v9'
> >
> >
> > Characteristics of this binary (from libperl):
> >  Compile-time options: MULTIPLICITY PERL_IMPLICIT_CONTEXT
> >                        PERL_MALLOC_WRAP USE_64_BIT_ALL USE_64_BIT_INT
> >                        USE_ITHREADS USE_LARGE_FILES USE_PERLIO
> >                        USE_REENTRANT_API
> >  Built under solaris
> >  Compiled at Feb 13 2006 12:40:40
> >  @INC:
> >
> > /usr/perl/v5.8.8-64bit-thread-multi/lib/5.8.8/sun4-solaris-thread-multi-
> > 64
> >    /usr/perl/v5.8.8-64bit-thread-multi/lib/5.8.8
> >
> > /usr/perl/v5.8.8-64bit-thread-multi/lib/site_perl/5.8.8/sun4-solaris-thr
> > ead-multi-64
> >    /usr/perl/v5.8.8-64bit-thread-multi/lib/site_perl/5.8.8
> >    /usr/perl/v5.8.8-64bit-thread-multi/lib/site_perl
> >
> > This isn't a recommendation to use threaded Perl or a Perl with
> > multiplicity
> > - this is just the flavour I needed and therefore have compiled up ready
> > to
> > send you the output.    .
> >
> > You could install your own GCC compiler - just put it in ~/gcc instead
> > of /usr/local/bin.  However, the problem is not related to GCC versions
> > - it is about library path setups.
> >
> > Some description of the oddities in my setup.  When compiling 64-bit, I
> > specify the basic 64-bit compiler option in the CC command name: "gcc
> > -m64".  I have to exclude /usr/local -- it is an automounted read-only
> > file system containing archaic garbage (like Perl 5.4.4) and I don't
> > trust anything in it.  I have /usr/gnu or /usr/gnu64 as the local 32-bit
> > and
> > 64-bit equivalents of /usr/local.   I install my versions of Perl into
> > /usr/perl (which is actually a symlink somewhere else, but the name
> > given to the compilation system is /usr/perl/v5.8.xxxx etc.  I have 8
> > variants of Perl installed, from 5.5.3 (don't really need that any more)
> > through 5.10.0.
> >
> >
> >
> > > These are some of the things I have tried so far to fix this: 1. From
> > > the INSTALL notes I found reference to the Missing Undefined Symbols
> > > problem. So I did a make distclean and started over. When config
> > > offered an opportunity to edit config.sh I went in and saw that libs
> > > variable was empty. I changed it to be libs='-lsocket -lnsl -ldl -lm
> > > -lc'. That didn't work - same make error. 2. So I tried another
> > > suggestion from the INSTALL notes and tried not using nm extraction
> > > with the -Uusenm option for configure. I started over again with
> > > distclean but that didn't work either. 3. So I'm really stuck - I've
> > > tried many other things - mainly playing around with directory paths
> > > when prompted running Configure, in config.sh, and in PATH and
> > > LD_LIBRARY_PATH - adding the sparv9 directories... anything I could
> > > think of - but no luck. Any help would be greatly appreciated. I have
> > > been struggling with this problem for several days and cannot get past
> >
> > > the make problem. Somehow it's not finding the math library - or it's
> > > getting confused between 32bit and 64bit libraries - but I don't know
> > > how to fix it. Cheers! Fred
> > >
> >
> >
> >
> > --
> > Jonathan Leffler <[EMAIL PROTECTED]> #include <disclaimer.h>
> > 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."
> >
> >
> >
> > --
> > Jonathan Leffler <[EMAIL PROTECTED]> #include <disclaimer.h>
> > 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."
> >
> >
> > ------------------------------------------------------------------------------
> > CONFIDENTIALITY NOTICE: If you have received this email in error, please
> > immediately notify the sender by e-mail at the address shown.  This email
> > transmission may contain confidential information.  This information is
> > intended only for the use of the individual(s) or entity to whom it is
> > intended even if addressed incorrectly.  Please delete it from your files if
> > you are not the intended recipient.  Thank you for your compliance.
> >  Copyright 2008 CIGNA
> >
> > ==============================================================================
> >
> >
>
>
> --
> Jonathan Leffler <[EMAIL PROTECTED]>  #include <disclaimer.h>
> 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."
>
>
> ------------------------------------------------------------------------------
> CONFIDENTIALITY NOTICE: If you have received this email in error, please
> immediately notify the sender by e-mail at the address shown. This email
> transmission may contain confidential information. This information is
> intended only for the use of the individual(s) or entity to whom it is
> intended even if addressed incorrectly. Please delete it from your files if
> you are not the intended recipient. Thank you for your compliance. Copyright
> 2008 CIGNA
>
> ==============================================================================
>



-- 
Jonathan Leffler <[EMAIL PROTECTED]> #include <disclaimer.h>
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."

Reply via email to