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

[email protected] ("Vachon, Frederick P (Fred) A5IT") Thu, 20 Mar 2008 11:02:52 -0400
Newsgroups perl.64bit
Message-ID <245942CFEA09A845BA48256414B385B602AB7756@risemb002.internal.cigna.com>
------_=_NextPart_001_01C88A9B.7855CB1F
Content-Type: text/plain;
 charset=us-ascii
Content-Transfer-Encoding: quoted-printable

Hi,

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
=66or 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=3D/home/fred/perl_5.8.8 -Dcc=3Dgcc -Duse64bitall
-Aldflags=3D"-mcpu=3Dv9 -m64" -Alddlflags=3D"-mcpu=3Dv9 -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 =3D  gcc -DPERL_CORE -c -mcpu=3Dv9 -m64 -Wa,-xarch=3Dv9
-fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/ll
gcc -m64 -mcpu=3Dv9 -m64 -L/usr/local/lib  -o miniperl \
            miniperlmain.o opmini.o libperl.a=20
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)
=66mod                                libperl.a(pp.o)
sqrt                                libperl.a(pp.o)
atan2                               libperl.a(pp.o)
=66loor                               libperl.a(pp.o)
ld: fatal: Symbol referencing errors. No output written to miniperl
collect2: ld returned 1 exit status
make: *** [miniperl] Error 1

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=3D'-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 - [email protected]


=20


------------------------------------------------------------------------------
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.  Copyrigh=
t=
 2008 CIGNA
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D

------_=_NextPart_001_01C88A9B.7855CB1F
Content-Type: text/html;
 charset=us-ascii
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; charset=3Dus-ascii">
<META NAME=3D"Generator" CONTENT=3D"MS Exchange Server version 6.0.6619.12">
<TITLE>Make problem Building 64 bit Perl 5.8.8 from source on Solaris 10 with=
 =
gcc 3.4.6</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->

<P><FONT SIZE=3D2 FACE=3D"Arial">Hi,</FONT>
</P>

<P><FONT SIZE=3D2 FACE=3D"Arial">I am trying to build a 64 bit Perl from =
source on my home directory (as non root) on Solaris 10.&nbsp; I downloaded =
the most current stable version of Perl 5.8.8 from CPAN.&nbsp; I'm using the =
Solaris gcc compiler in /usr/local/bin/gcc which is version 3.4.6.&nbsp; I ge=
t=
 through the Configure step OK but fail when trying to run make.&nbsp; The =
tail of the output is listed below.&nbsp; I have searched the internet for =
others with this problem but have not been able to find a solution.&nbsp; I =
have read the README file for Solaris, the INSTALL notes and have looked =
through the hints script.&nbsp; 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.&nbsp; My objective is to have my own version of Perl so I can ad=
d=
 the DBI and DBD::ORACLE modules.</FONT></P>

<P><FONT SIZE=3D2 FACE=3D"Arial">I am running Configure this way.&nbsp; I am =
taking all the defaults except I remove directory /usr/lib as mentioned in th=
e=
 Solaris README notes.</FONT></P>

<P><FONT SIZE=3D2 FACE=3D"Arial">sh ./Configure =
-Dprefix=3D/home/fred/perl_5.8.8 -Dcc=3Dgcc -Duse64bitall =
-Aldflags=3D&quot;-mcpu=3Dv9 -m64&quot; -Alddlflags=3D&quot;-mcpu=3Dv9 -m64 =
-G&quot;</FONT></P>

<P><FONT SIZE=3D2 FACE=3D"Arial">This is my LD_LIBRARY_PATH and PATH</FONT>

<BR><FONT SIZE=3D2 FACE=3D"r_ansi">LD_LIBRARY_PATH =
/usr/local/lib:/usr/ccs/lib:/usr/sfw/lib:/usr/dt/lib:/usr/openwin/lib:/usr/sh=
are/lib:$ORACLE_HOME/lib32</FONT>

<BR><FONT SIZE=3D2 FACE=3D"r_ansi">PATH =
/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/ccs/bin:/usr/sfw/bin:/usr/openwin=
/bin:/etc:$ORACLE_HOME/bin:/usr/ucb</FONT>
</P>

<P><FONT SIZE=3D2 FACE=3D"Arial">This is the error from make:</FONT>

