HELP!

I really need someone to help me on this.

After reading Tim Bunce's readme for DBI,  which 
states that:

   "If you get an error like "fatal: relocation 
error: symbol not found: ..."
do not use GNU as or GNU ld on Solaris. Delete or 
rename them, they are just bad news."

I've verified that gcc is not using GNU ld.  Can 
someone offer a suggestion.



---- "Sterin, Ilya" <[EMAIL PROTECTED]> wrote:
> What is Merant is that the distributor of you ODBC 
for *NIX software.  Do
> you have third party ODBC libs installed.
> 
> Ilya
> 
> -----Original Message-----
> From: Farouk Khawaja
> To: [EMAIL PROTECTED]
> Sent: 7/12/01 2:50 PM
> Subject: Compile problems with DBD::ODBC
> 
> 
> Environment:
> Solaris 2.7
> Perl v5.6
> Dirver Manager: Merant
> DBI v1.18
> DBD-ODBC v0.28
> 
> I'm having problems compiling DBD::ODBC.  DBI 
> compiled fine.  I'm sorry if this has been 
discussed 
> before, but I couldn't locate an answer.
> 
> Below is the output from make.  "make test" 
complains 
> about a missing shared library.  I don't have 
> llibdbodbc.so anywhere on my system.
> 
> Can someone tell if if this missing library is 
> *really* the problem or am I doing something 
wrong?  
> If the problem is this missing library, can someone 
> direct me to where I can find it?
> 
> 
> ################ BEGIN COMPILE DUMP ###############
> perl Makefile.PL
> Unrecognized escape \i passed through at 
Makefile.PL 
> line 217.
> 
> Configuring DBD::ODBC ...
> 
> >>>     Remember to actually *READ* the README file!
>         And re-read it if you have any problems.
> 
> Using DBI 1.18 installed in
> /usr/local/lib/perl5/site_perl/5.6.0/sun4-
> solaris/auto/DBI
> Using ODBC in /opt/odbc
> 
> Umm, this looks like a unixodbc type of driver 
> manager.
> We expect to find the sql.h, sqlext.h and (which 
were
> supplied with unixODBC) in $ODBCHOME/include 
> directory alongside 
> 
the /opt/odbc/lib/libdbodbc.so /opt/odbc/lib/liblsxodb
> c.so
> /opt/odbc/lib/libodbc.so /opt/odbc/lib/libodbcinst.s
o
> /opt/odbc/lib/llibdbodbc.so /opt/odbc/lib/odbccurs.s
o
> /opt/odbc/lib/odbctrac.so library. in $ODBCHOME/lib
> 
> 
> Checking if your kit is complete...
> Looks good
> Note (probably harmless): No library found for -
> llibdbodbc.so
> Using DBI 1.18 installed in
> /usr/local/lib/perl5/site_perl/5.6.0/sun4-
> solaris/auto/DBI
> Writing Makefile for DBD::ODBC
> 
> The DBD::ODBC tests will use these values for the 
> database connection:
>     DBI_DSN=dbi:ODBC:SUNODBC            e.g. 
> dbi:ODBC:demo
>     DBI_USER=xxxxxxx
>     DBI_PASS=xxxxxxx
> 
> make
> gcc -c -I. -
> I/usr/local/lib/perl5/site_perl/5.6.0/sun4-
> solaris/auto/DBI
> -fno-strict-aliasing -I/usr/local/include -
> D_LARGEFILE_SOURCE
> -D_FILE_OFFSET_BITS=64 -O     -DVERSION=\"0.28\" -
> DXS_VERSION=\"0.28\"
> -fPIC -I/usr/local/lib/perl5/5.6.0/sun4-
solaris/CORE -
> I/opt/odbc/include
> ODBC.c
> gcc -c -I. -
> I/usr/local/lib/perl5/site_perl/5.6.0/sun4-
> solaris/auto/DBI
> -fno-strict-aliasing -I/usr/local/include -
> D_LARGEFILE_SOURCE
> -D_FILE_OFFSET_BITS=64 -O     -DVERSION=\"0.28\" -
> DXS_VERSION=\"0.28\"
> -fPIC -I/usr/local/lib/perl5/5.6.0/sun4-
solaris/CORE -
> I/opt/odbc/include
> dbdimp.c
> Running Mkbootstrap for DBD::ODBC ()
> chmod 644 ODBC.bs
> LD_RUN_PATH="" gcc -o 
> blib/arch/auto/DBD/ODBC/ODBC.so  -G
> -L/usr/local/lib ODBC.o dbdimp.o
> chmod 755 blib/arch/auto/DBD/ODBC/ODBC.so
> cp ODBC.bs blib/arch/auto/DBD/ODBC/ODBC.bs
> chmod 644 blib/arch/auto/DBD/ODBC/ODBC.bs
> Manifying blib/man3/DBD::ODBC.3
> 
> make test TEST_VERBOSE=1
> PERL_DL_NONLAZY=1 /bin/perl -Iblib/arch -Iblib/lib
> -I/usr/local/lib/perl5/5.6.0/sun4-solaris -
> I/usr/local/lib/perl5/5.6.0
> -e 'use Test::Harness qw(&runtests $verbose); 
> $verbose=1; runtests
> @ARGV;' t/*.t
> t/01base............install_driver(ODBC) failed: 
> Can't load
> 'blib/arch/auto/DBD/ODBC/ODBC.so' for module 
> DBD::ODBC: ld.so.1:
> /bin/perl: fatal: relocation error: file
> blib/arch/auto/DBD/ODBC/ODBC.so: symbol 
> SQLGetFunctions: referenced
> symbol not found at
> /usr/local/lib/perl5/5.6.0/sun4-
solaris/DynaLoader.pm 
> line 200.
>  at (eval 1) line 3
> Compilation failed in require at (eval 1) line 3.
> Perhaps a required shared library or dll isn't 
> installed where expected
>  at t/01base.t line 14
> 1..5
> ok 1
> ok 2
> ok 3
> dubious
>         Test returned status 255 (wstat 65280, 
0xff00)
> DIED. FAILED tests 4-5
>         Failed 2/5 tests, 60.00% okay
> t/02simple..........1..14
> ok 1
>  Test 2: connecting to the database
> install_driver(ODBC) failed: Can't load
> 'blib/arch/auto/DBD/ODBC/ODBC.so' for module 
> DBD::ODBC: ld.so.1:
> /bin/perl: fatal: relocation error: file
> blib/arch/auto/DBD/ODBC/ODBC.so: symbol 
> SQLGetFunctions: referenced
> symbol not found at
> /usr/local/lib/perl5/5.6.0/sun4-
solaris/DynaLoader.pm 
> line 200.
>  at (eval 1) line 3
> Compilation failed in require at (eval 1) line 3.
> Perhaps a required shared library or dll isn't 
> installed where expected
>  at t/02simple.t line 16
> dubious
>         Test returned status 255 (wstat 65280, 
0xff00)
> DIED. FAILED tests 2-14
>         Failed 13/14 tests, 7.14% okay
> t/03dbatt...........1..6
> ok 1
> install_driver(ODBC) failed: Can't load
> 'blib/arch/auto/DBD/ODBC/ODBC.so' for module 
> DBD::ODBC: ld.so.1:
> /bin/perl: fatal: relocation error: file
> blib/arch/auto/DBD/ODBC/ODBC.so: symbol 
> SQLGetFunctions: referenced
> symbol not found at
> /usr/local/lib/perl5/5.6.0/sun4-
solaris/DynaLoader.pm 
> line 200.
>  at (eval 1) line 3
> Compilation failed in require at (eval 1) line 3.
> Perhaps a required shared library or dll isn't 
> installed where expected
>  at t/03dbatt.t line 12
> dubious
>         Test returned status 255 (wstat 65280, 
0xff00)
> DIED. FAILED tests 2-6
>         Failed 5/6 tests, 16.67% okay
> t/05meth............1..6
> ok 1
> install_driver(ODBC) failed: Can't load
> 'blib/arch/auto/DBD/ODBC/ODBC.so' for module 
> DBD::ODBC: ld.so.1:
> /bin/perl: fatal: relocation error: file
> blib/arch/auto/DBD/ODBC/ODBC.so: symbol 
> SQLGetFunctions: referenced
> symbol not found at
> /usr/local/lib/perl5/5.6.0/sun4-
solaris/DynaLoader.pm 
> line 200.
>  at (eval 1) line 3
> Compilation failed in require at (eval 1) line 3.
> Perhaps a required shared library or dll isn't 
> installed where expected
>  at t/05meth.t line 13
> dubious
>         Test returned status 255 (wstat 65280, 
0xff00)
> DIED. FAILED tests 2-6
>         Failed 5/6 tests, 16.67% okay
> t/09bind............1..9
> ok 1
>  Test 2: connecting to the database
> install_driver(ODBC) failed: Can't load
> 'blib/arch/auto/DBD/ODBC/ODBC.so' for module 
> DBD::ODBC: ld.so.1:
> /bin/perl: fatal: relocation error: file
> blib/arch/auto/DBD/ODBC/ODBC.so: symbol 
> SQLGetFunctions: referenced
> symbol not found at
> /usr/local/lib/perl5/5.6.0/sun4-
solaris/DynaLoader.pm 
> line 200.
>  at (eval 1) line 3
> Compilation failed in require at (eval 1) line 3.
> Perhaps a required shared library or dll isn't 
> installed where expected
>  at t/09bind.t line 11
> dubious
>         Test returned status 255 (wstat 65280, 
0xff00)
> DIED. FAILED tests 2-9
>         Failed 8/9 tests, 11.11% okay
> Failed Test  Status Wstat Total Fail  Failed  List 
of 
> failed
> ----------------------------------------------------
--
> -------------------------
> 
> t/01base.t      255 65280     5    2  40.00%  4-5
> t/02simple.t    255 65280    14   13  92.86%  2-14
> t/03dbatt.t     255 65280     6    5  83.33%  2-6
> t/05meth.t      255 65280     6    5  83.33%  2-6
> t/09bind.t      255 65280     9    8  88.89%  2-9
> Failed 5/5 test scripts, 0.00% okay. 33/40 subtests 
> failed, 17.50% okay.
> 
> make: *** [test_dynamic] Error 2
> 
> 
> ############### LINE ~200 FROM DynaLoader.pm 
> ##############
>     # Many dynamic extension loading problems will 
> appear to come from
>     # this section of code: XYZ failed at line 123 
of 
> DynaLoader.pm.
>     # Often these errors are actually occurring in 
> the initialisation
>     # C code of the extension XS file. Perl reports 
> the error as being
>     # in this perl code simply because this was the 
> last perl code
>     # it executed.
> 
>     my $libref = dl_load_file($file, $module-
> >dl_load_flags) or
>         croak("Can't load '$file' for module 
> $module: ".dl_error());
> 
> 

Reply via email to