Operating System - Linux
1753914 Members
8916 Online
108810 Solutions
New Discussion юеВ

Re: Continued problems compiling DBD::Oracle

 
MauriceConway
Advisor

Continued problems compiling DBD::Oracle

Good day,

I am still having problems trying to get DBD::Oracle to compile on my HPUX 11.23 Itanium server.

Specifics:

Server: Itanium
OS: HPUX11.23
Perl: 5.8.0 64bit, not-threaded
DBI: 1.50
DBD::Oracle: 1.14
Make: make-3.80

If I execute make without any changes to the Makefile, I get;

(notice the "ld: Unrecognized argument: -Wl,+s")
********************************************
LD_RUN_PATH="/app/common/oracle/product/10.1.0.4/lib:/app/common/oracle/product/10.1.0.4/rdbms/lib" /usr/bin/ld -b -L/usr/local/lib -L/usr/lib/hpux64 Oracle.o dbdimp.o oci7.o oci8.o -Wl,+s -Wl,+n +DD64 -o build -L/app/common/oracle/product/10.1.0.4/rdbms/lib/ -L/app/common/oracle/product/10.1.0.4/lib/ -lclntsh -lnbeq10 -lnhost10 -lnus10 -lnldap10 -lldapclnt10 -lnsslb10 -lnoname10 -lntcp10 -lntcps10 -lnsslb10 -lntcp10 -lntns10 -l:librt.so -l:libnss_dns.so.1 -l:libdld.so -lm -lpthread -lunwind -lm -o blib/arch/auto/DBD/Oracle/Oracle.so
ld: Unrecognized argument: -Wl,+s
Fatal error.
make: *** [blib/arch/auto/DBD/Oracle/Oracle.so] Error 1
********************************************

I found where someone removed the "-Wl, +s" entry from the Makefile and they reported it fixing the problem, I followed their instructions and got this output;

(notice the "ld: Unrecognized argument: -Wl,+n")
********************************************
LD_RUN_PATH="/app/common/oracle/product/10.1.0.4/lib:/app/common/oracle/product/10.1.0.4/rdbms/lib" /usr/bin/ld -b -L/usr/local/lib -L/usr/lib/hpux64 Oracle.o dbdimp.o oci7.o oci8.o -Wl,+n +DD64 -o build -L/app/common/oracle/product/10.1.0.4/rdbms/lib/ -L/app/common/oracle/product/10.1.0.4/lib/ -lclntsh -lnbeq10 -lnhost10 -lnus10 -lnldap10 -lldapclnt10 -lnsslb10 -lnoname10 -lntcp10 -lntcps10 -lnsslb10 -lntcp10 -lntns10 -l:librt.so -l:libnss_dns.so.1 -l:libdld.so -lm -lpthread -lunwind -lm -o blib/arch/auto/DBD/Oracle/Oracle.so
ld: Unrecognized argument: -Wl,+n
********************************************

At this point, not sure what to do, I just did like before and removed the "-Wl,+n" from the Makefile to see if it makes a difference, this is what I got after making the above change;

(notice the "ld: Unrecognized argument: +DD64")
********************************************
LD_RUN_PATH="/app/common/oracle/product/10.1.0.4/lib:/app/common/oracle/product/10.1.0.4/rdbms/lib" /usr/bin/ld -b -L/usr/local/lib -L/usr/lib/hpux64 Oracle.o dbdimp.o oci7.o oci8.o +DD64 -o build -L/app/common/oracle/product/10.1.0.4/rdbms/lib/ -L/app/common/oracle/product/10.1.0.4/lib/ -lclntsh -lnbeq10 -lnhost10 -lnus10 -lnldap10 -lldapclnt10 -lnsslb10 -lnoname10 -lntcp10 -lntcps10 -lnsslb10 -lntcp10 -lntns10 -l:librt.so -l:libnss_dns.so.1 -l:libdld.so -lm -lpthread -lunwind -lm -o blib/arch/auto/DBD/Oracle/Oracle.so
ld: Unrecognized argument: +DD64
Fatal error.
make: *** [blib/arch/auto/DBD/Oracle/Oracle.so] Error 1
********************************************

So, now I remove the unrecognized "+DD64" argument from the Makefile, and it looks like it may complete, but when I run "make test" it blows up, here is the output from "make test";

