我一直在尝试在Mac OS 10.9.3上安装Nokogiri,无论我尝试什么,安装最终都会失败,并显示以下错误消息:
$ sudo gem install nokogiri -- --with-xml2-include=/usr/local/Cellar/libxml2/2.9.1/include/libxml2 --with-xml2-lib=/usr/local/Cellar/libxml2/2.9.1/lib --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.28 --with-iconv-include=/usr/local/Cellar/libiconv/1.14/include --with-iconv-lib=/usr/local/Cellar/libiconv/1.14/lib
Building native extensions with: '--with-xml2-include=/usr/local/Cellar/libxml2/2.9.1/include/libxml2 --with-xml2-lib=/usr/local/Cellar/libxml2/2.9.1/lib --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.28 --with-iconv-include=/usr/local/Cellar/libiconv/1.14/include --with-iconv-lib=/usr/local/Cellar/libiconv/1.14/lib'
This could take a while...
Building nokogiri using packaged libraries.
ERROR: Error installing nokogiri:
ERROR: Failed to build gem native extension.
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb --with-xml2-include=/usr/local/Cellar/libxml2/2.9.1/include/libxml2 --with-xml2-lib=/usr/local/Cellar/libxml2/2.9.1/lib --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.28 --with-iconv-include=/usr/local/Cellar/libiconv/1.14/include --with-iconv-lib=/usr/local/Cellar/libiconv/1.14/lib
Building nokogiri using packaged libraries.
checking for iconv.h... yes
checking for iconv_open() in iconv.h... no
checking for iconv_open() in -liconv... no
checking for libiconv_open() in iconv.h... no
checking for …Run Code Online (Sandbox Code Playgroud) 我可能已经超出了我的知识迈出了一步.我安装了Homebrew,在继续向我发出关于安装MacPorts的警告后,我卸载了它.但是现在我的rspec测试没有运行.
这些是我得到的错误:
/Users/mark/.rvm/gems/ruby-1.9.2-p180/gems/nokogiri-1.4.4/lib/nokogiri.rb:13:in `require': dlopen(/Users/mark/.rvm/gems/ruby-1.9.2-p180/gems/nokogiri-1.4.4/lib/nokogiri/nokogiri.bundle, 9): Library not loaded: /opt/local/lib/libiconv.2.dylib (LoadError)
Referenced from: /Users/mark/.rvm/gems/ruby-1.9.2-p180/gems/nokogiri-1.4.4/lib/nokogiri/nokogiri.bundle
Reason: Incompatible library version: nokogiri.bundle requires version 8.0.0 or later, but libiconv.2.dylib provides version 7.0.0 - /Users/mark/.rvm/gems/ruby-1.9.2-p180/gems/nokogiri-1.4.4/lib/nokogiri/nokogiri.bundle
.....
.....
Run Code Online (Sandbox Code Playgroud)
我通过Homebrew安装了libiconv,但是没有解决它.它抱怨libiconv版本号.这是问题吗?
这里发生了什么,我需要做什么?
在 Mac OSX 上从源代码编译某些包时,出现以下 iconv 错误:
Undefined symbols for architecture x86_64:
"_iconv", referenced from:
"_iconv_close", referenced from:
"_iconv_open", referenced from:
Run Code Online (Sandbox Code Playgroud)
或者我得到:
Undefined symbols for architecture x86_64:
"_libiconv", referenced from:
"_libiconv_open", referenced from:
"_libiconv_close", referenced from:
Run Code Online (Sandbox Code Playgroud)
为什么会发生这种情况,我该如何解决这种依赖性,或者更一般地说,弄清楚发生了什么以及如何解决它?
我正在尝试在Mac OS X Lion中编译GCC 4.5.1.
我有libiconv的问题.首先,它抱怨的建筑x86_64的未定义的符号,其分别为:_iconv,_iconv_open和_iconv_close.我发现MacPorts版本的libiconv将这些重命名为:_libiconv,_libiconv_open和_libiconv_close.所以我链接到/ usr/lib中的Mac OS本机libiconv而不是/ opt/local/lib中的MacPorts库.
Undefined symbols for architecture x86_64:
"_iconv", referenced from:
_convert_using_iconv in libcpp.a(charset.o)
__nl_find_msg in libintl.a(dcigettext.o)
(maybe you meant: __cpp_destroy_iconv, _cpp_init_iconv )
"_iconv_close", referenced from:
__cpp_destroy_iconv in libcpp.a(charset.o)
__cpp_convert_input in libcpp.a(charset.o)
__nl_free_domain_conv in libintl.a(loadmsgcat.o)
"_iconv_open", referenced from:
_init_iconv_desc in libcpp.a(charset.o)
__nl_init_domain_conv in libintl.a(loadmsgcat.o)
Run Code Online (Sandbox Code Playgroud)
但是,在这之后,我尝试从头开始重建它(清理和所有内容),但后来却抱怨未定义符号的不同点,但这次是_libiconv,_libiconv_open和_libiconv_close.
Undefined symbols for architecture x86_64:
"_libiconv", referenced from:
_identifier_to_locale in libbackend.a(pretty-print.o)
"_libiconv_close", referenced from:
_identifier_to_locale in libbackend.a(pretty-print.o)
"_libiconv_open", referenced from:
_identifier_to_locale in libbackend.a(pretty-print.o)
Run Code Online (Sandbox Code Playgroud)
我有什么想法可以解决这个问题吗?我找到了从MacPorts卸载libiconv的一些解决方案,但我不想这样做,因为我有很多端口取决于它.
我用这个命令从Mac卸载端口:
sudo port -fp uninstall installed
Run Code Online (Sandbox Code Playgroud)
然后,当我使用wget下载文件时,它显示我:
dyld: Library not loaded: /opt/local/lib/libiconv.2.dylib
Referenced from: /opt/local/bin/wget
Reason: Incompatible library version: wget requires version 8.0.0 or later, but libiconv.2.dylib provides version 7.0.0
Trace/BPT trap: 5
Run Code Online (Sandbox Code Playgroud)
怎么做?
※Mac OS X 10.7.5
我跑的时候
otool -L $(which wget)
Run Code Online (Sandbox Code Playgroud)
它给了我
/opt/local/bin/wget:
/opt/local/lib/libiconv.2.dylib (compatibility version 8.0.0, current version 8.1.0)
/opt/local/lib/libintl.8.dylib (compatibility version 10.0.0, current version 10.1.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 159.1.0)
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 635.19.0)
/opt/local/lib/libgnutls.26.dylib (compatibility version 49.0.0, current version …Run Code Online (Sandbox Code Playgroud) 我已将Mac升级到macOS 10.12.0 Sierra,并且我正在尝试将PHP升级到7.0.9版,但"make test"失败了:
Undefined symbols for architecture x86_64:
"_libiconv", referenced from:
_zif_iconv_substr in iconv.o
_zif_iconv_mime_encode in iconv.o
_php_iconv_string in iconv.o
__php_iconv_strlen in iconv.o
__php_iconv_strpos in iconv.o
__php_iconv_appendl in iconv.o
_php_iconv_stream_filter_append_bucket in iconv.o
...
"_libiconv_close", referenced from:
_zif_iconv_substr in iconv.o
_zif_iconv_mime_encode in iconv.o
_php_iconv_string in iconv.o
__php_iconv_strlen in iconv.o
__php_iconv_strpos in iconv.o
__php_iconv_mime_decode in iconv.o
_php_iconv_stream_filter_factory_create in iconv.o
...
"_libiconv_open", referenced from:
_zif_iconv_substr in iconv.o
_zif_iconv_mime_encode in iconv.o
_php_iconv_string in iconv.o
__php_iconv_strlen in iconv.o
__php_iconv_strpos in iconv.o
__php_iconv_mime_decode in iconv.o …Run Code Online (Sandbox Code Playgroud) 我有一个相对新鲜的anaconda安装,我使用"conda install rpy2"安装了rpy2.但是,当我尝试运行它时,我收到此错误,例如:
> /[dir]/anaconda/bin/python -m 'rpy2.tests'
Traceback (most recent call last):
File "/[dir]/anaconda/lib/python2.7/runpy.py", line 174, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/[dir]/anaconda/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "[dir]/anaconda/lib/python2.7/site-packages/rpy2/tests.py", line 23, in <module>
import rpy2.tests_rpy_classic
File "/[dir]/anaconda/lib/python2.7/site-packages/rpy2/tests_rpy_classic.py", line 3, in <module>
import rpy2.rpy_classic as rpy
File "/[dir]/anaconda/lib/python2.7/site-packages/rpy2/rpy_classic.py", line 5, in <module>
import rpy2.rinterface as ri
File "/[dir]/anaconda/lib/python2.7/site-packages/rpy2/rinterface/__init__.py", line 92, in <module>
from rpy2.rinterface._rinterface import (baseenv,
ImportError: libiconv.so.2: cannot open shared object file: No such file …Run Code Online (Sandbox Code Playgroud) 我目前正在尝试设置一个Go项目,考虑到我正在运行Windows,而其他两个开发人员正在使用Mac,我在安装一些软件包时遇到了一些麻烦.
在尝试使用cmd安装软件包之后,我只能安装4个中的2个.其他两个需要gcc.
因此,我安装了MinGW.我能够以这种方式安装第三个软件包,但现在我被困在https://github.com/mikkyang/id3-go上.
它似乎依赖于另一个基础项目,https://github.com/djimenez/iconv-go.我尝试go installid3-go 的那一刻,我总是留下这个错误:
src\github.com\djimenez\iconv-go\converter.go:8:19: fatal error: iconv.h: No such file or directory
Run Code Online (Sandbox Code Playgroud)
不知何故,我需要将libiconv与MinGW一起使用,但我不知道如何连接两个部分.我不是那个领域的专家,所以任何帮助都会受到很多赞赏.我已经下载了libiconv for Windows.
我在github项目中找到的其他信息的相关问题:https: //github.com/mikkyang/id3-go/issues/21
编辑:我在整个问题上取得了一些进展.我现在得到了我需要的所有文件,但现在我遇到了这个警告:
# github.com/djimenez/iconv-go
E:/Tools/TDM-GCC/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -liconv
collect2.exe: error: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)
我试图将libiconv2.a从我的libiconv安装添加到mingw32 lib文件夹,但这就是我最终的结果:
# github.com/djimenez/iconv-go
E:/Tools/TDM-GCC/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible E:/Tools/TDM-GCC/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/lib/../lib/libiconv.a when searching for -liconv
E:/Tools/TDM-GCC/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible E:/Tools/TDM-GCC/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/lib/../lib\libiconv.a when searching for -liconv
E:/Tools/TDM-GCC/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible E:/Tools/TDM-GCC/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/lib/libiconv.a when searching for -liconv
E:/Tools/TDM-GCC/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible E:/Tools/TDM-GCC/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/lib\libiconv.a when searching for -liconv
E:/Tools/TDM-GCC/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping …Run Code Online (Sandbox Code Playgroud) 我试图.bashrc用一些别名来修复我的新Mac,我已经做了一个.bash_profile尝试加载.bashrc终端打开的时候.但是,每次我尝试使用git命令时它都会给我这个错误.
git status
dyld: lazy symbol binding failed: Symbol not found: _iconv_open
Referenced from: /usr/bin/git
Expected in: /opt/local/lib/libiconv.2.dylib
dyld: Symbol not found: _iconv_open
Referenced from: /usr/bin/git
Expected in: /opt/local/lib/libiconv.2.dylib
Trace/BPT trap: 5
Run Code Online (Sandbox Code Playgroud)
我删除了.bash_profile甚至还原了.bashrc但仍然没有好处.有任何想法吗?
旁注:我看过Git> dyld:懒符号绑定失败:未找到符号:_iconv_open但他的解决方案似乎对我不起作用,因为我现在根本没有bash_profile.
我在安装Nokogiri时遇到问题.
我阅读了安装手册并按照说明操作.我已经安装了所有依赖项.libxml2和libxslt工作正常,但libiconv有一些问题.我在这里阅读了一些问题并安装并重新安装了libiconv并使用了一些不同的版本,但没有任何帮助.
sudo gem install nokogiri -- --with-xml2-include=/usr/local/Cellar/libxml2/2.9.1/include/libxml2
--with-xml2-lib=/usr/local/Cellar/libxml2/lib
--with-xslt-dir=/usr/local/Cellar/libxslt/1.1.28
--with-iconv-include=/usr/local/Cellar/libiconv/1.14/include
--with-iconv-lib=/usr/local/Cellar/libiconv/1.14/lib
Run Code Online (Sandbox Code Playgroud)
使用libiconv 1.13.1和Apple libiconv,我遇到了同样的问题:
checking for iconv.h... yes
checking for iconv_open() in iconv.h... no
checking for iconv_open() in -liconv... no
checking for libiconv_open() in iconv.h... no
checking for libiconv_open() in -liconv... no
Run Code Online (Sandbox Code Playgroud)
在mkmf.log中我找到了以下输出:
have_header: checking for iconv.h... -------------------- yes
"xcrun clang -I/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/ruby-2.0.0/universal-darwin13 -I/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/ruby-2.0.0/ruby/backward -I/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/ruby-2.0.0 -I. -I/usr/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -g -Os -pipe -g -DXP_UNIX -arch x86_64 -arch i386 -c conftest.c"
checked program was:
/* begin */ …Run Code Online (Sandbox Code Playgroud)