could someone help me? I'm trying to install DBD-mysql (all versions are listed at the bottom of this message), so that I can access mysql database from my perl scripts. I have mysql up and running as well as the DBI, all I need to do is get DBD-mysql installed. I don't have access to the internet from the computer I want to set this up on. I have downloaded DBD-mysql, and am trying to install it from the source, following the instructions provide. I get one of two errors, the first is:
SHELL# make cp lib/DBD/mysql/GetInfo.pm blib/lib/DBD/mysql/GetInfo.pm cp lib/DBD/mysql/INSTALL.pod blib/lib/DBD/mysql/INSTALL.pod cp lib/DBD/mysql.pm blib/lib/DBD/mysql.pm cp lib/Bundle/DBD/mysql.pm blib/lib/Bundle/DBD/mysql.pm cp lib/Mysql/Statement.pm blib/lib/Mysql/Statement.pm cp lib/Mysql.pm blib/lib/Mysql.pm cc -c -I/usr/local/lib/perl/5.6.1/auto/DBI -I/usr/local/mysql/include +-DDEBIAN -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURC +E -D_FILE_OFFSET_BITS=64 -O2 -DVERSION=\"2.9002\" -DXS_VERSION=\"2.90 +02\" -fPIC -I/usr/lib/perl/5.6.1/CORE dbdimp.c /bin/sh -c true /bin/sh -c true /usr/bin/perl -p -e "s/~DRIVER~/mysql/g" < /usr/local/lib/perl/5.6.1/a +uto/DBI/Driver.xst > mysql.xsi /usr/bin/perl -I/usr/lib/perl/5.6.1 -I/usr/share/perl/5.6.1 /usr/share +/perl/5.6.1/ExtUtils/xsubpp -typemap /usr/share/perl/5.6.1/ExtUtils/t +ypemap mysql.xs > mysql.xsc && mv mysql.xsc mysql.c Warning: duplicate function definition 'do' detected in mysql.xs, line + 193 Warning: duplicate function definition 'rows' detected in mysql.xs, li +ne 291 cc -c -I/usr/local/lib/perl/5.6.1/auto/DBI -I/usr/local/mysql/include +-DDEBIAN -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURC +E -D_FILE_OFFSET_BITS=64 -O2 -DVERSION=\"2.9002\" -DXS_VERSION=\"2.90 +02\" -fPIC -I/usr/lib/perl/5.6.1/CORE mysql.c Running Mkbootstrap for DBD::mysql () chmod 644 mysql.bs rm -f blib/arch/auto/DBD/mysql/mysql.so LD_RUN_PATH="/usr/local/mysql/lib" /usr/bin/perl myld cc -shared -L/us +r/local/lib dbdimp.o mysql.o -o blib/arch/auto/DBD/mysql/mysql.so -L/ +usr/local/mysql/lib -lmysqlclient -lz /usr/bin/ld: cannot find -lz collect2: ld returned 1 exit status An error occurred while linking the DBD::mysql driver. The error message seems to indicate that you don't have a libz.a, libgz.a, libz.so or libgz.so. This is typically resolved by: 1.) You may try to remove the -lz or -lgz flag from the libs list by using the --libs switch for "perl Makefile.PL". 2.) On Red Hat Linux install libz-devel 3.) On other systems, please contact the mailing list Msql-Mysql-modules@lists.mysql.com For further hints, see INSTALL.html, section Linker flags. make: *** [blib/arch/auto/DBD/mysql/mysql.so] Error 1
I can overcome this if I use the following line when constructing the Makefile:
perl Makefile.PL --libs -L/usr/local/mysql/lib/libmysqlclient.abut then I get the following (second) error:
SHELL# make test /bin/sh -c true /bin/sh -c true PERL_DL_NONLAZY=1 /usr/bin/perl -Iblib/arch -Iblib/lib -I/usr/lib/perl +/5.6.1 -I/usr/share/perl/5.6.1 -e 'use Test::Harness qw(&runtests $ve +rbose); $verbose=0; runtests @ARGV;' t/*.t t/00base............install_driver(mysql) failed: Can't load 'blib/arc +h/auto/DBD/mysql/mysql.so' for module DBD::mysql: blib/arch/auto/DBD/ +mysql/mysql.so: undefined symbol: net_buffer_length at /usr/lib/perl/ +5.6.1/DynaLoader.pm line 202. 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 expecte +d at t/00base.t line 38 t/00base............dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 4-5 Failed 2/5 tests, 60.00% okay .... t/mysql2............Had to create DBD::mysql::dr::imp_data_size unexpe +ctedly at /usr/local/lib/perl/5.6.1/DBI.pm line 1020. Use of uninitialized value in subroutine entry at /usr/local/lib/perl/ +5.6.1/DBI.pm line 1020. Can't locate object method "connect" via package "Mysql" (perhaps you +forgot to load "Mysql"?) at blib/lib/Mysql.pm line 71. t/mysql2............dubious Test returned status 255 (wstat 65280, 0xff00) Failed Test Status Wstat Total Fail Failed List of Failed ---------------------------------------------------------------------- +---------- t/00base.t 255 65280 5 2 40.00% 4-5 t/10dsnlist.t 255 65280 9 9 100.00% 1-9 t/20createdrop.t 255 65280 5 5 100.00% 1-5 t/30insertfetch.t 255 65280 11 11 100.00% 1-11 t/40bindparam.t 255 65280 28 28 100.00% 1-28 t/40blobs.t 255 65280 11 11 100.00% 1-11 t/40listfields.t 255 65280 16 16 100.00% 1-16 t/40nulls.t 255 65280 11 11 100.00% 1-11 t/40numrows.t 255 65280 25 25 100.00% 1-25 t/50chopblanks.t 255 65280 35 35 100.00% 1-35 t/50commit.t 255 65280 30 30 100.00% 1-30 t/ak-dbd.t 255 65280 90 90 100.00% 1-90 t/akmisc.t 255 65280 351 351 100.00% 1-351 t/dbdadmin.t 255 65280 21 21 100.00% 1-21 t/insertid.t 255 65280 12 12 100.00% 1-12 t/mysql.t 255 65280 68 68 100.00% 1-68 t/mysql2.t 255 65280 ?? ?? % ?? 1 test skipped. Failed 17/18 test scripts, 5.56% okay. 725/728 subtests failed, 0.41% +okay. make: *** [test_dynamic] Error 255
If anyone can help, it would be most appreciated. Thanks in advance
AdamI have the following versions:
edited by ybiC: code tags only surrounding make example, plus balanced <readmore> tags
In reply to How-to install DBD-mysql by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |