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/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
==============================================================================

Reply via email to