<BR><FONT SIZE=3D2 FACE=3D"r_ansi">CCCMD =3D&nbsp; gcc -DPERL_CORE -c =
-mcpu=3Dv9 -m64 -Wa,-xarch=3Dv9 -fno-strict-aliasing -pipe =
-Wdeclaration-after-statement -I/usr/ll</FONT></P>

<P><FONT SIZE=3D2 FACE=3D"r_ansi">gcc -m64 -mcpu=3Dv9 -m64 =
-L/usr/local/lib&nbsp; -o miniperl \</FONT>

<BR><FONT SIZE=3D2 =
=46ACE=3D"r_ansi">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;=
 miniperlmain.o opmini.o libperl.a </FONT>

<BR><FONT SIZE=3D2 =
=46ACE=3D"r_ansi">Undefined&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;=
 first referenced</FONT>

<BR><FONT SIZE=3D2 =
=46ACE=3D"r_ansi">&nbsp;symbol&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
 in file</FONT>

<BR><FONT SIZE=3D2 =
=46ACE=3D"r_ansi">cos&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
 libperl.a(pp.o)</FONT>

<BR><FONT SIZE=3D2 =
=46ACE=3D"r_ansi">exp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
 libperl.a(pp.o)</FONT>

<BR><FONT SIZE=3D2 =
=46ACE=3D"r_ansi">log&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
 libperl.a(pp.o)</FONT>

<BR><FONT SIZE=3D2 =
=46ACE=3D"r_ansi">pow&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
 libperl.a(pp.o)</FONT>

<BR><FONT SIZE=3D2 =
=46ACE=3D"r_ansi">sin&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
 libperl.a(pp.o)</FONT>

<BR><FONT SIZE=3D2 =
=46ACE=3D"r_ansi">ceil&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
 libperl.a(pp.o)</FONT>

<BR><FONT SIZE=3D2 =
=46ACE=3D"r_ansi">fmod&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
 libperl.a(pp.o)</FONT>

<BR><FONT SIZE=3D2 =
=46ACE=3D"r_ansi">sqrt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
 libperl.a(pp.o)</FONT>

<BR><FONT SIZE=3D2 =
=46ACE=3D"r_ansi">atan2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
 libperl.a(pp.o)</FONT>

<BR><FONT SIZE=3D2 =
=46ACE=3D"r_ansi">floor&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
 libperl.a(pp.o)</FONT>

<BR><FONT SIZE=3D2 FACE=3D"r_ansi">ld: fatal: Symbol referencing errors. No =
output written to miniperl</FONT>

<BR><FONT SIZE=3D2 FACE=3D"r_ansi">collect2: ld returned 1 exit status</FONT>

<BR><FONT SIZE=3D2 FACE=3D"r_ansi">make: *** [miniperl] Error 1</FONT>
</P>

<P><FONT SIZE=3D2 FACE=3D"Arial">These are some of the things I have tried so=
 =
=66ar to fix this:</FONT>

<BR><FONT SIZE=3D2 FACE=3D"Arial">1. From the INSTALL notes I found reference=
 =
to the Missing Undefined Symbols problem.&nbsp; So I did a make distclean and=
 =
started over.&nbsp; When config offered an opportunity to edit config.sh I =
went in and saw that libs variable was empty.&nbsp; I changed it to be =
libs=3D'-lsocket -lnsl -ldl -lm -lc'.&nbsp; That didn't work - same make =
error.</FONT></P>

<P><FONT SIZE=3D2 FACE=3D"Arial">2.&nbsp; So I tried another suggestion from =
the INSTALL notes and tried not using nm extraction with the -Uusenm option =
=66or configure.&nbsp; I started over again with distclean but that didn't =
work either.</FONT></P>

<P><FONT SIZE=3D2 FACE=3D"Arial">3.&nbsp; 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&#8230; anything I could think of - but no luck.</FONT></P>

<P><FONT SIZE=3D2 FACE=3D"Arial">Any help would be greatly =
appreciated.&nbsp;&nbsp; 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.</FONT></P>

<P><FONT SIZE=3D2 FACE=3D"Arial">Cheers!&nbsp;&nbsp; Fred - =
[email protected]</FONT>
</P>
<BR>

<P><FONT SIZE=3D2 FACE=3D"Arial"></FONT>&nbsp;
</P>

</BODY>
</HTML>
<P>--------------------------------------------------------------------------=
----<br>
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.  Copyrigh=
t=
 2008 CIGNA<br>
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D<br>
</P>
------_=_NextPart_001_01C88A9B.7855CB1F--