Beefy Boxes and Bandwidth Generously Provided by pair Networks DiBona
Just another Perl shrine
 
PerlMonks  

"referenced symbol not found" testing DBD::ODBC against unixODBC

by arielCo (Acolyte)
on Apr 11, 2013 at 17:22 UTC ( #1028194=perlquestion: print w/ replies, xml ) Need Help??
arielCo has asked for the wisdom of the Perl Monks concerning the following question:

Hello, I'm at my wits' end trying to install DBD::ODBC on Solaris 10 on a local PERL5LIB. Everything's 32-bit:
$ export | mygrep -e MM -e PERL declare -x PERL5LIB="/export/home/filtro/perl5/lib/perl5:/export/home/ +filtro/perl5/lib/perl5/sun4-solaris-64int" declare -x PERL_MM_OPT="INSTALL_BASE=~/perl5" $ uname -srpm SunOS 5.10 sun4u sparc $ file $(which perl) perl5/lib/perl5/sun4-solaris-64int/auto/DBI/DBI. +so unixODBC/lib/*.so /bin/perl: ELF 32-bit MSB executable SPARC Version 1, dynamically + linked, stripped perl5/lib/perl5/sun4-solaris-64int/auto/DBI/DBI.so: ELF 32-bit MSB + dynamic lib SPARC Version 1, dynamically linked, not stripped unixODBC/lib/libodbc.so: ELF 32-bit MSB dynamic lib SPARC Versi +on 1, dynamically linked, not stripped unixODBC/lib/libodbccr.so: ELF 32-bit MSB dynamic lib SPARC Versi +on 1, dynamically linked, not stripped unixODBC/lib/libodbcinst.so: ELF 32-bit MSB dynamic lib SPARC Versi +on 1, dynamically linked, not stripped
In my latest desperate attempt, I've set LD_LIBRARY_PATH to specify paths for ODBC.so and DBI.so. It builds OK, apparently:
$ LD_LIBRARY_PATH=/export/home/filtro/unixODBC/lib:/export/home/filtro +/perl5/lib/perl5/sun4-solaris-64int/auto/DBI:$LD_LIBRARY_PATH ODBCHOM +E=~/unixODBC /usr/perl5/bin/perlgcc -MCPAN -e shell Terminal does not support AddHistory. cpan shell -- CPAN exploration and modules installation (v1.9800) Enter 'h' for help. cpan[1]> clean DBD::ODBC Reading '/export/home/filtro/.cpan/Metadata' Database was generated on Wed, 10 Apr 2013 21:17:02 GMT Running clean for module 'DBD::ODBC' Running make clean Distribution seems to have never been unzipped/untarred, nothing done cpan[2]> make DBD::ODBC Running make for module 'DBD::ODBC' Running make for M/MJ/MJEVANS/DBD-ODBC-1.43.tar.gz CPAN: checksum security checks disabled because Digest::SHA not inst +alled. Please consider installing the Digest::SHA module. Scanning cache /export/home/filtro/.cpan/build for sizes ...................................................................... +......DONE CPAN.pm: Building M/MJ/MJEVANS/DBD-ODBC-1.43.tar.gz ********** Remember to actually *READ* the README file! And re-read it if you have any problems. ********** OSNAME: solaris LANG: ODBCHOME: /export/home/filtro/unixODBC LD_LIBRARY_PATH: /export/home/filtro/unixODBC/lib:/export/home/filtro/ +perl5/lib/perl5/sun4-solaris-64int/auto/DBI:/etc/emc/rsa/cst/lib DBROOT: WINDIR: II_SYSTEM: Perl: 5.008004 ExtUtils::MakeMaker: 6.64 Command line options: u! = undef w! = undef e! = undef g! = 0 x! = undef o=s = Looking for odbc_config in : /export/home/filtro/unixODBC Looking for odbc_config at /export/home/filtro/unixODBC/bin/odbc_confi +g Found odbc_config (via /export/home/filtro/unixODBC/bin/odbc_config) + version 2.3.0 odbc_config reports --prefix=/export/home/filtro/unixODBC odbc_config reports --include-prefix=/export/home/filtro/unixODBC/in +clude odbc_config reports --lib-prefix=/export/home/filtro/unixODBC/lib ODBC INC dir set to /export/home/filtro/unixODBC/include via odbc_co +nfig ODBC LIB dir set to /export/home/filtro/unixODBC/lib via odbc_config Using ODBCHOME /export/home/filtro/unixODBC This looks like a unixodbc type of driver manager. Looking for odbcinst Found odbcinst in /export/home/filtro/unixODBC/bin odbcinst -j reports: unixODBC 2.3.0 DRIVERS............: /export/home/filtro/unixODBC/etc/odbcinst.ini SYSTEM DATA SOURCES: /export/home/filtro/unixODBC/etc/odbc.ini FILE DATA SOURCES..: /export/home/filtro/unixODBC/etc/ODBCDataSources USER DATA SOURCES..: /export/home/filtro/.odbc.ini SQLULEN Size.......: 4 SQLLEN Size........: 4 SQLSETPOSIROW Size.: 2 Please note these files as they are where you define your ODBC drivers + and data sources. Looking for odbc_config to get cflags Adding odbc_config --cflags "-DHAVE_UNISTD_H -DHAVE_PWD_H -DHAVE_SYS_T +YPES_H -DHAVE_LONG_LONG -DSIZEOF_LONG_INT=4 -I/export/home/filtro/uni +xODBC/include " to CC line Checking if your kit is complete... Looks good Multiple copies of Driver.xst found in: /export/home/filtro/perl5/lib/ +perl5/sun4-solaris-64int/auto/DBI/ /usr/perl5/vendor_perl/5.8.4/sun4- +solaris-64int/auto/DBI/ at Makefile.PL line 152 Using DBI 1.625 (for perl 5.008004 on sun4-solaris-64int) installed in + /export/home/filtro/perl5/lib/perl5/sun4-solaris-64int/auto/DBI/ Have /usr/perl5/5.8.4/lib/Sun/Solaris/PerlGcc Want /usr/perl5/5.8.4/lib/sun4-solaris-64int Your perl and your Config.pm seem to have different ideas about the architecture they are running on. Perl thinks: [PerlGcc] Config says: [sun4-solaris-64int] This may or may not cause problems. Please check your installation of +perl if you have problems building this extension. Multiple copies of Driver.xst found in: /export/home/filtro/perl5/lib/ +perl5/sun4-solaris-64int/auto/DBI/ /usr/perl5/vendor_perl/5.8.4/sun4- +solaris-64int/auto/DBI/ at Makefile.PL line 1135 Using DBI 1.625 (for perl 5.008004 on sun4-solaris-64int) installed in + /export/home/filtro/perl5/lib/perl5/sun4-solaris-64int/auto/DBI/ Writing Makefile for DBD::ODBC Writing MYMETA.yml and MYMETA.json Warning: not all required environment variables are set. Warning: Will not be able to run tests as you have not defined all of DBI_DSN, DBI_USER and DBI_PASS environment variables. cp TO_DO blib/lib/DBD/ODBC/TO_DO.pm cp FAQ blib/lib/DBD/ODBC/FAQ.pm cp Changes blib/lib/DBD/ODBC/Changes.pm gcc -c -DHAVE_UNISTD_H -DHAVE_PWD_H -DHAVE_SYS_TYPES_H -DHAVE_LONG_LON +G -DSIZEOF_LONG_INT=4 -I/export/home/filtro/unixODBC/include -I/expo +rt/home/filtro/unixODBC/include -I. -I/export/home/filtro/perl5/lib/ +perl5/sun4-solaris-64int/auto/DBI -D_LARGEFILE_SOURCE -D_FILE_OFFSET_ +BITS=64 -D_TS_ERRNO -O2 -fno-strict-aliasing -DVERSION=\"1.43\" -DX +S_VERSION=\"1.43\" -fPIC "-I/usr/perl5/5.8.4/lib/sun4-solaris-64int/C +ORE" -DHAVE_UNISTD_H -DHAVE_PWD_H -DHAVE_SYS_TYPES_H -DHAVE_LONG_LON +G -DSIZEOF_LONG_INT=4 -I/export/home/filtro/unixODBC/include -I/expo +rt/home/filtro/unixODBC/include ConvertUTF.c /usr/perl5/5.8.4/bin/perl -p -e "s/~DRIVER~/ODBC/g" /export/home/filtr +o/perl5/lib/perl5/sun4-solaris-64int/auto/DBI/Driver.xst > ODBC.xsi gcc -c -DHAVE_UNISTD_H -DHAVE_PWD_H -DHAVE_SYS_TYPES_H -DHAVE_LONG_LON +G -DSIZEOF_LONG_INT=4 -I/export/home/filtro/unixODBC/include -I/expo +rt/home/filtro/unixODBC/include -I. -I/export/home/filtro/perl5/lib/ +perl5/sun4-solaris-64int/auto/DBI -D_LARGEFILE_SOURCE -D_FILE_OFFSET_ +BITS=64 -D_TS_ERRNO -O2 -fno-strict-aliasing -DVERSION=\"1.43\" -DX +S_VERSION=\"1.43\" -fPIC "-I/usr/perl5/5.8.4/lib/sun4-solaris-64int/C +ORE" -DHAVE_UNISTD_H -DHAVE_PWD_H -DHAVE_SYS_TYPES_H -DHAVE_LONG_LON +G -DSIZEOF_LONG_INT=4 -I/export/home/filtro/unixODBC/include -I/expo +rt/home/filtro/unixODBC/include dbdimp.c cp ODBC.pm blib/lib/DBD/ODBC.pm gcc -c -DHAVE_UNISTD_H -DHAVE_PWD_H -DHAVE_SYS_TYPES_H -DHAVE_LONG_LON +G -DSIZEOF_LONG_INT=4 -I/export/home/filtro/unixODBC/include -I/expo +rt/home/filtro/unixODBC/include -I. -I/export/home/filtro/perl5/lib/ +perl5/sun4-solaris-64int/auto/DBI -D_LARGEFILE_SOURCE -D_FILE_OFFSET_ +BITS=64 -D_TS_ERRNO -O2 -fno-strict-aliasing -DVERSION=\"1.43\" -DX +S_VERSION=\"1.43\" -fPIC "-I/usr/perl5/5.8.4/lib/sun4-solaris-64int/C +ORE" -DHAVE_UNISTD_H -DHAVE_PWD_H -DHAVE_SYS_TYPES_H -DHAVE_LONG_LON +G -DSIZEOF_LONG_INT=4 -I/export/home/filtro/unixODBC/include -I/expo +rt/home/filtro/unixODBC/include unicode_helper.c Running Mkbootstrap for DBD::ODBC () /usr/perl5/5.8.4/bin/perl /export/home/filtro/perl5/lib/perl5/ExtUtils +/xsubpp -typemap /usr/perl5/5.8.4/lib/ExtUtils/typemap ODBC.xs > OD +BC.xsc && mv ODBC.xsc ODBC.c chmod 644 ODBC.bs cp ODBC.bs blib/arch/auto/DBD/ODBC/ODBC.bs chmod 644 blib/arch/auto/DBD/ODBC/ODBC.bs dbdimp.c: In function `odbc_set_query_timeout': dbdimp.c:197: warning: cast to pointer from integer of different size dbdimp.c: In function `odbc_db_STORE_attrib': dbdimp.c:4660: warning: cast to pointer from integer of different size dbdimp.c: In function `set_odbc_version': dbdimp.c:6400: warning: cast to pointer from integer of different size dbdimp.c: In function `post_connect': dbdimp.c:6671: warning: cast to pointer from integer of different size dbdimp.c: In function `odbc_st_execute_for_fetch': dbdimp.c:7164: warning: cast to pointer from integer of different size Warning: duplicate function definition 'data_sources' detected in ODBC +.xs, line 482 gcc -c -DHAVE_UNISTD_H -DHAVE_PWD_H -DHAVE_SYS_TYPES_H -DHAVE_LONG_LON +G -DSIZEOF_LONG_INT=4 -I/export/home/filtro/unixODBC/include -I/expo +rt/home/filtro/unixODBC/include -I. -I/export/home/filtro/perl5/lib/ +perl5/sun4-solaris-64int/auto/DBI -D_LARGEFILE_SOURCE -D_FILE_OFFSET_ +BITS=64 -D_TS_ERRNO -O2 -fno-strict-aliasing -DVERSION=\"1.43\" -DX +S_VERSION=\"1.43\" -fPIC "-I/usr/perl5/5.8.4/lib/sun4-solaris-64int/C +ORE" -DHAVE_UNISTD_H -DHAVE_PWD_H -DHAVE_SYS_TYPES_H -DHAVE_LONG_LON +G -DSIZEOF_LONG_INT=4 -I/export/home/filtro/unixODBC/include -I/expo +rt/home/filtro/unixODBC/include ODBC.c rm -f blib/arch/auto/DBD/ODBC/ODBC.so gcc -G ConvertUTF.o ODBC.o dbdimp.o unicode_helper.o -o blib/arch/au +to/DBD/ODBC/ODBC.so \ \ chmod 755 blib/arch/auto/DBD/ODBC/ODBC.so Manifying blib/man3/DBD::ODBC.3 MJEVANS/DBD-ODBC-1.43.tar.gz /usr/sfw/bin/gmake -j3 -j3 -- OK
Trouble happens when testing. Something about a missing symbol loading ODBC.so:
cpan[3]> test DBD::ODBC Running test for module 'DBD::ODBC' Running make for M/MJ/MJEVANS/DBD-ODBC-1.43.tar.gz Has already been unwrapped into directory /export/home/filtro/.cpan/ +build/DBD-ODBC-1.43-I1aRMN Has already been made Running make test PERL_DL_NONLAZY=1 /usr/perl5/5.8.4/bin/perl "-MExtUtils::Command::MM" +"-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/01base.t ................... 1/6 # install_driver(ODBC) failed: Can' +t load '/export/home/filtro/.cpan/build/DBD-ODBC-1.43-I1aRMN/blib/arc +h/auto/DBD/ODBC/ODBC.so' for module DBD::ODBC: ld.so.1: perl: fatal: +relocation error: file /export/home/filtro/.cpan/build/DBD-ODBC-1.43- +I1aRMN/blib/arch/auto/DBD/ODBC/ODBC.so: symbol SQLGetDiagRec: referen +ced symbol not found at /usr/perl5/5.8.4/lib/sun4-solaris-64int/DynaL +oader.pm line 230. # at (eval 9) line 3 # Compilation failed in require at (eval 9) line 3. # Perhaps a required shared library or dll isn't installed where expec +ted # at t/01base.t line 26 # Failed test 'install ODBC' # at t/01base.t line 30. # Looks like you failed 1 test of 6. t/01base.t ................... Dubious, test returned 1 (wstat 256, 0x +100) Failed 1/6 subtests (less 2 skipped subtests: 3 okay) t/02simple.t ................. skipped: DBI_DSN is undefined t/03dbatt.t .................. skipped: DBI_DSN is undefined t/05meth.t ................... skipped: DBI_DSN is undefined t/07bind.t ................... skipped: DBI_DSN is undefined t/08bind2.t .................. skipped: DBI_DSN is undefined t/09multi.t .................. skipped: DBI_DSN is undefined t/10handler.t ................ skipped: DBI_DSN is undefined t/12blob.t ................... skipped: DBI_DSN is undefined t/20SqlServer.t .............. skipped: DBI_DSN is undefined t/30Oracle.t ................. skipped: DBI_DSN is undefined t/40UnicodeRoundTrip.t ....... skipped: DBI_DSN is undefined t/41Unicode.t ................ skipped: DBI_DSN is undefined t/50_odbc_utf8_on.t .......... skipped: DBI_DSN is undefined t/70execute_array_dbi.t ...... skipped: DBI_DSN is undefined t/70execute_array_native.t ... skipped: DBI_DSN is undefined t/80_odbc_diags.t ............ Can't load '/export/home/filtro/.cpan/b +uild/DBD-ODBC-1.43-I1aRMN/blib/arch/auto/DBD/ODBC/ODBC.so' for module + DBD::ODBC: ld.so.1: perl: fatal: relocation error: file /export/home +/filtro/.cpan/build/DBD-ODBC-1.43-I1aRMN/blib/arch/auto/DBD/ODBC/ODBC +.so: symbol SQLGetDiagRec: referenced symbol not found at /usr/perl5/ +5.8.4/lib/sun4-solaris-64int/DynaLoader.pm line 230. at t/80_odbc_diags.t line 10 Compilation failed in require at t/80_odbc_diags.t line 10. BEGIN failed--compilation aborted at t/80_odbc_diags.t line 10. t/80_odbc_diags.t ............ Dubious, test returned 255 (wstat 65280 +, 0xff00) No subtests run t/odbc_describe_parameter.t .. skipped: DBI_DSN is undefined t/pod-coverage.t ............. 1/1 # Test::Pod::Coverage 1.04 required + for testing POD coverage t/pod-coverage.t ............. ok t/pod.t ...................... ok t/rt_38977.t ................. skipped: DBI_DSN is undefined t/rt_39841.t ................. skipped: DBI_DSN is undefined t/rt_39897.t ................. skipped: DBI_DSN is undefined t/rt_43384.t ................. skipped: DBI_DSN is undefined t/rt_46597.t ................. skipped: DBI_DSN is undefined t/rt_50852.t ................. skipped: DBI_DSN is undefined t/rt_57957.t ................. skipped: DBI_DSN is undefined t/rt_59621.t ................. skipped: DBI_DSN is undefined t/rt_61370.t ................. skipped: DBI_DSN is undefined t/rt_62033.t ................. skipped: DBI_DSN is undefined t/rt_63550.t ................. skipped: DBI_DSN is undefined t/rt_78838.t ................. skipped: DBI_DSN is undefined t/rt_79190.t ................. skipped: DBI_DSN is undefined t/rt_79397.t ................. skipped: DBI_DSN is undefined t/rt_81911.t ................. skipped: DBI_DSN is undefined t/rt_null_nvarchar.t ......... skipped: DBI_DSN is undefined t/sql_type_cast.t ............ skipped: DBI_DSN is undefined Test Summary Report ------------------- t/01base.t (Wstat: 256 Tests: 6 Failed: 1) Failed test: 4 Non-zero exit status: 1 t/80_odbc_diags.t (Wstat: 65280 Tests: 0 Failed: 0) Non-zero exit status: 255 Parse errors: No plan found in TAP output Files=37, Tests=11, 6 wallclock secs ( 0.20 usr 0.16 sys + 1.79 cus +r 0.32 csys = 2.47 CPU) Result: FAIL Failed 2/37 test programs. 1/11 subtests failed. gmake: *** [test_dynamic] Error 29 MJEVANS/DBD-ODBC-1.43.tar.gz /usr/sfw/bin/gmake test -- NOT OK //hint// to see the cpan-testers results for installing this module, t +ry: reports MJEVANS/DBD-ODBC-1.43.tar.gz Failed during this command: MJEVANS/DBD-ODBC-1.43.tar.gz : make_test NO

Comment on "referenced symbol not found" testing DBD::ODBC against unixODBC
Select or Download Code
Re: "referenced symbol not found" testing DBD::ODBC against unixODBC
by roboticus (Canon) on Apr 11, 2013 at 17:46 UTC

    arielCo:

    Please consider using code tags instead of formatting the code yourself.

    That aside, it looks like it might be a compiler mismatch problem. Earlier in your make output, it mentions:

    Your perl and your Config.pm seem to have different ideas about the architecture they are running on. Perl thinks: PerlGcc Config says: sun4-solaris-64int This may or may not cause problems. Please check your installation of +perl if you have problems building this extension.

    Then, later, when trying to run, you get "fatal relocation errors". I'm guessing that the API differences in the two different compilers may be giving you your problems.

    ...roboticus

    When your only tool is a hammer, all problems look like your thumb.

      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
      Update: I edited the RPATH of ODBC.so and tested it again:
      $ /usr/ccs/bin/elfdump -d .cpan/build/DBD-ODBC-1.43-KXVrET/blib/arch/a +uto/DBD/ODBC/ODBC.so | grep RPATH [4] RPATH 0x110f /usr/ccs/lib:/lib:/u +sr/lib:/usr/sfw/lib:/export/home/filtro/unixODBC/lib
      Same result:
      t/01base.t ................... 1/6 # install_driver(ODBC) failed: Can' +t load '/export/home/filtro/.cpan/build/DBD-ODBC-1.43-KXVrET/blib/arc +h/auto/DBD/ODBC/ODBC.so' for module DBD::ODBC: ld.so.1: perl: fatal: +relocation error: file /export/home/filtro/.cpan/build/DBD-ODBC-1.43- +KXVrET/blib/arch/auto/DBD/ODBC/ODBC.so: symbol SQLGetDiagRec: referen +ced symbol not found at /usr/perl5/5.8.4/lib/sun4-solaris-64int/DynaL +oader.pm line 230.

        GOT IT. For anyone interested:

        1. In Solaris, run the shell with perlgcc and configure CPAN for GCC:
          o conf make /usr/sfw/bin/gmake o conf make_arg '' o conf make_install_arg '' o conf make_install_make_command '/usr/sfw/bin/gmake' o conf mbuild_arg '' o conf mbuild_install_arg '' o conf tar /usr/sfw/bin/gtar
          (Maybe some of these options are irrelevant - feel free to correct me)
        2. In makepl_arg:
          • Don't add 'LIBS=-L /your_unixodbc_home/lib'; use '-o /your_unixODBC_home', or just export UNIXODBC=/your_unixODBC_home before running the CPAN shell - Makefile.PL will set -L and -l for you.
          • To avoid using the dreaded LD_LIBRARY_PATH, add 'LDDLFLAGS="-Wl,-rpath,your_unixODBC_home/lib -G"' to makepl_arg. This will tell GCC to tell ld to add the location of your ODBC libraries to the runtime path (RPATH). Because you're overriding the LDDLFLAGS, you need to add "-G" so that GCC produces a shared object.
          • So, this incantation should work:

             o conf makepl_arg 'LDDLFLAGS="-G -Wl,-rpath,/your_unixodbc_home/lib" -o /your_unixodbc_home'

        Note: in my setup, I had to issue o conf commit, exit the shell and run it again for these changes to work. Don't ask.

        Note 2: Turns out that the relocation error happened because ld.so.1 was loading the *wrong* library from /my_unixodbc_home/lib. I got the clue from 'Enabling ODBC support in Perl with Perl DBI and DBD::ODBC' by Easysoft:

        The undefined symbol SQLParamData is reported by the dynamic linker as the first symbol it looked for but could not find.

        This happens when building DBD::ODBC with unixODBC because the Makefile.PL is now incompatible with newer unixODBC releases. The Makefile.PL searches ODBCHOME/lib for *odbc*.* and finds libodbc.so AND libodbcinst.so. It then goes on to choose libodbcinst.so which is the incorrect shared object.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (4)
As of 2014-04-20 13:29 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    April first is:







    Results (485 votes), past polls