MySQL 8.4 版本注意事項
如果 Perl 報告無法找到 ../mysql/mysql.so
模組,問題可能是 Perl 無法找到 libmysqlclient.so
共用程式庫。您應該可以使用下列其中一種方法來修正此問題
請注意,如果連結器找不到其他程式庫,您可能也需要修改 -L
選項。例如,如果連結器找不到 libc
,因為它在 /lib
中,而連結命令指定 -L/usr/lib
,請將 -L
選項變更為 -L/lib
或將 -L/lib
新增至現有的連結命令。
如果您從 DBD::mysql
收到下列錯誤,則可能是使用 gcc(或使用舊的由 gcc 編譯的二進位檔)
/usr/bin/perl: can't resolve symbol '__moddi3'
/usr/bin/perl: can't resolve symbol '__divdi3'
在建立 mysql.so
程式庫時,將 -L/usr/lib/gcc-lib/... -lgcc
新增至連結命令(在您編譯 Perl 用戶端時,檢查 make 針對 mysql.so
的輸出)。-L
選項應該指定 libgcc.a
在您系統上的所在目錄的路徑名稱。
造成此問題的另一個原因可能是 Perl 和 MySQL 並非都使用 gcc 編譯。在這種情況下,您可以將兩者都使用 gcc 編譯來解決不符問題。