Rails 2.3.8 не будет работать на Passenger после обновления до Ruby EE - ошибка iconv - PullRequest
1 голос
/ 13 февраля 2011

Я только что установил Ruby EE 11.01.У меня было приложение Rails 2.3.8, которое работало с Passenger 3.0.2 на Apache2.Теперь мое приложение не будет появляться.Ошибка:

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

Попытка установить gem 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 */

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

1 Ответ

2 голосов
/ 13 февраля 2011

Я настоятельно рекомендую использовать RVM в Mac OS.Его чрезвычайно легко установить, и он позволяет загружать и компилировать среду с помощью readline, iconv, openssl, zlib и т. Д. Я не могу сказать, сколько часов это спасло меня.

http://rvm.beginrescueend.com/

Вернуться к вашему вопросу - вы пробовали gem install iconv -- --with-iconv-dir=/opt/local?

...