ошибка «Невозможно связать / включить библиотеку C 'zstd'» при установке DBD::mysql на Mac Big Sur - MacPorts MySQL

Я использую mysql8 на Big Sur - он был установлен с MacPorts. У меня возникли проблемы с установкой DBD::mysql - как через CPAN, так и вручную. Я получаю следующее сообщение об ошибке:

      Checking if libs are available for compiling... 
Can't link/include C library 'zstd', aborting.

Некоторые (возможно, совершенно не относящиеся к делу) факты, которые могут помочь - я ищу здесь в темноте:

  • Я использую / usr / bin / perl, хотя MacPorts Perl отображается как «активный». @INC ничего не включает в / opt
  • Я нахожу следующее в / opt / local / lib:
      lrwxr-xr-x    1 root  admin        19 Mar  6 12:30 libzstd.1.dylib -> libzstd.1.4.9.dylib
-rw-r--r--    1 root  admin   1112760 Mar  6 12:30 libzstd.a
lrwxr-xr-x    1 root  admin        19 Mar  6 12:30 libzstd.dylib -> libzstd.1.4.9.dylib
  • Когда я бегу mysql_config, Я получаю следующий вывод, связанный с библиотеками:
      --libs           [-L/opt/local/lib/mysql8/mysql -lmysqlclient -lz -lzstd -lssl -lcrypto -lresolv]

Какие-нибудь намеки? Спасибо заранее!

2 ответа

У меня была такая же проблема при установке DBD:mysql на недавнем MacBook M1. Я решил это, установив perlbrew(а затем переустановив perl) и выполнив ручную установку:

https://perlbrew.pl/

Perlbrew дает вам возможность устанавливать и запускать другие версии Perl (кроме версии «поставщика», которую использует OSX).

Затем я загрузил пакет DBD :: mysql (https://metacpan.org/pod/DBD::mysql). Затем я пошел на ручную установку, установив флаги компоновщика, чтобы исключить недостающие библиотеки.

      perl Makefile.PL --libs="-L/opt/homebrew/Cellar/mysql/8.0.25_1/lib -lmysqlclient"
make
make test
make install

Очевидным ответом было бы использование MacPorts для установки DBD::mysql, например, запустив

      sudo port install p5.28-dbd-mysql +mysql8
Другие вопросы по тегам