Unable to install Qt on Ubuntu 14.04 With Intel icpc



  • I am trying to install Qt 4.8.6 on Ubuntu 14.04 with Intel icpc

    I typed configure --platform=linux-icc-64 -system-libpng

    I do have libpng1.6.18 installed under /usr/local/lib and it is there on my LD_LIBRARY_PATH.

    Any suggestions ?

    cd src/gui/ && make -f Makefile
    make[1]: Entering directory /home/qt-everywhere-opensource-src-4.8.6/src/gui' rm -f libQtGui.so.4.8.6 libQtGui.so libQtGui.so.4 libQtGui.so.4.8 i .obj/release-shared/qpnghandler.o: In functionQPNGImageWriter::writeImage(QImage const&, int, QString const&, int, int)':
    image/qpnghandler.cpp.text+0x207): undefined reference to png_set_longjmp_fn' .obj/release-shared/qpnghandler.o: In functionQPngHandlerPrivate::readPngImage(QImage*)':
    image/qpnghandler.cpp.text+0x1c20): undefined reference to png_set_longjmp_fn' .obj/release-shared/qpnghandler.o: In functionQPngHandlerPrivate::readPngHeader()':
    image/qpnghandler.cpp.text+0x212d): undefined reference to png_set_longjmp_fn' make[1]: *** [../../lib/libQtGui.so.4.8.6] Error 1 make[1]: Leaving directory/home/qt-everywhere-opensource-src-4.8.6/src/gui'
    make: *** [sub-gui-make_default-ordered] Error 2


  • Moderators

    @winash12 Hi!
    "libpng1.6.18 installed under /usr/local/lib" is it built with the same compiler (icpc)?
    Was it recognized when you called configure script?



  • Hi there !
    Thanks for your response. It is actually libpng1.6.23. I looked at the configure log of libpng and it is built with icc. Intel icpc is the C++ compiler and icc is the C compiler.

    How can I check if it is recognized when I called configure script of Qt ?


  • Moderators

    Check the output of the configure script.
    I don't think configure script will look for libraries in /usr/local/lib by default. You should pass it as parameter to configure.



  • Can you show me how to pass it as a parameter to configure ?

    Also what should I look for in the output of the configure script ?


  • Moderators

    @winash12 Call configure with -h or --help parameter.
    You should look for PNG in configure output.



  • @jsulm I went past that error by typing ./configure --platform=linux-icc-64 -qt-libpng.

    https://forum.qt.io/topic/18876/solved-building-qt5-under-lubuntu-64bit-failed/

    I got another set of errors now. How do I fix this ?

    cd qwebframe/ && make -f Makefile.WebKit
    make[3]: Entering directory `/home/qt-everywhere-opensource-src-4.8.6/src/3rdparty/webkit/Source/WebKit/qt/tests/qwebframe'
    icpc -c -O2 -falign-functions=16 -ansi-alias -fstrict-aliasing -I/usr/include/freetype2 -D_REENTRANT -DNDEBUG -DBUILDING_QT__=1 -DNDEBUG -DTESTS_SOURCE_DIR="/home/qt-everywhere-opensource-src-4.8.6/src/3rdparty/webkit/Source/WebKit/qt/tests/" -DQT_NO_DEBUG -DQT_DECLARATIVE_LIB -DQT_WEBKIT_LIB -DQT_TESTLIB_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_HAVE_SSE3 -DQT_HAVE_SSSE3 -DQT_HAVE_SSE4_1 -DQT_HAVE_SSE4_2 -DQT_HAVE_AVX -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_SHARED -I../../../../../../../../mkspecs/linux-icc-64 -I. -I../../../../../../../../include/QtCore -I../../../../../../../../include/QtNetwork -I../../../../../../../../include/QtGui -I../../../../../../../../include/QtTest -I../../../../../../../../include/QtWebKit -I../../../../../../../../include/QtDeclarative -I../../../../../../../../include -I../../tests -I../../Api -I../../../../../Source -I../../../../../include -I../../../../include/QtWebKit -I../../../../include -I/usr/X11R6/include -I.moc/release-shared -o .obj/release-shared/tst_qwebframe.o tst_qwebframe.cpp
    In file included from ../../../../../../../../include/QtTest/qtestspontaneevent.h(1),
    from ../../../../../../../../include/QtTest/../../src/testlib/qtestkeyboard.h(53),
    from ../../../../../../../../include/QtTest/qtestkeyboard.h(1),
    from ../../../../../../../../include/QtTest/../../src/testlib/qtestevent.h(52),
    from ../../../../../../../../include/QtTest/qtestevent.h(1),
    from ../../../../../../../../include/QtTest/../../src/testlib/qtest_gui.h(55),
    from ../../../../../../../../include/QtTest/qtest_gui.h(1),
    from ../../../../../../../../include/QtTest/../../src/testlib/qtest.h(252),
    from ../../../../../../../../include/QtTest/qtest.h(1),
    from ../../../../../../../../include/QtTest/QtTest(7),
    from tst_qwebframe.cpp(21):
    ../../../../../../../../include/QtTest/../../src/testlib/qtestspontaneevent.h(89): error: taking the address of a bit field is not allowed
    Q_UNUSED(posted);
    ^

    In file included from ../../../../../../../../include/QtTest/qtestspontaneevent.h(1),
    from ../../../../../../../../include/QtTest/../../src/testlib/qtestkeyboard.h(53),
    from ../../../../../../../../include/QtTest/qtestkeyboard.h(1),
    from ../../../../../../../../include/QtTest/../../src/testlib/qtestevent.h(52),
    from ../../../../../../../../include/QtTest/qtestevent.h(1),
    from ../../../../../../../../include/QtTest/../../src/testlib/qtest_gui.h(55),
    from ../../../../../../../../include/QtTest/qtest_gui.h(1),
    from ../../../../../../../../include/QtTest/../../src/testlib/qtest.h(252),
    from ../../../../../../../../include/QtTest/qtest.h(1),
    from ../../../../../../../../include/QtTest/QtTest(7),
    from tst_qwebframe.cpp(21):
    ../../../../../../../../include/QtTest/../../src/testlib/qtestspontaneevent.h(90): error: taking the address of a bit field is not allowed
    Q_UNUSED(m_accept);
    ^

    In file included from ../../../../../../../../include/QtTest/qtestspontaneevent.h(1),
    from ../../../../../../../../include/QtTest/../../src/testlib/qtestkeyboard.h(53),
    from ../../../../../../../../include/QtTest/qtestkeyboard.h(1),
    from ../../../../../../../../include/QtTest/../../src/testlib/qtestevent.h(52),
    from ../../../../../../../../include/QtTest/qtestevent.h(1),
    from ../../../../../../../../include/QtTest/../../src/testlib/qtest_gui.h(55),
    from ../../../../../../../../include/QtTest/qtest_gui.h(1),
    from ../../../../../../../../include/QtTest/../../src/testlib/qtest.h(252),
    from ../../../../../../../../include/QtTest/qtest.h(1),
    from ../../../../../../../../include/QtTest/QtTest(7),
    from tst_qwebframe.cpp(21):
    ../../../../../../../../include/QtTest/../../src/testlib/qtestspontaneevent.h(91): error: taking the address of a bit field is not allowed
    Q_UNUSED(reserved);
    ^

    compilation aborted for tst_qwebframe.cpp (code 2)
    make[3]: *** [.obj/release-shared/tst_qwebframe.o] Error 2


  • Moderators

    @winash12 If you don't need the Qt testlib (QtTest module) you can exclude it. Otherwise you should ask on the Qt mailing list where Qt developers should know more.
    Just to know: why do you want to use Intel compiler?



  • @jsulm - Success.

    I used this information - https://github.com/Wolframe/wolfclient/issues/102 and voila it went ahead and compiled it.
    Why do I use Intel compiler ? For consistency. I have compiled every other software on my system with Intel compiler.

    May I know the URL of the Qt mailing list where the Qt developers would be looking ?


  • Moderators


  • Qt Champions 2016

    @winash12
    Use the first link provided by @jsulm, unless of course you're developing Qt itself.


Log in to reply
 

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