Its fairly long, sorry for the large output, hopefully its helpfull
********************************************
ml052-mnmiller> make test
PERL_DL_NONLAZY=1 /app/common/home/mnmiller/sandbox/perl-5.8.0_build_2/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/base......./usr/lib/hpux64/dld.so: Cannot dlopen load module '/usr/lib/hpux64/libpthread.so.1' because it contains thread specific data.
Failed to load Oracle extension and/or shared libraries:
install_driver(Oracle) failed: Can't load '/app/common/home/mnmiller/downloads/modules/DBD-Oracle-1.14/blib/arch/auto/DBD/Oracle/Oracle.so' for module DBD::Oracle: Exec format error at /app/common/home/mnmiller/sandbox/perl-5.8.0_build_2/lib/5.8.0/IA64.ARCHREV_0-LP64/DynaLoader.pm line 229.
at (eval 2) line 3
Compilation failed in require at (eval 2) line 3.
Perhaps a required shared library or dll isn't installed where expected
at t/base.t line 19
The remaining tests will probably also fail with the same error.

*** Please read the README and README.help files for help. ***

t/base.......FAILED tests 4-5
Failed 2/5 tests, 60.00% okay
t/cursor...../usr/lib/hpux64/dld.so: Cannot dlopen load module '/usr/lib/hpux64/libpthread.so.1' because it contains thread specific data.
Can't load '/app/common/home/mnmiller/downloads/modules/DBD-Oracle-1.14/blib/arch/auto/DBD/Oracle/Oracle.so' for module DBD::Oracle: Exec format error at /app/common/home/mnmiller/sandbox/perl-5.8.0_build_2/lib/5.8.0/IA64.ARCHREV_0-LP64/DynaLoader.pm line 229.
at t/cursor.t line 18
Compilation failed in require at t/cursor.t line 18.
BEGIN failed--compilation aborted at t/cursor.t line 18.
t/cursor.....dubious
Test returned status 255 (wstat 65280, 0xff00)
t/general..../usr/lib/hpux64/dld.so: Cannot dlopen load module '/usr/lib/hpux64/libpthread.so.1' because it contains thread specific data.
install_driver(Oracle) failed: Can't load '/app/common/home/mnmiller/downloads/modules/DBD-Oracle-1.14/blib/arch/auto/DBD/Oracle/Oracle.so' for module DBD::Oracle: Exec format error at /app/common/home/mnmiller/sandbox/perl-5.8.0_build_2/lib/5.8.0/IA64.ARCHREV_0-LP64/DynaLoader.pm line 229.
at (eval 2) line 3
Compilation failed in require at (eval 2) line 3.
Perhaps a required shared library or dll isn't installed where expected
at t/general.t line 20
t/general....dubious
Test returned status 255 (wstat 65280, 0xff00)
t/long......./usr/lib/hpux64/dld.so: Cannot dlopen load module '/usr/lib/hpux64/libpthread.so.1' because it contains thread specific data.
Can't load '/app/common/home/mnmiller/downloads/modules/DBD-Oracle-1.14/blib/arch/auto/DBD/Oracle/Oracle.so' for module DBD::Oracle: Exec format error at /app/common/home/mnmiller/sandbox/perl-5.8.0_build_2/lib/5.8.0/IA64.ARCHREV_0-LP64/DynaLoader.pm line 229.
at t/long.t line 4
Compilation failed in require at t/long.t line 4.
BEGIN failed--compilation aborted at t/long.t line 4.
t/long.......dubious
Test returned status 255 (wstat 65280, 0xff00)
t/meta......./usr/lib/hpux64/dld.so: Cannot dlopen load module '/usr/lib/hpux64/libpthread.so.1' because it contains thread specific data.
install_driver(Oracle) failed: Can't load '/app/common/home/mnmiller/downloads/modules/DBD-Oracle-1.14/blib/arch/auto/DBD/Oracle/Oracle.so' for module DBD::Oracle: Exec format error at /app/common/home/mnmiller/sandbox/perl-5.8.0_build_2/lib/5.8.0/IA64.ARCHREV_0-LP64/DynaLoader.pm line 229.
at (eval 2) line 3
Compilation failed in require at (eval 2) line 3.
Perhaps a required shared library or dll isn't installed where expected
at t/meta.t line 23
t/meta.......dubious
Test returned status 255 (wstat 65280, 0xff00)
t/ph_type..../usr/lib/hpux64/dld.so: Cannot dlopen load module '/usr/lib/hpux64/libpthread.so.1' because it contains thread specific data.
Can't load '/app/common/home/mnmiller/downloads/modules/DBD-Oracle-1.14/blib/arch/auto/DBD/Oracle/Oracle.so' for module DBD::Oracle: Exec format error at /app/common/home/mnmiller/sandbox/perl-5.8.0_build_2/lib/5.8.0/IA64.ARCHREV_0-LP64/DynaLoader.pm line 229.
at t/ph_type.t line 18
Compilation failed in require at t/ph_type.t line 18.
BEGIN failed--compilation aborted at t/ph_type.t line 18.
t/ph_type....dubious
Test returned status 255 (wstat 65280, 0xff00)
t/plsql....../usr/lib/hpux64/dld.so: Cannot dlopen load module '/usr/lib/hpux64/libpthread.so.1' because it contains thread specific data.
Can't load '/app/common/home/mnmiller/downloads/modules/DBD-Oracle-1.14/blib/arch/auto/DBD/Oracle/Oracle.so' for module DBD::Oracle: Exec format error at /app/common/home/mnmiller/sandbox/perl-5.8.0_build_2/lib/5.8.0/IA64.ARCHREV_0-LP64/DynaLoader.pm line 229.
at t/plsql.t line 17
Compilation failed in require at t/plsql.t line 17.
BEGIN failed--compilation aborted at t/plsql.t line 17.
t/plsql......dubious
Test returned status 255 (wstat 65280, 0xff00)
t/reauth.....skipped
all skipped: no reason given
t/select...../usr/lib/hpux64/dld.so: Cannot dlopen load module '/usr/lib/hpux64/libpthread.so.1' because it contains thread specific data.
Can't load '/app/common/home/mnmiller/downloads/modules/DBD-Oracle-1.14/blib/arch/auto/DBD/Oracle/Oracle.so' for module DBD::Oracle: Exec format error at /app/common/home/mnmiller/sandbox/perl-5.8.0_build_2/lib/5.8.0/IA64.ARCHREV_0-LP64/DynaLoader.pm line 229.
at t/select.t line 4
Compilation failed in require at t/select.t line 4.
BEGIN failed--compilation aborted at t/select.t line 4.
t/select.....dubious
Test returned status 255 (wstat 65280, 0xff00)
Failed Test Stat Wstat Total Fail Failed List of Failed
-------------------------------------------------------------------------------
t/base.t 5 2 40.00% 4-5
t/cursor.t 255 65280 ?? ?? % ??
t/general.t 255 65280 ?? ?? % ??
t/long.t 255 65280 ?? ?? % ??
t/meta.t 255 65280 ?? ?? % ??
t/ph_type.t 255 65280 ?? ?? % ??
t/plsql.t 255 65280 ?? ?? % ??
t/select.t 255 65280 ?? ?? % ??
1 test skipped.
Failed 8/9 test scripts, 11.11% okay. 2/5 subtests failed, 60.00% okay.
make: *** [test_dynamic] Error 2
ml052-mnmiller>
********************************************

