Установка Sphinx с MAMP на OS X Lion - PullRequest
0 голосов
/ 22 февраля 2012

Я пытаюсь заставить Sphinx работать с mamp в моей системе, но по этой причине я продолжаю сталкиваться с этой проблемой:

Making all in libstemmer_c
make[1]: Nothing to be done for `all'.
Making all in src
/bin/sh svnxrev.sh ..
make  all-am
g++  -Wall -g -D_FILE_OFFSET_BITS=64 -O3 -DNDEBUG  -arch x86_64 -o indexer indexer.o libsphinx.a ../libstemmer_c/libstemmer.a -L/Applications/MAMP/Library/lib -lmysqlclient   -lpthread -lz  -lodbc -ldl -lz -liconv -lexpat  -L/usr/local/lib  -lpthread
Undefined symbols for architecture x86_64:
  "_iconv_open", referenced from:
      xmlUnknownEncoding(void*, char const*, XML_Encoding*)in libsphinx.a(sphinx.o)
  "_iconv", referenced from:
      xmlUnknownEncoding(void*, char const*, XML_Encoding*)in libsphinx.a(sphinx.o)
  "_iconv_close", referenced from:
      xmlUnknownEncoding(void*, char const*, XML_Encoding*)in libsphinx.a(sphinx.o)
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make[2]: *** [indexer] Error 1
make[1]: *** [all] Error 2
make: *** [all-recursive] Error 1

Это команда, которую я запускаю для установки Sphinx: LDFLAGS="-arch x86_64" ./configure --prefix=/usr/local --with-libstemmer --with-mysql=/Applications/MAMP/Library

Кто-нибудь еще сталкивался с этой проблемой?

1 Ответ

0 голосов
/ 24 февраля 2012

У меня была та же проблема, переименование MAMP "iconv" решило проблему ...

gloria:sphinx-2.0.3-release simon$ which iconv
/Applications/MAMP/Library/bin//iconv

Итак, я переименовал ее:

gloria:sphinx-2.0.3-release simon$ mv /Applications/MAMP/Library/bin//iconv 
/Applications/MAMP/Library/bin//iconv2

Чтобы иметь хорошую версиюof iconv:

gloria:sphinx-2.0.3-release simon$ which iconv
/opt/local/bin/iconv

Затем перекомпилировал Sphinx ... и все заработало.

CFLAGS='-arch x86_64' CCFLAGS='-arch x86_64' CXXFLAGS='-arch x86_64' ./configure 
make -j4 install

надеюсь, что это поможет

...