AFP548 Changing the world one server at a time.

DBD installation issues

Home › Forums › Archive › x86 › DBD installation issues

Viewing 2 posts - 1 through 2 (of 2 total)
  • Author
    Posts
  • #368526
    rient
    Participant

    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

    [mysqld]
    socket=/var/mysql/mysql.sock
    
    [client]
    socket=/var/mysql/mysql.sock

    Makefile.PL

    # 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

    # 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

    # 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
    #368556
    rient
    Participant

    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.

    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

    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

    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!

Viewing 2 posts - 1 through 2 (of 2 total)
  • You must be logged in to reply to this topic.