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."

Reply via email to