2011-06-15 86 views
3

我沒有使用Perl的經驗,我正在爲我正在開發的一個項目嘗試運行the geo_to_mysql.pl program。我在前幾行沒有對數據庫,用戶名,密碼和文件目錄路徑以外的程序進行修改。錯誤消息「Library not loaded:libmysqlclient.18.dylib」的原因是什麼?

運行程序時,我不斷收到此錯誤:

install_driver(mysql) failed: Can't load '/Library/Perl/5.10.0/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle' for module DBD::mysql: dlopen(/Library/Perl/5.10.0/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle, 1): Library not loaded: libmysqlclient.18.dylib

Referenced from: /Library/Perl/5.10.0/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle

Reason: image not found at /System/Library/Perl/5.10.0/darwin-thread-multi-2level/DynaLoader.pm line 207.

at (eval 7) line 3

Compilation failed in require at (eval 7) line 3.

Perhaps a required shared library or dll isn't installed where expected

我確信,我安裝的MySQL從CPAN所需的DBD,所以我不認爲這是個問題。任何人都可以解釋一下這個問題嗎?

+0

Perl的DBI(數據庫接口)模塊需要針對每個要連接的數據庫類型的DBD(數據庫驅動程序)。看起來你錯過了MySQL的DBD。它應該可以從CPAN輕鬆安裝,或者可以作爲系統的預構建包在某處使用。 – 2011-06-15 16:10:38

+0

我從CPAN安裝了DBD :: mysql,但我仍然收到完全相同的錯誤信息......任何想法?再次感謝:) – NSP 2011-06-15 16:16:18

+0

你編譯DBD :: mysql嗎?運行測試? – runrig 2011-06-15 18:31:03

回答

0

DBD :: mysql模塊需要訪問MySQL客戶端庫才能工作。我很驚訝DBD :: mysql甚至沒有安裝在你的系統上。你是如何安裝DBD :: mysql模塊的?

+0

我遵循這些指示:http://cpansearch.perl.org/src/CAPTTOFU/DBD-mysql-4.019/INSTALL.html – NSP 2011-06-15 16:18:10

+0

就像我說的,我幾乎不知道我在這裏做什麼......我我們已經安裝了MySQL和這些其他相關軟件,按照各自網站上列出的說明操作。任何想法都非常感謝! – NSP 2011-06-15 16:20:01

4

它肯定聽起來像你可能需要閱讀這篇博客:

http://probably.co.uk/problems-installing-dbdmysql-on-os-x-snow-leopard.html

這個問題似乎是在的mysql動態庫並沒有在它的路徑信息。您需要經常修復此問題(如上面的註釋)。

更便宜的解決方案之一是將libmysqlclient庫符號鏈接或複製到/ usr/lib。

希望這有助於任何人在未來尋找這個問題。

+0

另外,確保你的perl使用正確的mysql arch。我正在使用32位perl。我認爲,mysql x86_64將無法正常工作。 – jjohn 2011-11-21 19:31:28

+1

我遇到了完全相同的問題。將libmysqlclient複製到/ usr/lib並重新安裝DBD :: mysql就行了。 – GeneQ 2011-11-23 02:52:30

+2

試圖在OSX Yosemite上安裝DBD :: mysql時爲我工作。我創建了一個符號鏈接到/ usr/lib中的dylib,一切都很順利:'sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib/usr/lib/libmysqlclient.18.dylib' – Trutane 2014-11-12 01:22:12

相關問題