2014-10-20 81 views
2

升級到OS X後10.10所有CPAN Perl模塊已被刪除,我遇到一個問題,安裝的Net :: libidn這個:安裝Perl CPAN的Net :: 10.10的libidn約塞米蒂

sudo cpan -i Net::LibIDN 
... 
CPAN.pm: Building T/TH/THOR/Net-LibIDN-0.12.tar.gz 
__test1.c:1:10: fatal error: 'idna.h' file not found 

但我已安裝使用的libidn自制:

locate libidn 
/usr/local/Library/Formula/libidn.rb 
/usr/local/lib/libidn.11.dylib 
/usr/local/lib/libidn.a 
/usr/local/lib/libidn.dylib 
/usr/local/lib/libidn.la 
/usr/local/lib/pkgconfig/libidn.pc 
/usr/local/share/info/libidn-components.png 
/usr/local/share/info/libidn.info 

和:

locate idna.h 
/usr/local/Cellar/icu4c/52.1/include/unicode/idna.h 
/usr/local/Cellar/icu4c/52.1/include/unicode/uidna.h 
/usr/local/include/idna.h 

如何安裝這個CPAN庫和Te這個頭文件是CPAN.pm生成器嗎?

回答

0

你需要建立這種在這種情況下手動,如README說:


如果GNU Libidn2您當地版本的安裝在非標準 位置,請嘗試以下,而不是「 perl的Build.PL「:

perl Build.PL --extra_compiler_flags=-I/path/include --extra_linker_flags="-L/path/lib -lidn2" 

如果您的運行時庫搜索路徑不包含libidn2,你 可能要設置LD_LIBRARY_PATH或編譯的絕對 庫p ATH到像模塊如下:

LD_LIBRARY_PATH=/path/lib perl Build.PL --extra_compiler_flags=-I/path/include --extra_linker_flags="-L/path/lib -lidn2" 

LD_LIBRARY_PATH=/path/lib perl Build.PL --extra_compiler_flags=-I/path/include --extra_linker_flags="-L/path/lib -lidn2 -Wl,-rpath=/path/lib" 

設置LD_LIBRARY_PATH rpath的可能是必要的,使 傑韋利:: CheckLib正確檢測libidn2的存在。

+1

TY好的建議,但README已經改變了。方法是一樣的,但現在命令是perl Makefile.PL --with-libidn =/usr/local/lib --with-libidn -inc =/usr/local/include --disable -tld適用於我的情況。更新後安裝自制軟件libidn這是有用的http://jcvangent.com/fixing-homebrew-os-x-10-10-yosemite/ – Yoshimitsu 2014-10-20 12:22:39

+0

@Yoshimitsu很高興你解決了你的問題 – 2014-10-21 10:23:46