cpan install of DBD::mysql failing on tests and symbol not found. OSX Mojave










1















This looks like it's been around for years - but I can't find anything recent and related to Mac, and dealing only with just installing the CPAN module DBD::mysql I've been trawling the internet for days now...



# Failed test 'use DBD::mysql;'
# at t/00base.t line 15.
# Tried to use 'DBD::mysql'.
# Error: Can't load '/Users/robert/.cpanm/work/1542100720.91387/DBD-mysql-4.048/blib/arch/auto/DBD/mysql/mysql.bundle' for module DBD::mysql: dlopen(/Users/robert/.cpanm/work/1542100720.91387/DBD-mysql-4.048/blib/arch/auto/DBD/mysql/mysql.bundle, 2): Symbol not found: _mysql_affected_rows
# Referenced from: /Users/robert/.cpanm/work/1542100720.91387/DBD-mysql-4.048/blib/arch/auto/DBD/mysql/mysql.bundle
# Expected in: flat namespace
# in /Users/robert/.cpanm/work/1542100720.91387/DBD-mysql-4.048/blib/arch/auto/DBD/mysql/mysql.bundle at /usr/local/Cellar/perl/5.28.0/lib/perl5/5.28.0/darwin-thread-multi-2level/DynaLoader.pm line 197.
# ^@ at t/00base.t line 15.
# Compilation failed in require at t/00base.t line 15.
# BEGIN failed--compilation aborted at t/00base.t line 15.
Bailout called. Further testing stopped: Unable to load DBD::mysql
FAILED--Further testing stopped: Unable to load DBD::mysql
make: *** [test_dynamic] Error 255
-> FAIL Installing DBD::mysql failed. See /Users/robert/.cpanm/work/1542100720.91387/build.log for details. Retry with --force to force install it.


This is the cpanm line I'm using.



sudo cpanm --configure-args="--libs='-L/usr/local/opt/openssl/lib -L/usr/local/lib -L/usr/local/Cellar/mysql/8.0.12/lib' --cflags='-I/usr/local/opt/openssl/include -I/usr/local/include/mysql -I/usr/local/Cellar/mysql/8.0.12/include/mysql'" DBD::mysql


I have installed mysql with Homebrew, and everything else for that matter. I've even copied a few libs into system directories - but nothing seems to want to get this cpan module to install and work.



EDIT: Additions after this line.
Let's try Making the package by hand



sudo perl Makefile.PL --libs="-L/usr/local/opt/openssl/lib -L/usr/local/lib -L/usr/local/Cellar/mysql/8.0.12/lib -lssl -lcrypto"


The Result of Make. Looking good. I see no errors here.Apparently all libs are available for compiling.



zeus:DBD-mysql-4.048-0 robert$ sudo perl Makefile.PL --libs="-L/usr/local/opt/openssl/lib -lssl -lcrypto -L/usr/local/lib -L/usr/local/Cellar/mysql/8.0.12/lib"
I will use the following settings for compiling and testing:

