1
我刚刚安装了Ruby EE 11.01。我有一个针对Apache2上的Passenger 3.0.2的Rails 2.3.8应用程序。现在,我的应用程序不会出现。错误是:升级到Ruby EE后Rails 2.3.8将无法在Passenger上运行 - iconv错误
no such file to load -- iconv
我在Mac OS X 10.6.4上。我安装了Ruby EE有:
sudo ./installer -c --with-openssl-dir=/opt/local -c --with-readline-dir=/opt/local -c --with-iconv-dir=/opt/local
“它的iconv” 收益率:
/opt/local/bin/iconv
尝试安装宝石的iconv产量:
Building native extensions. This could take a while...
ERROR: Error installing iconv:
ERROR: Failed to build gem native extension.
/opt/ruby-enterprise-1.8.7-2011.01/bin/ruby extconf.rb
checking for iconv() in iconv.h... no
checking for iconv() in -liconv... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. You may need configuration options.
是我的iconv路径错误的安装订单?帮帮我!
编辑:
寻找在日志文件上面我看到这一点:
checked program was:
/* begin */
1: #include <iconv.h>
2:
3: /*top*/
4: int main() { return 0; }
5: int t() { void ((*volatile p)()); p = (void ((*)()))iconv; return 0; }
/* end */
"gcc -o conftest -I. -I/opt/ruby-enterprise-1.8.7-2011.01/lib/ruby/1.8/i686-darwin10.4.0 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -g -O2 -pipe -fno-common conftest.c -L. -L/opt/ruby-enterprise-1.8.7-2011.01/lib -L. - lruby-static -ldl -lobjc "
conftest.c: In function 't':
conftest.c:5: error: too few arguments to function 'libiconv'
checked program was:
/* begin */
1: #include <iconv.h>
2:
3: /*top*/
4: int main() { return 0; }
5: int t() { iconv(); return 0; }
/* end */
--------------------
have_library: checking for iconv() in -liconv... -------------------- no
"gcc -o conftest -I. -I/opt/ruby-enterprise-1.8.7-2011.01/lib/ruby/1.8/i686-darwin10.4.0 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -g -O2 -pipe -fno-common conftest.c -L. -L/opt/ruby-enterprise-1.8.7-2011.01/lib -L. - lruby-static -liconv -ldl -lobjc "
Undefined symbols:
"_libiconv", referenced from:
_t in ccxx7BhR.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
checked program was:
/* begin */
1: #include <iconv.h>
2:
3: /*top*/
4: int main() { return 0; }
5: int t() { void ((*volatile p)()); p = (void ((*)()))iconv; return 0; }
/* end */
"gcc -o conftest -I. -I/opt/ruby-enterprise-1.8.7-2011.01/lib/ruby/1.8/i686-darwin10.4.0 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -g -O2 -pipe -fno-common conftest.c -L. -L/opt/ruby-enterprise-1.8.7-2011.01/lib -L. - lruby-static -liconv -ldl -lobjc "
conftest.c: In function 't':
conftest.c:5: error: too few arguments to function 'libiconv'
checked program was:
/* begin */
1: #include <iconv.h>
2:
3: /*top*/
4: int main() { return 0; }
5: int t() { iconv(); return 0; }
/* end */
--------------------
哇,工作。立即。我无法亲自工作,因为我没有在那里放置额外的“ - ”。这是做什么的?对于我所处理的不同环境来说,这个RVM看起来像是必须的,非常感谢我的帮助。 – AKWF 2011-02-13 03:49:13