http://www.perlmonks.org?node_id=1012815


in reply to DBD::mysql fail install check

I browsed many sites, each coming up with different solutions, but they don't work. It seems the program is directed somewhere in the wrong place?

What did you try?

:)

Replies are listed 'Best First'.
Re^2: DBD::mysql fail install check
by PerlPeer (Novice) on Jan 11, 2013 at 08:40 UTC
    Sorry, that was very imprecise of me. Most websites regard to similar kind of trouble and start describing solutions from compiling DBD::mysql. After that succeeded (as I did as well, in the end..) there is no further report on this problem. None seems to specify my particular error (the one posted). I should not have mentioned the other websites but have asked:
    Does anyone have an idea what is wrong here?

        Or for error of form Can't load '/tmp/perl_tmp/DBD-Oracle-1.64/blib/arch/auto/DBD/Oracle/Oracle.so' for module DBD::Oracle: /tmp/perl_tmp/DBD-Oracle-1.64/blib/arch/auto/DBD/Oracle/Oracle.so: undefined symbol: charsetid at /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/DynaLoader.pm line 230.

        You run ldd -V to get a list of .so's it depends on, if any are missing, find them, adjust LD_LIBRARY_PATH

        If none are missing, search each one with objdump -p ...so |grep missingsymbolname

        Then search your harddisk ( locate ) for same-name-.so-s in different paths, and check with objdump if these alternates have the missingsymbolname, and adjust LD_LIBRARY_PATH

        If you can't find the .so with the required symbol, upgrade, install a newver version of the library

        In my case, some combination of these.

        This is just an FYI, having struggled through installing DBD-mysql on OSX (yet again).

        32 or 64 bit? The system Perl that came with Mavericks is dual architecture. But this time around I was installing using perlbrew, which is 64 bit. So,duh, I need the 64-bit MySQL database.

        That means I don't need to set VERSIONPER_PERL_PREFER_32_BIT anymore.

        Oh, don't forget to stop the 32-bit and start the 64 bit first.

        Then, set DYLD_LIBRARY_PATH before building the module.