cflags (mysql_config ) = -I/usr/local/Cellar/mysql/8.0.12/include/mysql
embedded (guessed ) =
libs (User's choice) = -L/usr/local/opt/openssl/lib -lssl -lcrypto -L/usr/local/lib -L/usr/local/Cellar/mysql/8.0.12/lib
mysql_config (Users choice ) = mysql_config
nocatchstderr (default ) = 0
nofoundrows (default ) = 0
nossl (default ) = 0
testdb (User's choice) = test
testhost (default ) =
testpassword (default ) =
testport (default ) =
testsocket (default ) =
testuser (User's choice) = root

To change these settings, see 'perl Makefile.PL --help' and
'perldoc DBD::mysql::INSTALL'.

Checking if libs are available for compiling...
Looks good.

Checking if your kit is complete...
Looks good
Using DBI 1.642 (for perl 5.028000 on darwin-thread-multi-2level) installed in /usr/local/Cellar/perl/5.28.0/lib/perl5/site_perl/5.28.0/darwin-thread-multi-2level/auto/DBI/
Generating a Unix-style Makefile
Writing Makefile for DBD::mysql
Writing MYMETA.yml and MYMETA.json
zeus:DBD-mysql-4.048-0 robert$


Now let's see if a make works.



Looking good. 1 warning about WIDEST_UTYPE but it's only a warning...



Then, mysql.bundle is made



chmod 755 blib/arch/auto/DBD/mysql/mysql.bundle
Manifying 3 pod documents


Ok, now the big test. make test.



... and it fails.



zeus:DBD-mysql-4.048-0 robert$ sudo make test
"/usr/local/Cellar/perl/5.28.0/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- mysql.bs blib/arch/auto/DBD/mysql/mysql.bs 644
PERL_DL_NONLAZY=1 "/usr/local/Cellar/perl/5.28.0/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00base.t .............................. 1/6
# Failed test 'use DBD::mysql;'
# at t/00base.t line 15.
# Tried to use 'DBD::mysql'.
# Error: Can't load '/Users/robert/.cpan/build/DBD-mysql-4.048-0/blib/arch/auto/DBD/mysql/mysql.bundle' for module DBD::mysql: dlopen(/Users/robert/.cpan/build/DBD-mysql-4.048-0/blib/arch/auto/DBD/mysql/mysql.bundle, 2): Symbol not found: _mysql_affected_rows
# Referenced from: /Users/robert/.cpan/build/DBD-mysql-4.048-0/blib/arch/auto/DBD/mysql/mysql.bundle
# Expected in: flat namespace
# in /Users/robert/.cpan/build/DBD-mysql-4.048-0/blib/arch/auto/DBD/mysql/mysql.bundle at /usr/local/Cellar/perl/5.28.0/lib/perl5/5.28.0/darwin-thread-multi-2level/DynaLoader.pm line 197.
# at t/00base.t line 15.
# Compilation failed in require at t/00base.t line 15.
# BEGIN failed--compilation aborted at t/00base.t line 15.
Bailout called. Further testing stopped: Unable to load DBD::mysql
FAILED--Further testing stopped: Unable to load DBD::mysql
make: *** [test_dynamic] Error 255


... and there it is. The same error. Now I also tried MariaDB - same result, although slightly different error messages.



What am I missing here.










share|improve this question
























  • Maybe using DBD::MariaDB ( metacpan.org/pod/DBD::MariaDB ) instead works better, although both drivers had recent releases that should address most failures.

    – Corion
    Nov 13 '18 at 9:55











  • Ok, getting closer. "Can't link/include C library 'ssl', 'crypto', aborting." looks like I need to point it to the ssl and crypto libraries.

    – Harry McGovern
    Nov 13 '18 at 12:57











  • Got it. Finally done by hand. Shees. See My Answer.

    – Harry McGovern
    Nov 13 '18 at 14:11















1















This looks like it's been around for years - but I can't find anything recent and related to Mac, and dealing only with just installing the CPAN module DBD::mysql I've been trawling the internet for days now...



# Failed test 'use DBD::mysql;'
# at t/00base.t line 15.
# Tried to use 'DBD::mysql'.
# Error: Can't load '/Users/robert/.cpanm/work/1542100720.91387/DBD-mysql-4.048/blib/arch/auto/DBD/mysql/mysql.bundle' for module DBD::mysql: dlopen(/Users/robert/.cpanm/work/1542100720.91387/DBD-mysql-4.048/blib/arch/auto/DBD/mysql/mysql.bundle, 2): Symbol not found: _mysql_affected_rows
# Referenced from: /Users/robert/.cpanm/work/1542100720.91387/DBD-mysql-4.048/blib/arch/auto/DBD/mysql/mysql.bundle
# Expected in: flat namespace
# in /Users/robert/.cpanm/work/1542100720.91387/DBD-mysql-4.048/blib/arch/auto/DBD/mysql/mysql.bundle at /usr/local/Cellar/perl/5.28.0/lib/perl5/5.28.0/darwin-thread-multi-2level/DynaLoader.pm line 197.
# ^@ at t/00base.t line 15.
# Compilation failed in require at t/00base.t line 15.
# BEGIN failed--compilation aborted at t/00base.t line 15.
Bailout called. Further testing stopped: Unable to load DBD::mysql
FAILED--Further testing stopped: Unable to load DBD::mysql
make: *** [test_dynamic] Error 255
-> FAIL Installing DBD::mysql failed. See /Users/robert/.cpanm/work/1542100720.91387/build.log for details. Retry with --force to force install it.


This is the cpanm line I'm using.



sudo cpanm --configure-args="--libs='-L/usr/local/opt/openssl/lib -L/usr/local/lib -L/usr/local/Cellar/mysql/8.0.12/lib' --cflags='-I/usr/local/opt/openssl/include -I/usr/local/include/mysql -I/usr/local/Cellar/mysql/8.0.12/include/mysql'" DBD::mysql


I have installed mysql with Homebrew, and everything else for that matter. I've even copied a few libs into system directories - but nothing seems to want to get this cpan module to install and work.



EDIT: Additions after this line.
Let's try Making the package by hand



sudo perl Makefile.PL --libs="-L/usr/local/opt/openssl/lib -L/usr/local/lib -L/usr/local/Cellar/mysql/8.0.12/lib -lssl -lcrypto"


The Result of Make. Looking good. I see no errors here.Apparently all libs are available for compiling.



zeus:DBD-mysql-4.048-0 robert$ sudo perl Makefile.PL --libs="-L/usr/local/opt/openssl/lib -lssl -lcrypto -L/usr/local/lib -L/usr/local/Cellar/mysql/8.0.12/lib"
I will use the following settings for compiling and testing:

cflags (mysql_config ) = -I/usr/local/Cellar/mysql/8.0.12/include/mysql
embedded (guessed ) =
libs (User's choice) = -L/usr/local/opt/openssl/lib -lssl -lcrypto -L/usr/local/lib -L/usr/local/Cellar/mysql/8.0.12/lib
mysql_config (Users choice ) = mysql_config
nocatchstderr (default ) = 0
nofoundrows (default ) = 0
nossl (default ) = 0
testdb (User's choice) = test
testhost (default ) =
testpassword (default ) =
testport (default ) =
testsocket (default ) =
testuser (User's choice) = root

To change these settings, see 'perl Makefile.PL --help' and
'perldoc DBD::mysql::INSTALL'.

Checking if libs are available for compiling...
Looks good.

Checking if your kit is complete...
Looks good
Using DBI 1.642 (for perl 5.028000 on darwin-thread-multi-2level) installed in /usr/local/Cellar/perl/5.28.0/lib/perl5/site_perl/5.28.0/darwin-thread-multi-2level/auto/DBI/
Generating a Unix-style Makefile
Writing Makefile for DBD::mysql
Writing MYMETA.yml and MYMETA.json
zeus:DBD-mysql-4.048-0 robert$


Now let's see if a make works.



Looking good. 1 warning about WIDEST_UTYPE but it's only a warning...



Then, mysql.bundle is made



chmod 755 blib/arch/auto/DBD/mysql/mysql.bundle
Manifying 3 pod documents


Ok, now the big test. make test.



... and it fails.



zeus:DBD-mysql-4.048-0 robert$ sudo make test
"/usr/local/Cellar/perl/5.28.0/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- mysql.bs blib/arch/auto/DBD/mysql/mysql.bs 644
PERL_DL_NONLAZY=1 "/usr/local/Cellar/perl/5.28.0/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00base.t .............................. 1/6
# Failed test 'use DBD::mysql;'
# at t/00base.t line 15.
# Tried to use 'DBD::mysql'.
# Error: Can't load '/Users/robert/.cpan/build/DBD-mysql-4.048-0/blib/arch/auto/DBD/mysql/mysql.bundle' for module DBD::mysql: dlopen(/Users/robert/.cpan/build/DBD-mysql-4.048-0/blib/arch/auto/DBD/mysql/mysql.bundle, 2): Symbol not found: _mysql_affected_rows
# Referenced from: /Users/robert/.cpan/build/DBD-mysql-4.048-0/blib/arch/auto/DBD/mysql/mysql.bundle
# Expected in: flat namespace
# in /Users/robert/.cpan/build/DBD-mysql-4.048-0/blib/arch/auto/DBD/mysql/mysql.bundle at /usr/local/Cellar/perl/5.28.0/lib/perl5/5.28.0/darwin-thread-multi-2level/DynaLoader.pm line 197.
# at t/00base.t line 15.
# Compilation failed in require at t/00base.t line 15.
# BEGIN failed--compilation aborted at t/00base.t line 15.
Bailout called. Further testing stopped: Unable to load DBD::mysql
FAILED--Further testing stopped: Unable to load DBD::mysql
make: *** [test_dynamic] Error 255


... and there it is. The same error. Now I also tried MariaDB - same result, although slightly different error messages.



What am I missing here.










share|improve this question
























  • Maybe using DBD::MariaDB ( metacpan.org/pod/DBD::MariaDB ) instead works better, although both drivers had recent releases that should address most failures.

    – Corion
    Nov 13 '18 at 9:55











  • Ok, getting closer. "Can't link/include C library 'ssl', 'crypto', aborting." looks like I need to point it to the ssl and crypto libraries.

    – Harry McGovern
    Nov 13 '18 at 12:57











  • Got it. Finally done by hand. Shees. See My Answer.

    – Harry McGovern
    Nov 13 '18 at 14:11













1












1








1








This looks like it's been around for years - but I can't find anything recent and related to Mac, and dealing only with just installing the CPAN module DBD::mysql I've been trawling the internet for days now...



# Failed test 'use DBD::mysql;'
# at t/00base.t line 15.
# Tried to use 'DBD::mysql'.
# Error: Can't load '/Users/robert/.cpanm/work/1542100720.91387/DBD-mysql-4.048/blib/arch/auto/DBD/mysql/mysql.bundle' for module DBD::mysql: dlopen(/Users/robert/.cpanm/work/1542100720.91387/DBD-mysql-4.048/blib/arch/auto/DBD/mysql/mysql.bundle, 2): Symbol not found: _mysql_affected_rows
# Referenced from: /Users/robert/.cpanm/work/1542100720.91387/DBD-mysql-4.048/blib/arch/auto/DBD/mysql/mysql.bundle
# Expected in: flat namespace
# in /Users/robert/.cpanm/work/1542100720.91387/DBD-mysql-4.048/blib/arch/auto/DBD/mysql/mysql.bundle at /usr/local/Cellar/perl/5.28.0/lib/perl5/5.28.0/darwin-thread-multi-2level/DynaLoader.pm line 197.
# ^@ at t/00base.t line 15.
# Compilation failed in require at t/00base.t line 15.
# BEGIN failed--compilation aborted at t/00base.t line 15.
Bailout called. Further testing stopped: Unable to load DBD::mysql
FAILED--Further testing stopped: Unable to load DBD::mysql
make: *** [test_dynamic] Error 255
-> FAIL Installing DBD::mysql failed. See /Users/robert/.cpanm/work/1542100720.91387/build.log for details. Retry with --force to force install it.


This is the cpanm line I'm using.



sudo cpanm --configure-args="--libs='-L/usr/local/opt/openssl/lib -L/usr/local/lib -L/usr/local/Cellar/mysql/8.0.12/lib' --cflags='-I/usr/local/opt/openssl/include -I/usr/local/include/mysql -I/usr/local/Cellar/mysql/8.0.12/include/mysql'" DBD::mysql


I have installed mysql with Homebrew, and everything else for that matter. I've even copied a few libs into system directories - but nothing seems to want to get this cpan module to install and work.



EDIT: Additions after this line.
Let's try Making the package by hand



sudo perl Makefile.PL --libs="-L/usr/local/opt/openssl/lib -L/usr/local/lib -L/usr/local/Cellar/mysql/8.0.12/lib -lssl -lcrypto"


The Result of Make. Looking good. I see no errors here.Apparently all libs are available for compiling.



zeus:DBD-mysql-4.048-0 robert$ sudo perl Makefile.PL --libs="-L/usr/local/opt/openssl/lib -lssl -lcrypto -L/usr/local/lib -L/usr/local/Cellar/mysql/8.0.12/lib"
I will use the following settings for compiling and testing:

cflags (mysql_config ) = -I/usr/local/Cellar/mysql/8.0.12/include/mysql
embedded (guessed ) =
libs (User's choice) = -L/usr/local/opt/openssl/lib -lssl -lcrypto -L/usr/local/lib -L/usr/local/Cellar/mysql/8.0.12/lib
mysql_config (Users choice ) = mysql_config
nocatchstderr (default ) = 0
nofoundrows (default ) = 0
nossl (default ) = 0
testdb (User's choice) = test
testhost (default ) =
testpassword (default ) =
testport (default ) =
testsocket (default ) =
testuser (User's choice) = root

To change these settings, see 'perl Makefile.PL --help' and
'perldoc DBD::mysql::INSTALL'.

Checking if libs are available for compiling...
Looks good.

Checking if your kit is complete...
Looks good
Using DBI 1.642 (for perl 5.028000 on darwin-thread-multi-2level) installed in /usr/local/Cellar/perl/5.28.0/lib/perl5/site_perl/5.28.0/darwin-thread-multi-2level/auto/DBI/
Generating a Unix-style Makefile
Writing Makefile for DBD::mysql
Writing MYMETA.yml and MYMETA.json
zeus:DBD-mysql-4.048-0 robert$


Now let's see if a make works.



Looking good. 1 warning about WIDEST_UTYPE but it's only a warning...



Then, mysql.bundle is made



chmod 755 blib/arch/auto/DBD/mysql/mysql.bundle
Manifying 3 pod documents


Ok, now the big test. make test.



... and it fails.



zeus:DBD-mysql-4.048-0 robert$ sudo make test
"/usr/local/Cellar/perl/5.28.0/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- mysql.bs blib/arch/auto/DBD/mysql/mysql.bs 644
PERL_DL_NONLAZY=1 "/usr/local/Cellar/perl/5.28.0/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00base.t .............................. 1/6
# Failed test 'use DBD::mysql;'
# at t/00base.t line 15.
# Tried to use 'DBD::mysql'.
# Error: Can't load '/Users/robert/.cpan/build/DBD-mysql-4.048-0/blib/arch/auto/DBD/mysql/mysql.bundle' for module DBD::mysql: dlopen(/Users/robert/.cpan/build/DBD-mysql-4.048-0/blib/arch/auto/DBD/mysql/mysql.bundle, 2): Symbol not found: _mysql_affected_rows
# Referenced from: /Users/robert/.cpan/build/DBD-mysql-4.048-0/blib/arch/auto/DBD/mysql/mysql.bundle
# Expected in: flat namespace
# in /Users/robert/.cpan/build/DBD-mysql-4.048-0/blib/arch/auto/DBD/mysql/mysql.bundle at /usr/local/Cellar/perl/5.28.0/lib/perl5/5.28.0/darwin-thread-multi-2level/DynaLoader.pm line 197.
# at t/00base.t line 15.
# Compilation failed in require at t/00base.t line 15.
# BEGIN failed--compilation aborted at t/00base.t line 15.
Bailout called. Further testing stopped: Unable to load DBD::mysql
FAILED--Further testing stopped: Unable to load DBD::mysql
make: *** [test_dynamic] Error 255


... and there it is. The same error. Now I also tried MariaDB - same result, although slightly different error messages.



What am I missing here.










share|improve this question
















This looks like it's been around for years - but I can't find anything recent and related to Mac, and dealing only with just installing the CPAN module DBD::mysql I've been trawling the internet for days now...



# Failed test 'use DBD::mysql;'
# at t/00base.t line 15.
# Tried to use 'DBD::mysql'.
# Error: Can't load '/Users/robert/.cpanm/work/1542100720.91387/DBD-mysql-4.048/blib/arch/auto/DBD/mysql/mysql.bundle' for module DBD::mysql: dlopen(/Users/robert/.cpanm/work/1542100720.91387/DBD-mysql-4.048/blib/arch/auto/DBD/mysql/mysql.bundle, 2): Symbol not found: _mysql_affected_rows
# Referenced from: /Users/robert/.cpanm/work/1542100720.91387/DBD-mysql-4.048/blib/arch/auto/DBD/mysql/mysql.bundle
# Expected in: flat namespace
# in /Users/robert/.cpanm/work/1542100720.91387/DBD-mysql-4.048/blib/arch/auto/DBD/mysql/mysql.bundle at /usr/local/Cellar/perl/5.28.0/lib/perl5/5.28.0/darwin-thread-multi-2level/DynaLoader.pm line 197.
# ^@ at t/00base.t line 15.
# Compilation failed in require at t/00base.t line 15.
# BEGIN failed--compilation aborted at t/00base.t line 15.
Bailout called. Further testing stopped: Unable to load DBD::mysql
FAILED--Further testing stopped: Unable to load DBD::mysql
make: *** [test_dynamic] Error 255
-> FAIL Installing DBD::mysql failed. See /Users/robert/.cpanm/work/1542100720.91387/build.log for details. Retry with --force to force install it.


This is the cpanm line I'm using.



sudo cpanm --configure-args="--libs='-L/usr/local/opt/openssl/lib -L/usr/local/lib -L/usr/local/Cellar/mysql/8.0.12/lib' --cflags='-I/usr/local/opt/openssl/include -I/usr/local/include/mysql -I/usr/local/Cellar/mysql/8.0.12/include/mysql'" DBD::mysql


I have installed mysql with Homebrew, and everything else for that matter. I've even copied a few libs into system directories - but nothing seems to want to get this cpan module to install and work.



EDIT: Additions after this line.
Let's try Making the package by hand



sudo perl Makefile.PL --libs="-L/usr/local/opt/openssl/lib -L/usr/local/lib -L/usr/local/Cellar/mysql/8.0.12/lib -lssl -lcrypto"


The Result of Make. Looking good. I see no errors here.Apparently all libs are available for compiling.



zeus:DBD-mysql-4.048-0 robert$ sudo perl Makefile.PL --libs="-L/usr/local/opt/openssl/lib -lssl -lcrypto -L/usr/local/lib -L/usr/local/Cellar/mysql/8.0.12/lib"
I will use the following settings for compiling and testing:

cflags (mysql_config ) = -I/usr/local/Cellar/mysql/8.0.12/include/mysql
embedded (guessed ) =
libs (User's choice) = -L/usr/local/opt/openssl/lib -lssl -lcrypto -L/usr/local/lib -L/usr/local/Cellar/mysql/8.0.12/lib
mysql_config (Users choice ) = mysql_config
nocatchstderr (default ) = 0
nofoundrows (default ) = 0
nossl (default ) = 0
testdb (User's choice) = test
testhost (default ) =
testpassword (default ) =
testport (default ) =
testsocket (default ) =
testuser (User's choice) = root

To change these settings, see 'perl Makefile.PL --help' and
'perldoc DBD::mysql::INSTALL'.

Checking if libs are available for compiling...
Looks good.

Checking if your kit is complete...
Looks good
Using DBI 1.642 (for perl 5.028000 on darwin-thread-multi-2level) installed in /usr/local/Cellar/perl/5.28.0/lib/perl5/site_perl/5.28.0/darwin-thread-multi-2level/auto/DBI/
Generating a Unix-style Makefile
Writing Makefile for DBD::mysql
Writing MYMETA.yml and MYMETA.json
zeus:DBD-mysql-4.048-0 robert$


Now let's see if a make works.



Looking good. 1 warning about WIDEST_UTYPE but it's only a warning...



Then, mysql.bundle is made



chmod 755 blib/arch/auto/DBD/mysql/mysql.bundle
Manifying 3 pod documents


Ok, now the big test. make test.



... and it fails.



zeus:DBD-mysql-4.048-0 robert$ sudo make test
"/usr/local/Cellar/perl/5.28.0/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- mysql.bs blib/arch/auto/DBD/mysql/mysql.bs 644
PERL_DL_NONLAZY=1 "/usr/local/Cellar/perl/5.28.0/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00base.t .............................. 1/6
# Failed test 'use DBD::mysql;'
# at t/00base.t line 15.
# Tried to use 'DBD::mysql'.
# Error: Can't load '/Users/robert/.cpan/build/DBD-mysql-4.048-0/blib/arch/auto/DBD/mysql/mysql.bundle' for module DBD::mysql: dlopen(/Users/robert/.cpan/build/DBD-mysql-4.048-0/blib/arch/auto/DBD/mysql/mysql.bundle, 2): Symbol not found: _mysql_affected_rows
# Referenced from: /Users/robert/.cpan/build/DBD-mysql-4.048-0/blib/arch/auto/DBD/mysql/mysql.bundle
# Expected in: flat namespace
# in /Users/robert/.cpan/build/DBD-mysql-4.048-0/blib/arch/auto/DBD/mysql/mysql.bundle at /usr/local/Cellar/perl/5.28.0/lib/perl5/5.28.0/darwin-thread-multi-2level/DynaLoader.pm line 197.
# at t/00base.t line 15.
# Compilation failed in require at t/00base.t line 15.
# BEGIN failed--compilation aborted at t/00base.t line 15.
Bailout called. Further testing stopped: Unable to load DBD::mysql
FAILED--Further testing stopped: Unable to load DBD::mysql
make: *** [test_dynamic] Error 255


... and there it is. The same error. Now I also tried MariaDB - same result, although slightly different error messages.



What am I missing here.







perl cpan macos-mojave dbd-mysql






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 13 '18 at 13:35







Harry McGovern

















asked Nov 13 '18 at 9:34









Harry McGovernHarry McGovern

12311




12311












  • Maybe using DBD::MariaDB ( metacpan.org/pod/DBD::MariaDB ) instead works better, although both drivers had recent releases that should address most failures.

    – Corion
    Nov 13 '18 at 9:55











  • Ok, getting closer. "Can't link/include C library 'ssl', 'crypto', aborting." looks like I need to point it to the ssl and crypto libraries.

    – Harry McGovern
    Nov 13 '18 at 12:57











  • Got it. Finally done by hand. Shees. See My Answer.

    – Harry McGovern
    Nov 13 '18 at 14:11

















  • Maybe using DBD::MariaDB ( metacpan.org/pod/DBD::MariaDB ) instead works better, although both drivers had recent releases that should address most failures.

    – Corion
    Nov 13 '18 at 9:55











  • Ok, getting closer. "Can't link/include C library 'ssl', 'crypto', aborting." looks like I need to point it to the ssl and crypto libraries.

    – Harry McGovern
    Nov 13 '18 at 12:57











  • Got it. Finally done by hand. Shees. See My Answer.

    – Harry McGovern
    Nov 13 '18 at 14:11
















Maybe using DBD::MariaDB ( metacpan.org/pod/DBD::MariaDB ) instead works better, although both drivers had recent releases that should address most failures.

– Corion
Nov 13 '18 at 9:55





Maybe using DBD::MariaDB ( metacpan.org/pod/DBD::MariaDB ) instead works better, although both drivers had recent releases that should address most failures.

– Corion
Nov 13 '18 at 9:55













Ok, getting closer. "Can't link/include C library 'ssl', 'crypto', aborting." looks like I need to point it to the ssl and crypto libraries.

– Harry McGovern
Nov 13 '18 at 12:57





Ok, getting closer. "Can't link/include C library 'ssl', 'crypto', aborting." looks like I need to point it to the ssl and crypto libraries.

– Harry McGovern
Nov 13 '18 at 12:57













Got it. Finally done by hand. Shees. See My Answer.

– Harry McGovern
Nov 13 '18 at 14:11





Got it. Finally done by hand. Shees. See My Answer.

– Harry McGovern
Nov 13 '18 at 14:11












1 Answer
1






active

oldest

votes


















5














So I finally found it. Of course, it was locating the libraries and include files properly.



So I went into the cpan directory on my system



/Users/robert/.cpan/build/DBD-mysql-4.048-0


After checking just where the brew installations were for both openssl and mysql, I woke up.



sudo perl Makefile.PL --libs="-L/usr/local/opt/openssl/lib -lssl -lcrypto -L/usr/local/lib -L/usr/local/Cellar/mysql/8.0.12/lib -lmysqlclient"


Now. that worked because after looking in the mysaql lib directory, I see that the library is 'mysqlclient' and not mysql. As you see above.



Now that worked doing the Makefile.PL thing as above.



Then 'make' worked. As above. Not showing any errors... as above



Then sudo make test worked - this time.



All tests successful.
Files=73, Tests=9, 11 wallclock secs ( 0.24 usr 0.15 sys + 8.25 cusr 1.23 csys = 9.87 CPU)
Result: PASS


Finally - make install. Worked



zeus:DBD-mysql-4.048-0 robert$ sudo make install
"/usr/local/Cellar/perl/5.28.0/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- mysql.bs blib/arch/auto/DBD/mysql/mysql.bs 644
Manifying 3 pod documents
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
Installing /usr/local/Cellar/perl/5.28.0/lib/perl5/site_perl/5.28.0/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle
Installing /usr/local/Cellar/perl/5.28.0/lib/perl5/site_perl/5.28.0/darwin-thread-multi-2level/Bundle/DBD/mysql.pm
Installing /usr/local/Cellar/perl/5.28.0/lib/perl5/site_perl/5.28.0/darwin-thread-multi-2level/DBD/mysql.pm
Installing /usr/local/Cellar/perl/5.28.0/lib/perl5/site_perl/5.28.0/darwin-thread-multi-2level/DBD/mysql/INSTALL.pod
Installing /usr/local/Cellar/perl/5.28.0/lib/perl5/site_perl/5.28.0/darwin-thread-multi-2level/DBD/mysql/GetInfo.pm
Installing /usr/local/Cellar/perl/5.28.0/share/man/man3/Bundle::DBD::mysql.3
Installing /usr/local/Cellar/perl/5.28.0/share/man/man3/DBD::mysql::INSTALL.3
Installing /usr/local/Cellar/perl/5.28.0/share/man/man3/DBD::mysql.3
Appending installation info to /usr/local/Cellar/perl/5.28.0/lib/perl5/5.28.0/darwin-thread-multi-2level/perllocal.pod
zeus:DBD-mysql-4.048-0 robert$ pwd
/Users/robert/.cpan/build/DBD-mysql-4.048-0


Well finally. Now why did I want this? I can't remember.






share|improve this answer






















    Your Answer






    StackExchange.ifUsing("editor", function ()
    StackExchange.using("externalEditor", function ()
    StackExchange.using("snippets", function ()
    StackExchange.snippets.init();
    );
    );
    , "code-snippets");

    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "1"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader:
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );













    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53277884%2fcpan-install-of-dbdmysql-failing-on-tests-and-symbol-not-found-osx-mojave%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    5














    So I finally found it. Of course, it was locating the libraries and include files properly.



    So I went into the cpan directory on my system



    /Users/robert/.cpan/build/DBD-mysql-4.048-0


    After checking just where the brew installations were for both openssl and mysql, I woke up.



    sudo perl Makefile.PL --libs="-L/usr/local/opt/openssl/lib -lssl -lcrypto -L/usr/local/lib -L/usr/local/Cellar/mysql/8.0.12/lib -lmysqlclient"


    Now. that worked because after looking in the mysaql lib directory, I see that the library is 'mysqlclient' and not mysql. As you see above.



    Now that worked doing the Makefile.PL thing as above.



    Then 'make' worked. As above. Not showing any errors... as above



    Then sudo make test worked - this time.



    All tests successful.
    Files=73, Tests=9, 11 wallclock secs ( 0.24 usr 0.15 sys + 8.25 cusr 1.23 csys = 9.87 CPU)
    Result: PASS


    Finally - make install. Worked



    zeus:DBD-mysql-4.048-0 robert$ sudo make install
    "/usr/local/Cellar/perl/5.28.0/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- mysql.bs blib/arch/auto/DBD/mysql/mysql.bs 644
    Manifying 3 pod documents
    Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
    Installing /usr/local/Cellar/perl/5.28.0/lib/perl5/site_perl/5.28.0/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle
    Installing /usr/local/Cellar/perl/5.28.0/lib/perl5/site_perl/5.28.0/darwin-thread-multi-2level/Bundle/DBD/mysql.pm
    Installing /usr/local/Cellar/perl/5.28.0/lib/perl5/site_perl/5.28.0/darwin-thread-multi-2level/DBD/mysql.pm
    Installing /usr/local/Cellar/perl/5.28.0/lib/perl5/site_perl/5.28.0/darwin-thread-multi-2level/DBD/mysql/INSTALL.pod
    Installing /usr/local/Cellar/perl/5.28.0/lib/perl5/site_perl/5.28.0/darwin-thread-multi-2level/DBD/mysql/GetInfo.pm
    Installing /usr/local/Cellar/perl/5.28.0/share/man/man3/Bundle::DBD::mysql.3
    Installing /usr/local/Cellar/perl/5.28.0/share/man/man3/DBD::mysql::INSTALL.3
    Installing /usr/local/Cellar/perl/5.28.0/share/man/man3/DBD::mysql.3
    Appending installation info to /usr/local/Cellar/perl/5.28.0/lib/perl5/5.28.0/darwin-thread-multi-2level/perllocal.pod
    zeus:DBD-mysql-4.048-0 robert$ pwd
    /Users/robert/.cpan/build/DBD-mysql-4.048-0


    Well finally. Now why did I want this? I can't remember.






    share|improve this answer



























      5














      So I finally found it. Of course, it was locating the libraries and include files properly.



      So I went into the cpan directory on my system



      /Users/robert/.cpan/build/DBD-mysql-4.048-0


      After checking just where the brew installations were for both openssl and mysql, I woke up.



      sudo perl Makefile.PL --libs="-L/usr/local/opt/openssl/lib -lssl -lcrypto -L/usr/local/lib -L/usr/local/Cellar/mysql/8.0.12/lib -lmysqlclient"


      Now. that worked because after looking in the mysaql lib directory, I see that the library is 'mysqlclient' and not mysql. As you see above.



      Now that worked doing the Makefile.PL thing as above.



      Then 'make' worked. As above. Not showing any errors... as above



      Then sudo make test worked - this time.



      All tests successful.
      Files=73, Tests=9, 11 wallclock secs ( 0.24 usr 0.15 sys + 8.25 cusr 1.23 csys = 9.87 CPU)
      Result: PASS


      Finally - make install. Worked



      zeus:DBD-mysql-4.048-0 robert$ sudo make install
      "/usr/local/Cellar/perl/5.28.0/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- mysql.bs blib/arch/auto/DBD/mysql/mysql.bs 644
      Manifying 3 pod documents
      Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
      Installing /usr/local/Cellar/perl/5.28.0/lib/perl5/site_perl/5.28.0/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle
      Installing /usr/local/Cellar/perl/5.28.0/lib/perl5/site_perl/5.28.0/darwin-thread-multi-2level/Bundle/DBD/mysql.pm
      Installing /usr/local/Cellar/perl/5.28.0/lib/perl5/site_perl/5.28.0/darwin-thread-multi-2level/DBD/mysql.pm
      Installing /usr/local/Cellar/perl/5.28.0/lib/perl5/site_perl/5.28.0/darwin-thread-multi-2level/DBD/mysql/INSTALL.pod
      Installing /usr/local/Cellar/perl/5.28.0/lib/perl5/site_perl/5.28.0/darwin-thread-multi-2level/DBD/mysql/GetInfo.pm
      Installing /usr/local/Cellar/perl/5.28.0/share/man/man3/Bundle::DBD::mysql.3
      Installing /usr/local/Cellar/perl/5.28.0/share/man/man3/DBD::mysql::INSTALL.3
      Installing /usr/local/Cellar/perl/5.28.0/share/man/man3/DBD::mysql.3
      Appending installation info to /usr/local/Cellar/perl/5.28.0/lib/perl5/5.28.0/darwin-thread-multi-2level/perllocal.pod
      zeus:DBD-mysql-4.048-0 robert$ pwd
      /Users/robert/.cpan/build/DBD-mysql-4.048-0


      Well finally. Now why did I want this? I can't remember.






      share|improve this answer

























        5












        5








        5







        So I finally found it. Of course, it was locating the libraries and include files properly.



        So I went into the cpan directory on my system



        /Users/robert/.cpan/build/DBD-mysql-4.048-0


        After checking just where the brew installations were for both openssl and mysql, I woke up.



        sudo perl Makefile.PL --libs="-L/usr/local/opt/openssl/lib -lssl -lcrypto -L/usr/local/lib -L/usr/local/Cellar/mysql/8.0.12/lib -lmysqlclient"


        Now. that worked because after looking in the mysaql lib directory, I see that the library is 'mysqlclient' and not mysql. As you see above.



        Now that worked doing the Makefile.PL thing as above.



        Then 'make' worked. As above. Not showing any errors... as above



        Then sudo make test worked - this time.



        All tests successful.
        Files=73, Tests=9, 11 wallclock secs ( 0.24 usr 0.15 sys + 8.25 cusr 1.23 csys = 9.87 CPU)
        Result: PASS


        Finally - make install. Worked



        zeus:DBD-mysql-4.048-0 robert$ sudo make install
        "/usr/local/Cellar/perl/5.28.0/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- mysql.bs blib/arch/auto/DBD/mysql/mysql.bs 644
        Manifying 3 pod documents
        Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
        Installing /usr/local/Cellar/perl/5.28.0/lib/perl5/site_perl/5.28.0/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle
        Installing /usr/local/Cellar/perl/5.28.0/lib/perl5/site_perl/5.28.0/darwin-thread-multi-2level/Bundle/DBD/mysql.pm
        Installing /usr/local/Cellar/perl/5.28.0/lib/perl5/site_perl/5.28.0/darwin-thread-multi-2level/DBD/mysql.pm
        Installing /usr/local/Cellar/perl/5.28.0/lib/perl5/site_perl/5.28.0/darwin-thread-multi-2level/DBD/mysql/INSTALL.pod
        Installing /usr/local/Cellar/perl/5.28.0/lib/perl5/site_perl/5.28.0/darwin-thread-multi-2level/DBD/mysql/GetInfo.pm
        Installing /usr/local/Cellar/perl/5.28.0/share/man/man3/Bundle::DBD::mysql.3
        Installing /usr/local/Cellar/perl/5.28.0/share/man/man3/DBD::mysql::INSTALL.3
        Installing /usr/local/Cellar/perl/5.28.0/share/man/man3/DBD::mysql.3
        Appending installation info to /usr/local/Cellar/perl/5.28.0/lib/perl5/5.28.0/darwin-thread-multi-2level/perllocal.pod
        zeus:DBD-mysql-4.048-0 robert$ pwd
        /Users/robert/.cpan/build/DBD-mysql-4.048-0


        Well finally. Now why did I want this? I can't remember.






        share|improve this answer













        So I finally found it. Of course, it was locating the libraries and include files properly.



        So I went into the cpan directory on my system



        /Users/robert/.cpan/build/DBD-mysql-4.048-0


        After checking just where the brew installations were for both openssl and mysql, I woke up.



        sudo perl Makefile.PL --libs="-L/usr/local/opt/openssl/lib -lssl -lcrypto -L/usr/local/lib -L/usr/local/Cellar/mysql/8.0.12/lib -lmysqlclient"


        Now. that worked because after looking in the mysaql lib directory, I see that the library is 'mysqlclient' and not mysql. As you see above.



        Now that worked doing the Makefile.PL thing as above.



        Then 'make' worked. As above. Not showing any errors... as above



        Then sudo make test worked - this time.



        All tests successful.
        Files=73, Tests=9, 11 wallclock secs ( 0.24 usr 0.15 sys + 8.25 cusr 1.23 csys = 9.87 CPU)
        Result: PASS


        Finally - make install. Worked



        zeus:DBD-mysql-4.048-0 robert$ sudo make install
        "/usr/local/Cellar/perl/5.28.0/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- mysql.bs blib/arch/auto/DBD/mysql/mysql.bs 644
        Manifying 3 pod documents
        Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
        Installing /usr/local/Cellar/perl/5.28.0/lib/perl5/site_perl/5.28.0/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle
        Installing /usr/local/Cellar/perl/5.28.0/lib/perl5/site_perl/5.28.0/darwin-thread-multi-2level/Bundle/DBD/mysql.pm
        Installing /usr/local/Cellar/perl/5.28.0/lib/perl5/site_perl/5.28.0/darwin-thread-multi-2level/DBD/mysql.pm
        Installing /usr/local/Cellar/perl/5.28.0/lib/perl5/site_perl/5.28.0/darwin-thread-multi-2level/DBD/mysql/INSTALL.pod
        Installing /usr/local/Cellar/perl/5.28.0/lib/perl5/site_perl/5.28.0/darwin-thread-multi-2level/DBD/mysql/GetInfo.pm
        Installing /usr/local/Cellar/perl/5.28.0/share/man/man3/Bundle::DBD::mysql.3
        Installing /usr/local/Cellar/perl/5.28.0/share/man/man3/DBD::mysql::INSTALL.3
        Installing /usr/local/Cellar/perl/5.28.0/share/man/man3/DBD::mysql.3
        Appending installation info to /usr/local/Cellar/perl/5.28.0/lib/perl5/5.28.0/darwin-thread-multi-2level/perllocal.pod
        zeus:DBD-mysql-4.048-0 robert$ pwd
        /Users/robert/.cpan/build/DBD-mysql-4.048-0


        Well finally. Now why did I want this? I can't remember.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 13 '18 at 14:19









        Harry McGovernHarry McGovern

        12311




        12311



























            draft saved

            draft discarded
















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53277884%2fcpan-install-of-dbdmysql-failing-on-tests-and-symbol-not-found-osx-mojave%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            這個網誌中的熱門文章

            Barbados

            How to read a connectionString WITH PROVIDER in .NET Core?

            Node.js Script on GitHub Pages or Amazon S3