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 functionfunctionGC':
    /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(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 toJSC::JSLockHolder::~JSLockHolder()'
    .obj/jsc.o: In function functionPrint': /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 toWTF::String::utf8(WTF::String::ConversionMode) const'
    .obj/jsc.o: In function JSC::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 toWTF::String::utf8(WTF::String::ConversionMode) const'
    .obj/jsc.o: In function functionPrint': /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 toWTF::String::utf8(WTF::String::ConversionMode) const'
    .obj/jsc.o: In function functionDebug': .obj/jsc.o: In functionWTF::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 to WTF::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 toWTFCrash'
    .obj/jsc.o: In function functionJSCStack': /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 toJSC::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 to WTF::String::utf8(WTF::String::ConversionMode) const' .obj/jsc.o: In functionWTF::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 functionWTF::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 to JSC::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 toJSC::JSObject::getOwnPropertySlotSlow(JSC::ExecSt ate*, JSC::PropertyName, JSC::PropertySlot&)'
    .obj/jsc.o: In function JSC::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 toJSC::JSObject::put(JSC::JSCell*, JSC::ExecState*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&)'
    .obj/jsc.o: In function JSC::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 toJSC::JSObject::getOwnPropertyDescriptor(JSC::JSOb ject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertyDescriptor&)'
    .
    .obj/jsc.o:(.data.rel.ro+0x2c): undefined reference to JSC::JSObject::deleteProperty(JSC::JSCell*, JSC::ExecState*, JSC::PropertyName)' .obj/jsc.o:(.data.rel.ro+0x48): undefined reference toJSC::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.0

    This command seems almost right.. but still getting error..
    Please Help



  • I resolved it..by including proper path of static and dynamic libraries..


  • Lifetime Qt Champion

    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 :)


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.