Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re^2: "referenced symbol not found" testing DBD::ODBC against unixODBC

by arielCo (Sexton)
on Apr 11, 2013 at 19:36 UTC ( #1028217=note: print w/ replies, xml ) Need Help??


in reply to Re: "referenced symbol not found" testing DBD::ODBC against unixODBC
in thread "referenced symbol not found" testing DBD::ODBC against unixODBC

Hi roboticus,

The 'PerlGcc' architecture in perlgcc has not given me trouble before, even building DBD::Oracle.

Both (the CPAN modules and unixODBC) were compiled with GCC, but unixODBC had been linked with the Forte 'ld', so I built it again:

./configure  --prefix=$HOME/unixODBC LD=gcc MAKE=gmake AR=/usr/ccs/bin/ar

Same result. I learned of 'nm', and the "missing" symbols are indeed defined in unixODBC's libodbc.so, e.g.:

$ /usr/ccs/bin/nm -r .cpan/build/DBD-ODBC-1.43-fQI1op/blib/arch/auto/D +BD/ODBC/ODBC.so unixODBC/lib/libodbc.so perl5/lib/perl5/sun4-solaris- +64int/auto/DBI/DBI.so | grep SQLGetDiagRec [892] | 0| 0|NOTY |GLOB |0 |UNDEF |.cpan/build/D +BD-ODBC-1.43-fQI1op/blib/arch/auto/DBD/ODBC/ODBC.so:SQLGetDiagRec [2820] | 127256| 1776|FUNC |GLOB |0 |13 |unixODBC/lib/ +libodbc.so:SQLGetDiagRec [859] | 0| 0|FILE |LOCL |0 |ABS |unixODBC/lib/ +libodbc.so:SQLGetDiagRec.c [2699] | 129032| 72|FUNC |GLOB |0 |13 |unixODBC/lib/ +libodbc.so:SQLGetDiagRecA [2792] | 216212| 2076|FUNC |GLOB |0 |13 |unixODBC/lib/ +libodbc.so:SQLGetDiagRecW [1383] | 0| 0|FILE |LOCL |0 |ABS |unixODBC/lib/ +libodbc.so:SQLGetDiagRecW.c

Since it fails when testing, and the path to libodbc.so isn't mentioned in any of the GCC commands, maybe it's not being included in the RPATH?

$ /usr/ccs/bin/elfdump -d .cpan/build/DBD-ODBC-1.43-fQI1op/blib/arch/ +auto/DBD/ODBC/ODBC.so | grep PATH [3] RUNPATH 0x104e /usr/ccs/lib:/lib:/u +sr/lib:/usr/sfw/lib [4] RPATH 0x104e /usr/ccs/lib:/lib:/u +sr/lib:/usr/sfw/lib

Currently makepl_arg is '[LIBS=-L/export/home/filtro/unixODBC/lib]'. If my beginner's guess is correct, how do fix it? Providing it to perl -MCPAN through LD_LIBRARY_PATH makes no difference.

Thanks in advance,
--ariel


Comment on Re^2: "referenced symbol not found" testing DBD::ODBC against unixODBC
Select or Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1028217]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (6)
As of 2015-07-31 04:11 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (274 votes), past polls