|
|||||||
![]() |
|
|
Thread Tools | Rate Thread | Display Modes |
|
|
|
|
#1 |
|
Registered User
Join Date: Mar 2007
Posts: 1
|
Error installing Perl / DBD-mysql [Can't find 'boot_DBD__mysql']
Hi,
I spend several days trying to get DBD-mysql installed on a xserve dual xeon 2 ghz running osx 10.4.8. Still to no avail... MySQL installed without errors mysql Ver 14.7 Distrib 4.1.22, for apple-darwin8.5.1 (i686) using readline 4.3 Unable to install DBI and DBD through cpan. Manual install for DBI - several versions- all seem to run fine. But trying to install DBD-mysql gives the following errors at make test: t/00base.............install_driver(mysql) failed: Can't find 'boot_DBD__mysql' symbol in /Library/Perl/DBD-mysql-4.001/blib/arch/auto/DBD/mysql/mysql.bundle Hope someone has any idea to get this thing going... Steps taken: - Changed my.cnf to read Code:
[mysqld] socket=/var/mysql/mysql.sock [client] socket=/var/mysql/mysql.sock Code:
# perl Makefile.PL --cflags "-I/usr/include/mysql -fno-omit-frame-pointer -arch ppc64 -arch x86_64 -pipe" --libs "-L/usr/lib/mysql -lmysqlclient -lz -lm" I will use the following settings for compiling and testing: cflags (User's choice) = -I/usr/include/mysql -fno-omit-frame-pointer -arch ppc64 -arch x86_64 -pipe embedded (mysql_config ) = libs (User's choice) = -L/usr/lib/mysql -lmysqlclient -lz -lm mysql_config (guessed ) = mysql_config nocatchstderr (default ) = 0 nofoundrows (default ) = 0 ssl (guessed ) = 0 testdb (default ) = test testhost (default ) = testpassword (default ) = testsocket (default ) = testuser (default ) = To change these settings, see 'perl Makefile.PL --help' and 'perldoc INSTALL'. Checking if your kit is complete... Looks good Using DBI 1.52 (for perl 5.008006 on darwin-thread-multi-2level) installed in /Library/Perl/5.8.6/darwin-thread-multi-2level/auto/DBI/ Writing Makefile for DBD::mysql Code:
# make cp lib/DBD/mysql.pm blib/lib/DBD/mysql.pm 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/Bundle/DBD/mysql.pm blib/lib/Bundle/DBD/mysql.pm cc -c -I/Library/Perl/5.8.6/darwin-thread-multi-2level/auto/DBI -I/usr/include/mysql -fno-omit-frame-pointer -arch ppc64 -arch x86_64 -pipe -DDBD_MYSQL_INSERT_ID_IS_GOOD -g -g -pipe -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -I/usr/local/include -O3 -DVERSION=\"4.001\" -DXS_VERSION=\"4.001\" "-I/System/Library/Perl/5.8.6/darwin-thread-multi-2level/CORE" dbdimp.c /usr/bin/perl -p -e "s/~DRIVER~/mysql/g" /Library/Perl/5.8.6/darwin-thread-multi-2level/auto/DBI/Driver.xst > mysql.xsi /usr/bin/perl /System/Library/Perl/5.8.6/ExtUtils/xsubpp -typemap /System/Library/Perl/5.8.6/ExtUtils/typemap mysql.xs > mysql.xsc && mv mysql.xsc mysql.c Warning: duplicate function definition 'do' detected in mysql.xs, line 254 Warning: duplicate function definition 'rows' detected in mysql.xs, line 658 cc -c -I/Library/Perl/5.8.6/darwin-thread-multi-2level/auto/DBI -I/usr/include/mysql -fno-omit-frame-pointer -arch ppc64 -arch x86_64 -pipe -DDBD_MYSQL_INSERT_ID_IS_GOOD -g -g -pipe -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -I/usr/local/include -O3 -DVERSION=\"4.001\" -DXS_VERSION=\"4.001\" "-I/System/Library/Perl/5.8.6/darwin-thread-multi-2level/CORE" mysql.c mysql.xs: In function 'XS_DBD__mysql__db_do': mysql.xs:346: warning: comparison is always false due to limited range of data type mysql.xs:347: warning: comparison is always false due to limited range of data type mysql.xs: In function 'XS_DBD__mysql__db_do': mysql.xs:346: warning: comparison is always false due to limited range of data type mysql.xs:347: warning: comparison is always false due to limited range of data type Running Mkbootstrap for DBD::mysql () chmod 644 mysql.bs rm -f blib/arch/auto/DBD/mysql/mysql.bundle LD_RUN_PATH="/usr/lib" /usr/bin/perl myld env MACOSX_DEPLOYMENT_TARGET=10.3 cc -bundle -undefined dynamic_lookup -L/usr/local/lib dbdimp.o mysql.o -o blib/arch/auto/DBD/mysql/mysql.bundle -L/usr/lib/mysql -lmysqlclient -lz -lm chmod 755 blib/arch/auto/DBD/mysql/mysql.bundle cp mysql.bs blib/arch/auto/DBD/mysql/mysql.bs chmod 644 blib/arch/auto/DBD/mysql/mysql.bs Manifying blib/man3/DBD::mysql.3pm Manifying blib/man3/DBD::mysql::INSTALL.3pm Manifying blib/man3/Bundle::DBD::mysql.3pm Code:
# make test
cp lib/DBD/mysql.pm blib/lib/DBD/mysql.pm
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/Bundle/DBD/mysql.pm blib/lib/Bundle/DBD/mysql.pm
cc -c -I/Library/Perl/5.8.6/darwin-thread-multi-2level/auto/DBI -I/usr/include/mysql -fno-omit-frame-pointer -arch ppc64 -arch x86_64 -pipe -DDBD_MYSQL_INSERT_ID_IS_GOOD -g -g -pipe -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -I/usr/local/include -O3 -DVERSION=\"4.001\" -DXS_VERSION=\"4.001\" "-I/System/Library/Perl/5.8.6/darwin-thread-multi-2level/CORE" dbdimp.c
/usr/bin/perl -p -e "s/~DRIVER~/mysql/g" /Library/Perl/5.8.6/darwin-thread-multi-2level/auto/DBI/Driver.xst > mysql.xsi
/usr/bin/perl /System/Library/Perl/5.8.6/ExtUtils/xsubpp -typemap /System/Library/Perl/5.8.6/ExtUtils/typemap mysql.xs > mysql.xsc && mv mysql.xsc mysql.c
Warning: duplicate function definition 'do' detected in mysql.xs, line 254
Warning: duplicate function definition 'rows' detected in mysql.xs, line 658
cc -c -I/Library/Perl/5.8.6/darwin-thread-multi-2level/auto/DBI -I/usr/include/mysql -fno-omit-frame-pointer -arch ppc64 -arch x86_64 -pipe -DDBD_MYSQL_INSERT_ID_IS_GOOD -g -g -pipe -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -I/usr/local/include -O3 -DVERSION=\"4.001\" -DXS_VERSION=\"4.001\" "-I/System/Library/Perl/5.8.6/darwin-thread-multi-2level/CORE" mysql.c
mysql.xs: In function 'XS_DBD__mysql__db_do':
mysql.xs:346: warning: comparison is always false due to limited range of data type
mysql.xs:347: warning: comparison is always false due to limited range of data type
mysql.xs: In function 'XS_DBD__mysql__db_do':
mysql.xs:346: warning: comparison is always false due to limited range of data type
mysql.xs:347: warning: comparison is always false due to limited range of data type
Running Mkbootstrap for DBD::mysql ()
chmod 644 mysql.bs
rm -f blib/arch/auto/DBD/mysql/mysql.bundle
LD_RUN_PATH="/usr/lib" /usr/bin/perl myld env MACOSX_DEPLOYMENT_TARGET=10.3 cc -bundle -undefined dynamic_lookup -L/usr/local/lib dbdimp.o mysql.o -o blib/arch/auto/DBD/mysql/mysql.bundle -L/usr/lib/mysql -lmysqlclient -lz -lm
chmod 755 blib/arch/auto/DBD/mysql/mysql.bundle
cp mysql.bs blib/arch/auto/DBD/mysql/mysql.bs
chmod 644 blib/arch/auto/DBD/mysql/mysql.bs
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00base.............install_driver(mysql) failed: Can't find 'boot_DBD__mysql' symbol in /Library/Perl/DBD-mysql-4.001/blib/arch/auto/DBD/mysql/mysql.bundle
at (eval 3) line 3
Compilation failed in require at (eval 3) line 3.
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/10dsnlist..........install_driver(mysql) failed: Can't find 'boot_DBD__mysql' symbol in /Library/Perl/DBD-mysql-4.001/blib/arch/auto/DBD/mysql/mysql.bundle
at (eval 3) line 3
Compilation failed in require at (eval 3) line 3.
<snip>
all tests fail the same
</snip>
t/utf8...............install_driver(mysql) failed: Can't find 'boot_DBD__mysql' symbol in /Library/Perl/DBD-mysql-4.001/blib/arch/auto/DBD/mysql/mysql.bundle
at (eval 3) line 3
Compilation failed in require at (eval 3) line 3.
at t/utf8.t line 49
t/utf8...............dubious
Test returned status 255 (wstat 65280, 0xff00)
Failed Test Stat Wstat Total Fail Failed List of Failed
-------------------------------------------------------------------------------
t/00base.t 255 65280 5 4 80.00% 4-5
t/10dsnlist.t 255 65280 9 18 200.00% 1-9
t/20createdrop.t 255 65280 5 10 200.00% 1-5
t/30insertfetch.t 255 65280 11 22 200.00% 1-11
t/35limit.t 255 65280 113 226 200.00% 1-113
t/35prepare.t 255 65280 40 80 200.00% 1-40
t/40bindparam.t 255 65280 ?? ?? % ??
t/40bindparam2.t 255 65280 13 26 200.00% 1-13
t/40blobs.t 255 65280 11 22 200.00% 1-11
t/40listfields.t 255 65280 19 38 200.00% 1-19
t/40nulls.t 255 65280 11 22 200.00% 1-11
t/40numrows.t 255 65280 25 50 200.00% 1-25
t/41bindparam.t 255 65280 11 22 200.00% 1-11
t/41blobs_prepare.t 255 65280 24 48 200.00% 1-24
t/42bindparam.t 255 65280 11 22 200.00% 1-11
t/50chopblanks.t 255 65280 35 70 200.00% 1-35
t/50commit.t 255 65280 30 60 200.00% 1-30
t/75supported_sql.t 255 65280 17 34 200.00% 1-17
t/80procs.t 255 65280 ?? ?? % ??
t/insertid.t 255 65280 12 24 200.00% 1-12
t/param_values.t 255 65280 8 16 200.00% 1-8
t/prepare_noerror.t 255 65280 ?? ?? % ??
t/texecute.t 255 65280 9 18 200.00% 1-9
t/utf8.t 255 65280 ?? ?? % ??
2 tests skipped.
Failed 24/26 test scripts, 7.69% okay. 416/419 subtests failed, 0.72% okay.
make: *** [test_dynamic] Error 2
|
|
|
|
|
|
#2 |
|
Registered User
Join Date: Mar 2007
Posts: 1
|
Problem Solved!
Give stuff like ActivePerl and Fink a go but not at no avail... I ended up making them modules myself. Steps taken: Download the mysql source code and compiled a mysql (without server) to make libraries only available for DBD. Code:
cd /usr/local/src/mysql-4.1.22 ./configure --without-server --prefix=/usr/local/src/mysql-4.1.22 make make install Downloaded and created DBI Code:
cd /usr/local/src/DBI-1.51 perl Makefile.PL make && make test make install Code:
cd /usr/local/src/DBD-mysql-3.0008 perl Makefile.PL --libs="-L/usr/local/src/mysql-4.1.22/lib/mysql -lmysqlclient -lz -lm" –cflags="-I/usr/local/src/mysql-4.1.22/include/mysql" make && make test make install |
|
|
|
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|