Again, I am sorry for the long posting, I am just trying to provide as much information as possible so someone may be able to assist me in solving this.

At this point, Im kind of lost. I am pretty weak in Perl, so if its an obvious problem, or even detailed, I would love to know why this is failing.

Thank you.


Maurice
2 REPLIES 2
Dennis Handly
Acclaimed Contributor

Re: Continued problems compiling DBD::Oracle

>If I execute make without any changes to the Makefile, I get;
(notice the "ld: Unrecognized argument: -Wl,+s")

I explained this in: http://forums1.itrc.hp.com/service/forums/questionanswer.do?threadId=1032124
Either you remove ALL "-Wl," and the +DD64 or you replace /usr/bin/ld by a compiler driver, like cc.

As to your new problem:
/usr/lib/hpux64/dld.so: Cannot dlopen load module '/usr/lib/hpux64/libpthread.so.1' because it contains thread specific data.

I would suggest you remove -lpthread from your link line, if you don't call pthread_create. (But that probably won't work because -lclntsh also includes it.)

So your only solution is to export LD_PRELOAD=/usr/lib/hpux64/libpthread.so.1.

For a similar issue see my responses in:
http://forums1.itrc.hp.com/service/forums/questionanswer.do?threadId=1025801
MauriceConway
Advisor

Re: Continued problems compiling DBD::Oracle

Good morning Dennis, and thank you for the reply. I will try what you suggested and post my results.

thanks again.


Maurice