Компиляция MongoDB r2.0.2 на Ubuntu 10.04 привела к ошибке

Я компилирую MongoDB из исходного кода с инструкциями с http://www.mongodb.org/display/DOCS/Building+for+Linux

Я столкнулся с этой ошибкой после запуска «scons all»:

rty/js-1.7/jsscan.c
third_party/js-1.7/jsscan.c:112:22: error: jsautokw.h: No such file or directory
third_party/js-1.7/jsscan.c: In function 'FindKeyword':
third_party/js-1.7/jsscan.c:122: warning: label 'test_guess' defined but not used
third_party/js-1.7/jsscan.c:119: warning: label 'got_match' defined but not used
scons: *** [third_party/js-1.7/jsscan.o] Error 1
scons: building terminated because of errors

У меня 64-битная убунту 10.04. gcc версии 4.4.3 (Ubuntu 4.4.3-4ubuntu5), версия scons:

script: v1.2.0.d20100117.r4629, 2010/01/17 22:23:21, by scons on scons-dev
engine: v1.2.0.d20100117.r4629, 2010/01/17 22:23:21, by scons on scons-dev

У кого-нибудь есть такая же проблема? Для этого файла jsscan сообщалось об аналогичных ошибках в более ранних версиях, но с тех пор они были исправлены.


person Jeff Shi    schedule 05.01.2012    source источник
comment
Я получаю то же самое на Ubuntu 10.4.3 LTS. В документах говорится, что если у нас есть ошибки в Ubuntu, попробуйте создать собственную паукообразную обезьяну с помощью приведенных здесь инструкций: mongodb.org/display/DOCS/Building+Spider+Monkey Я постараюсь отчитаться.   -  person Tyler Brock    schedule 06.01.2012


Ответы (2)


Чувак, это сработало! Сделай это:

sudo apt-get remove xulrunner-1.9.2-dev xulrunner-1.9.2
curl -O ftp://ftp.mozilla.org/pub/mozilla.org/js/js-1.7.0.tar.gz
tar zxvf js-1.7.0.tar.gz
cd js/src
export CFLAGS="-DJS_C_STRINGS_ARE_UTF8"
make -f Makefile.ref
sudo JS_DIST=/usr make -f Makefile.ref export

Затем снова запустите scons all

person Tyler Brock    schedule 05.01.2012
comment
Кроме того, кричите XUUUUUULL RUNNNNNER очень громко, когда удаляете его, просто для удовольствия. - person Tyler Brock; 06.01.2012
comment
Круто, спасибо Джефф. Примите ответ, чтобы другие люди знали, что это работает. - person Tyler Brock; 06.01.2012

Нет необходимости удалять «xulrunner-1.9.2-dev» и «xulrunner-1.9.2», так как они также удаляют другие пакеты, которые могут вам понадобиться позже. Просто установите более новую версию пакета scons (я использовал для этого scons-2.1.0).

  1. Загрузите scons-2.1.0.tar.gz
  2. Установите его и используйте установленный вместо пакета репозитория scons v1.2.0 для Ubuntu 10.04.

У меня сработало без всяких дополнительных ухищрений.

person Grigor Aghanyan    schedule 19.01.2012
comment
Подтверждаю, достаточно обновить scons. В моем случае я сделал следующее: apt-get install python-virtualenv потом virtualenv ~/env потом . ~/env/bin/activate потом скачал scons и python setup.py install его (потому что pip install scons по какой-то странной причине не сработало). Затем MongoDB закончилась как по волшебству. - person jpetazzo; 07.06.2012
comment
Я столкнулся с проблемами при использовании загруженной версии scons, хотя у меня была установлена ​​старая версия Ubuntu. Удаление версии Ubuntu с помощью apt-get remove решило эту проблему. - person Shi; 15.05.2013