Go Back   The macosxhints Forums > OS X Help Requests > UNIX - General



Reply
 
Thread Tools Rate Thread Display Modes
Old 03-10-2007, 10:58 AM   #1
rient
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
Makefile.PL
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
make
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
make test
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
rient is offline   Reply With Quote
Old 03-14-2007, 02:14 PM   #2
rient
Registered User
 
Join Date: Mar 2007
Posts: 1
Smile Problem Solved!

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
Note: make install generates quite a few errors which can be ignored. We only need them libraries...


Downloaded and created DBI
Code:
cd  /usr/local/src/DBI-1.51

perl Makefile.PL

make && make test

make install
Downloaded and created DBD using the previously compiled mysql libraries
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
Okay, all systems are go!
rient is offline   Reply With Quote
Reply

Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -5. The time now is 03:52 AM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Site design © Mac Publishing LLC; individuals retain copyright of their postings
but consent to the possible use of their material in other areas of Mac Publishing LLC.