Сборка плагина GWT для FireFox 10 на FreeBSD 9 - PullRequest
1 голос
/ 12 марта 2012

Я пытался следовать инструкциям на http://www.sigil.org/gwt-on-freebsd/ для создания плагина для самой последней версии Firefox.Однако связывание завершается с ошибкой:

g++ -o build/FreeBSD_x86_64-gcc3-ff100/libgwt_dev_ff100.so build/FreeBSD_x86_64-gcc3-ff100/ExternalWrapper.o build/FreeBSD_x86_64-gcc3-ff100/ModuleOOPHM.o build/FreeBSD_x86_64-gcc3-ff100/FFSessionHandler.o build/FreeBSD_x86_64-gcc3-ff100/JavaObject.o build/FreeBSD_x86_64-gcc3-ff100/JSRunner.o build/FreeBSD_x86_64-gcc3-ff100/Preferences.o build/FreeBSD_x86_64-gcc3-ff100/XpcomDebug.o ../common/libcommon64.a -fPIC -shared -m64 -L../../../plugin-sdks/gecko-sdks/gecko-10.0.0/FreeBSD_x86_64-gcc3/lib -Wl,-rpath-link,../../../plugin-sdks/gecko-sdks/gecko-10.0.0/FreeBSD_x86_64-gcc3/lib -lxpcomglue_s -lxpcom -lnspr4 -lmozalloc -lxul
    build/FreeBSD_x86_64-gcc3-ff100/ExternalWrapper.o: In function `GenericClassInfo':
/home/bofh/tmp/gwt_build/trunk/plugins/xpcom/../../../plugin-sdks/gecko-sdks/gecko-10.0.0/FreeBSD_x86_64-gcc3/include/nsIClassInfoImpl.h:132: undefined reference to `vtable for GenericClassInfo'
/usr/bin/ld: build/FreeBSD_x86_64-gcc3-ff100/ExternalWrapper.o: relocation R_X86_64_PC32 against `_ZTV16GenericClassInfo' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
gmake: *** [build/FreeBSD_x86_64-gcc3-ff100/libgwt_dev_ff100.so] Error 1

Я не уверен, почему он жалуется на отсутствие флага -fPIC, потому что он присутствует в командной строке для g ++.

Пожалуйста, совет.

Ответы [ 2 ]

1 голос
/ 12 марта 2012

проблема была в том, что использовалась неверная библиотека SO - библиотека, установленная libxul, не предоставляет требуемой функции, поэтому я скопировал libxul.so и libxulglue_s.so из установки firefox

и смог собратьплагин успешно.

=====

В конце концов, мне удалось создать последний плагин GWT для FreeBSD 9 / Firefox 10 / AMD64, см. https://github.com/jdevelop/gwt-dev-firefox-freebsd

0 голосов
/ 12 марта 2012

Почему бы вам не установить его через порты; /usr/ports/www/xpi-gwt-dev-plugin.

Если вы не хотите этого делать, по крайней мере, попробуйте применить патчи, которые использует порт. Патчи files/patch-config.mk и files/patch-xpcom-Makefile выглядят актуально для этой проблемы.

...