Используйте пользовательскую сборку SpiderMonkey с Firefox 5

Я пытаюсь собрать и использовать SpiderMonkey, который я скомпилировал (для своих академических исследований) с firefox 5 на компьютере с Windows, но когда я пытаюсь запустить firefox, я получаю сообщение об ошибке «отсутствует функция JS_InitCTypesClass в mozjs.dll».

Я скачал код SpiderMonkey и собрал его (без каких-либо изменений) с помощью MozillaBuild. Затем я скопировал новую DLL в каталог firefox (переименовав имя DLL в mozjs.dll) и попытался запустить firefox. В этот момент я получил ошибку, которую я написал.

Кроме того, проверяя с помощью средства просмотра экспортированных функций, я заметил, что исходный mozjs.dll имеет 777 экспортируемых функций, а тот, который я скомпилировал, имеет только 771 функцию, поэтому я думаю, что функция действительно отсутствует.

Любые идеи, как я могу создать собственный SpiderMonkey и использовать его с FF5?

Большое спасибо за твою помощь!


person TCS    schedule 17.07.2011    source источник
comment
Вы --enable-ctypes настраивали свою паукообразную обезьяну?   -  person Boris Zbarsky    schedule 18.07.2011
comment
глюк - нет. :-) как я это сделал? Настроить --enable-ctypes?   -  person TCS    schedule 18.07.2011
comment
Хорошо, построено с помощью CTypes. Также необходим для постройки NSPR. Теперь он ищет экспортированные функции JS_HoldPrincipals. Я думаю, что теперь мне нужно выяснить, какой переключатель включает это...   -  person TCS    schedule 18.07.2011
comment
JS_HoldPrincipals зависит от --enable-threadsafe   -  person Boris Zbarsky    schedule 18.07.2011


Ответы (2)


Вероятно, вы просто хотите убедиться, что способ настройки SpiderMonkey соответствует тому, что происходит в http://hg.mozilla.org/mozilla-central/file/a0372b031aac/configure.in#l9484

person Boris Zbarsky    schedule 18.07.2011
comment
Мне потребовалось некоторое время. Оказалось, что я собирал ночную версию (правда, я взял код не с nightly.mozillla.com, а с mozilla-central). В любом случае, получил правильную версию, собрал ее, как вы сказали (мне также нужно было собрать NSPR), и все заработало как часы. Спасибо :-). - person TCS; 22.07.2011

Я не слышал, чтобы кто-нибудь успешно заменил паукообразную обезьяну в такой сборке Firefox; верный способ получить собственную версию SpiderMonkey для использования в Firefox — это создать собственную сборку Firefox. .

В любом случае, где вы взяли источник Spidermonkey? Вы должны по крайней мере использовать тот, который соответствует версии Firefox, которую вы используете, например: http://hg.mozilla.org/releases/mozilla-release/rev/3ded311d93ad

person Nickolay    schedule 17.07.2011
comment
Хм... возможно, ты прав, возможно, я не получил нужную версию (я скачал ее с их Mercurial). Я перепроверю. Если это не сработает, я думаю, я пересоберу FF ... - person TCS; 17.07.2011
comment
Похоже, я получил правильную версию SpiderMonkey. Я действительно не знаю, почему это не работает :-\. Я не хочу строить весь FF, но, думаю, у меня не будет другого выбора... - person TCS; 17.07.2011