Error during linking of Javascriptcore
-
Hi ,
I am trying to build QtWebkit5.2.0 on my gentoo linux for mips target...but getting following error during linking..make[2]: Entering directory
/usr/targets/nte-mv5-6.1.8.60/work/net-www/qtwebkit-5.2.0/work/qt-everywhere-opensource-src-5.2.0/qtwebkit/Source/JavaScriptCore' compiling jsc.cpp linking ../../bin/jsc .obj/jsc.o: In function
functionGC':
/usr/targets/nte-mv5-6.1.8.60/work/net-www/qtwebkit-5.2.0/work/qt-everywhere-opensource-src-5.2.0/qtwebkit/Source/JavaScriptCore/jsc.cpp:358: undefined reference toJSC::JSLockHolder::JSLockHolder(JSC::ExecState*)' /usr/targets/nte-mv5-6.1.8.60/work/net-www/qtwebkit-5.2.0/work/qt-everywhere-opensource-src-5.2.0/qtwebkit/Source/JavaScriptCore/jsc.cpp:358: undefined reference to
JSC::JSLockHolder::~JSLockHolder()'
.obj/jsc.o: In functionfunctionPrint': /usr/targets/nte-mv5-6.1.8.60/work/net-www/qtwebkit-5.2.0/work/qt-everywhere-opensource-src-5.2.0/qtwebkit/Source/JavaScriptCore/jsc.cpp:309: undefined reference to
WTF::String::utf8(WTF::String::ConversionMode) const'
.obj/jsc.o: In functionJSC::JSString::value(JSC::ExecState*) const': /usr/targets/nte-mv5-6.1.8.60/work/net-www/qtwebkit-5.2.0/work/qt-everywhere-opensource-src-5.2.0/qtwebkit/Source/JavaScriptCore/runtime/JSString.h:369: undefined reference to
WTF::String::utf8(WTF::String::ConversionMode) const'
.obj/jsc.o: In functionfunctionPrint': /usr/targets/nte-mv5-6.1.8.60/work/net-www/qtwebkit-5.2.0/work/qt-everywhere-opensource-src-5.2.0/qtwebkit/Source/JavaScriptCore/jsc.cpp:309: undefined reference to
WTF::String::utf8(WTF::String::ConversionMode) const'
.obj/jsc.o: In functionfunctionDebug': .obj/jsc.o: In function
WTF::StringImpl::deref()':
/usr/targets/nte-mv5-6.1.8.60/work/net-www/qtwebkit-5.2.0/work/qt-everywhere-opensource-src-5.2.0/qtwebkit/Source/JavaScriptCore/../WTF/wtf/text/StringImpl.h:616: undefined reference toWTF::StringImpl::destroy(WTF::StringImpl*)' / /usr/targets/nte-mv5-6.1.8.60/work/net-www/qtwebkit-5.2.0/work/qt-everywhere-opensource-src-5.2.0/qtwebkit/Source/JavaScriptCore/heap/HandleSet.h:130: undefined reference to
WTFCrash'
.obj/jsc.o: In functionfunctionJSCStack': /usr/targets/nte-mv5-6.1.8.60/work/net-www/qtwebkit-5.2.0/work/qt-everywhere-opensource-src-5.2.0/qtwebkit/Source/JavaScriptCore/jsc.cpp:349: undefined reference to
JSC::StackFrame::toString(JSC::ExecState*)'
/usr/targets/nte-mv5-6.1.8.60/work/net-www/qtwebkit-5.2.0/work/qt-everywhere-opensource-src-5.2.0/qtwebkit/Source/JavaScriptCore/jsc.cpp:349: undefined reference toWTF::String::utf8(WTF::String::ConversionMode) const' .obj/jsc.o: In function
WTF::StringImpl::deref()':/usr/targets/nte-mv5-6.1.8.60/work/net-www/qtwebkit-5.2.0/work/qt-everywhere-opensource-src-5.2.0/qtwebkit/Source/JavaScriptCore/runtime/JSCellInlines.h:156: undefined reference to
WTFCrash' .obj/jsc.o: In function
WTF::StringImpl::deref()':
/usr/targets/nte-mv5-6.1.8.60/work/net-www/qtwebkit-5.2.0/work/qt-everywhere-opensource-src-5.2.0/qtwebkit/Source/JavaScriptCore/runtime/JSObject.h:1163: undefined reference toJSC::JSObject::fillGetterPropertySlot(JSC::Proper tySlot&, int)' /usr/targets/nte-mv5-6.1.8.60/work/net-www/qtwebkit-5.2.0/work/qt-everywhere-opensource-src-5.2.0/qtwebkit/Source/JavaScriptCore/runtime/JSObject.h:1169: undefined reference to
JSC::JSObject::getOwnPropertySlotSlow(JSC::ExecSt ate*, JSC::PropertyName, JSC::PropertySlot&)'
.obj/jsc.o: In functionJSC::JSUint16Array::put(JSC::JSCell*, JSC::ExecState*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&)': /usr/targets/nte-mv5-6.1.8.60/work/net-www/qtwebkit-5.2.0/work/qt-everywhere-opensource-src-5.2.0/qtwebkit/Source/JavaScriptCore/JSCTypedArrayStubs.h:196: undefined reference to
JSC::JSObject::put(JSC::JSCell*, JSC::ExecState*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&)'
.obj/jsc.o: In functionJSC::JSUint16Array::getOwnPropertyDescriptor(JSC: :JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertyDescriptor&)': /usr/targets/nte-mv5-6.1.8.60/work/net-www/qtwebkit-5.2.0/work/qt-everywhere-opensource-src-5.2.0/qtwebkit/Source/JavaScriptCore/JSCTypedArrayStubs.h:196: undefined reference to
JSC::JSObject::getOwnPropertyDescriptor(JSC::JSOb ject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertyDescriptor&)'
.
.obj/jsc.o:(.data.rel.ro+0x2c): undefined reference toJSC::JSObject::deleteProperty(JSC::JSCell*, JSC::ExecState*, JSC::PropertyName)' .obj/jsc.o:(.data.rel.ro+0x48): undefined reference to
JSC::JSObject::getOwnNonIndexPropertyNames(JSC::J SObject*, JSC::ExecState*, JSC::PropertyNameArray&, JSC::EnumerationMode)'.obj/jsc.o:(.data.rel.ro+0x408): undefined reference to
JSC::JSGlobalObject::getOwnPropertyDescriptor(JSC ::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertyDescriptor&)' collect2: ld returned 1 exit status make[2]: *** [../../bin/jsc] Error 1 make[2]: Leaving directory
/usr/targets/nte-mv5-6.1.8.60/work/net-www/qtwebkit-5.2.0/work/qt-everywhere-opensource-src-5.2.0/qtwebkit/Source/JavaScriptCore'
make[1]: *** [sub-jsc-pro-make_first-ordered] Error 2
make[1]: Leaving directory `/usr/targets/nte-mv5-6.1.8.60/work/net-www/qtwebkit-5.2.0/work/qt-everywhere-opensource-src-5.2.0/qtwebkit/Source/JavaScriptCore'
make: *** [sub-Source-JavaScriptCore-JavaScriptCore-pro-make_first-ordered] Error 2
*- ERROR: net-www/qtwebkit-5.2.0 failed.
- Call stack:
- ebuild.sh, line 49: Called src_compile
- qtwebkit-5.2.0.ebuild, line 181: Called qt5-genbox_src_compile
- qt5-genbox.eclass, line 104: Called die
- The specific snippet of code:
- emake || die "emake failed - error code is $?"
- The die message:
- emake failed - error code is 2
I debugged my makefile and found following line is culprit..
mipsel-brcmfbdfae28371_wyplay_3-linux-gnu-g++ -fdebug-types-section -Wl,--no-keep-memory -L/usr/targets/nte-mv5-6.1.8.60/root//lib -L/usr/targets/current/work/net-www/qtwebkit-5.2.0/work/qt-everywhere-opensource-src-5.2.0/qtwebkit/Source/WTF/release/libWTF.a -L/usr/targets/nte-mv5-6.1.8.60/work/net-www/qtwebkit-5.2.0_p1/work/qt-everywhere-opensource-src-5.2.0/qtwebkit/Source/JavaScriptCore/release/libJavaScriptCore.a -L/usr/targets/nte-mv5-6.1.8.60/root//usr/lib -Wl,-rpath-link,/usr/targets/nte-mv5-6.1.8.60/root//lib -Wl,-rpath-link,/usr/targets/nte-mv5-6.1.8.60/root//usr/lib -Wl,-O1 -Wl,-rpath,/usr/targets/nte-mv5-6.1.8.60/work/net-www/qtwebkit-5.2.0_p1/work/qt-everywhere-opensource-src-5.2.0/qtwebkit/lib -Wl,-rpath,/usr/lib -o ../../bin/jsc .obj/jsc.o -L/usr/targets/nte-mv5-6.1.8.60/root//usr/lib -Wl,-whole-archive -lJavaScriptCore -Wl,-no-whole-archive -L/usr/targets/nte-mv5-6.1.8.60/work/net-www/qtwebkit-5.2.0_p1/work/qt-everywhere-opensource-src-5.2.0/qtwebkit/Source/JavaScriptCore/release -Wl,-whole-archive -lWTF -Wl,-no-whole-archive -L/usr/targets/nte-mv5-6.1.8.60/work/net-www/qtwebkit-5.2.0_p1/work/qt-everywhere-opensource-src-5.2.0/qtwebkit/Source/WTF/release -lQt5Core -L/usr/targets/nte-mv5-6.1.8.60/root//usr/lib -lpthread -licui18n -licuuc -licudata -lglib-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0This command seems almost right.. but still getting error..
Please Help -
I resolved it..by including proper path of static and dynamic libraries..
-
Hi,
Glad you found out and thanks for sharing !
Since you have it building now, please mark the thread as solved using the "Topic Tool" button so that other forum users may know a solution has been found :)