2011-02-13 43 views
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 */ 

    -------------------- 

回答

2

我強烈建議使用Mac OS RVM。它安裝起來非常簡單,它可以通過readline,iconv,openssl,zlib等來處理下載和編譯環境。我無法告訴你它爲我節省了多少時間。

http://rvm.beginrescueend.com/

回到你的問題 - 你嘗試gem install iconv -- --with-iconv-dir=/opt/local

+0

哇,工作。立即。我無法親自工作,因爲我沒有在那裏放置額外的「 - 」。這是做什麼的?對於我所處理的不同環境來說,這個RVM看起來像是必須的,非常感謝我的幫助。 – AKWF 2011-02-13 03:49:13

相關問題