RE: Issue with perl, DBD::Oracle, Solaris 10
am 29.10.2007 19:53:59 von nveeser------_=_NextPart_001_01C81A5D.10BBD2E2
Content-Type: text/plain;
charset=us-ascii
Content-Transfer-Encoding: quoted-printable
I did notice that cc (SunCC) is being used as the linker, but that is
not what is causing the error...
One of the flags being passed to /opt/SUNWspro/bin/cc, is cc which is
not a valid flag for cc.
=20
It seems that OTHERLDFLAGS in the generated Makefile looks like this:=20
=20
"cc -Xa -xstrconst -xF -xarch=3Dv8 -xchip=3Dultra -W2,-AKNR_S
-W2,-Rglobal_hoist ..."
=20
That does not look like a list of flags, that is a command...hmm...
=20
So when I edit the Makefile and remove the "extra" cc from the command
line (you will notice there are two below), everything compiles fine.
So I am getting to the point where I think there is a bug in the
Makefile.PL. =20
=20
Is that more apropos here, or the dev list?
=20
n
________________________________
From: Jonathan Leffler [mailto:jonathan.leffler@gmail.com]=20
Sent: Monday, October 29, 2007 5:45 AM
To: Nicholas Veeser
Cc: DBI Users Mailing List
Subject: Re: Issue with perl, DBD::Oracle, Solaris 10
On 10/28/07, Nicholas Veeser
First, is this the right place to ask questions about compiling
DBD::Oracle?
Strictly no -- it should be in dbi-users@perl.org.=20
I am having trouble building with DBD-Oracle 1.19
=09
Against the stock perl in Solaris 10, I get an error that looks
like this:
--------------
=09
LD_RUN_PATH=3D"/oracle/product/9.2.0.7/lib32:/oracle/product /9.2.0.7/rdbm=
s
/lib32" cc -G Oracle.o dbdimp.o oci8.o cc -Xa -xstrconst -xF
-xarch=3Dv8 -xchip=3Dultra -W2,-AKNR_S -W2,-Rglobal_hoist
-Wc,-Qdelay-speculate -Wc,-Qdepgraph-safe_spec_load=3D3 -W2,-Rloop
-errtags=3Dyes -v -K PIC -L/opt/SUNWcluster/lib -R/opt/SUNWcluster/lib
-L/oracle/product/9.2.0.7/rdbms/lib32/ -L/oracle/product/9.2.0.7/lib32/
-lclntsh `cat /oracle/product/9.2.0.7/lib32/ldflags` `cat
/oracle/product/9.2.0.7/lib32/sysliblist`
-R/oracle/product/9.2.0.7/lib32 -laio -lposix4 -lkstat -lm -lthread -o
blib/arch/auto/DBD/Oracle/Oracle.so=20
ld: fatal: file cc: open failed: No such file or directory
ld: fatal: File processing errors. No output written to
blib/arch/auto/DBD/Oracle/Oracle.so
*** Error code 1
make: Fatal error: Command failed for target
`blib/arch/auto/DBD/Oracle/Oracle.so'=20
---------------
=09
=09
So it seems that the perl Makefile.PL is putting "cc" on the ld
commandline and ld is trying to open cc. That seems odd.
Did you build this Perl? Do you have a Sun C compiler on the machine?=20
Building shared objects with the C compiler is common practice many
places and standard practice on Solaris.
The most usual problems people have is that they do not have a Sun C
compiler on the machine at all, or they only have /usr/ucb/cc (which is
found but doesn't compile anything). The fix is to get the Sun C
compiler -- or rebuild Perl with GCC (and have GCC on the machine), or
obtain a Perl build with GCC.=20
=20
It shows up in OTHERLDFLAGS. So when I edit the Makefile that is
created to just remove cc, everything works fine.=20
=09
See:
http://groups.google.com/group/perl.dbi.users/browse_frm/thr ead/d1eb4267
a3721668/70f75626c884f609?lnk=3Dst&q=3Dld%3A+fatal%3A+file+c c%3A+open+fai=
led
%3A+No+such+file+or+directory#70f75626c884f609=20
=09
=09
=09
Anyone know the Makefile.PL well enough to say why cc ends up in
the OTHERLDFLAGS, since its not a flag? Is there something I should add
to the commandline of Makefile.PL when I run it?
=09
--=20
Jonathan Leffler
Guardian of DBD::Informix - v2007.0914 - http://dbi.perl.org
"Blessed are we who can laugh at ourselves, for we shall never cease to
be amused."=20
------_=_NextPart_001_01C81A5D.10BBD2E2--