ошибка «Невозможно связать / включить библиотеку 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) и выполнив ручную установку:
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