SLES 11 sp3 and Qt5 compilation problems



  • I would like to know if there are any possibility to compile Qt5 onm this plateform? I know that the system is old but it is the one installed on the server and there are very little chance that will be upgrade to a newer version.
    We are developing a software based on Qt4 and we wanted to port it to Qt5 but if there are no chance for us to do it we will have to look at another solution (probably stuck with Qt4).

    I tried to follow "this tutorial":http://qt-project.org/forums/viewthread/38354/ and adapted it to SLES11 but without success. I am going further than before but the compilation crash with the message:

    cd qml/ && ( test -e Makefile || /tmp/Softwares/Qt5/qt-everywhere-opensource-src-5.2.1/qtbase/bin/qmake /tmp/Softwares/Qt5/qt-everywhere-opensource-src-5.2.1/qtdeclarative/tools/qml/qml.pro -o Makefile ) && make -f Makefile
    make[3]: Entering directory /tmp/Softwares/Qt5/qt-everywhere-opensource-src-5.2.1/qtdeclarative/tools/qml' g++ -Wl,-rpath-link=/opt/Qt/5.2.1/usr/lib -Wl,-O1 -Wl,-rpath,/opt/Qt/5.2.1/lib -o ../../bin/qml .obj/main.o .obj/qrc_qml.o .obj/moc_conf.o -L/opt/Qt/5.2.1/usr/lib -L/tmp/Softwares/Qt5/qt-everywhere-opensource-src-5.2.1/qtbase/lib -lQt5Widgets -L/tmp/Softwares/Qt5/qt-everywhere-opensource-src-5.2.1/qtdeclarative/lib -lQt5Qml -lQt5Gui -lQt5Network -lQt5Core -lpthread /usr/lib64/libxcb-xlib.so.0: undefined reference to_xcb_unlock_io'
    /usr/lib64/libxcb-xlib.so.0: undefined reference to _xcb_lock_io' collect2: error: ld returned 1 exit status make[3]: *** [../../bin/qml] Error 1 make[3]: Leaving directory/tmp/Softwares/Qt5/qt-everywhere-opensource-src-5.2.1/qtdeclarative/tools/qml'
    make[2]: *** [sub-qml-make_first] Error 2
    make[2]: Leaving directory /tmp/Softwares/Qt5/qt-everywhere-opensource-src-5.2.1/qtdeclarative/tools' make[1]: *** [sub-tools-make_first] Error 2 make[1]: Leaving directory/tmp/Softwares/Qt5/qt-everywhere-opensource-src-5.2.1/qtdeclarative'
    make: *** [module-qtdeclarative-make_first] Error 2

    if you have any advice for me that will be great.

    Thank you,

    Nicolas


  • Lifetime Qt Champion

    Hi and welcome to devnet,

    Are you sure you installed all dependencies ? Also check that the package are recent enough

    You can also check the "build from git":http://qt-project.org/wiki/Building_Qt_5_from_Git guide to get the dependencies

    Hope it helps



  • All the available dependencies from SLES 11 are there but it is an old version and so the package, for xcb, for example are not recent enough. I did as indicate in the RHEL tutorial but I still have some problem. I wanted to know if anyone has a solution to solve them.

    I am completely aware that SLES 11 is old but I do not have any choice, there are hardware sell today with this system and so I do think that it should be possible to compile Qt5 on it but I completely understand the need to use mode modern technology. As mention in my previous message, if I can't compile for this system that means that I have either way to stick to Qt4 or, and I am afraid for it, that the other people in the project will push for something a little bit more portable ie java...


  • Lifetime Qt Champion

    I may be wrong, but it seems that you are linking against the system library and not your custom one.



  • This Thread seems to have stopped without a resolution. I am also getting the same error: Has anyone resolved this issue yet..

    /usr/lib64/libxcb-xlib.so.0: undefined reference to _xcb_unlock_io’ /usr/lib64/libxcb-xlib.so.0: undefined reference to_xcb_lock_io’

    I have tried installing libxcb-1.11 and its dependencies in an alternate include and Lib folders and then using the -I and _L options on the configure line. I have all the required dependencies installed. I'm not sure where to go from here. I too am using SLES 11 SP3. The QT versions I have tried building are QT 5.0.2 and 5.4., both get the same error.

    If you have any more ideas I can try to get QT 5 working with SLES 11 SP3 please let me know.

    Thank you ,

    Phil



  • This Thread seems to have stopped without a resolution. I am also getting the same error: Has anyone resolved this issue yet..

    /usr/lib64/libxcb-xlib.so.0: undefined reference to _xcb_unlock_io’ /usr/lib64/libxcb-xlib.so.0: undefined reference to_xcb_lock_io’

    I have tried installing libxcb-1.11 and its dependencies in an alternate include and Lib folders and then using the -I and _L options on the configure line. I have all the required dependencies installed. I'm not sure where to go from here. I too am using SLES 11 SP3. The QT versions I have tried building are QT 5.0.2 and 5.4., both get the same error.

    If you have any more ideas I can try to get QT 5 working with SLES 11 SP3 please let me know.

    Thank you ,

    Phil


  • Lifetime Qt Champion

    Hi and welcome to devnet,

    Are you sure that your custom libxcb gets detected ? You can use the -v option to see what the test does


  • Lifetime Qt Champion

    Hi and welcome to devnet,

    Are you sure that your custom libxcb gets detected ? You can use the -v option to see what the test does



  • I'm pretty sure it is looking at the custom libxcb as after I set that up the compile went much further. I'm not sure what you mean by the "-v" option. I put verbose on the configure and I did not get any more information. This is where it dies:

    make[3]: Leaving directory /udlnas/users/talbepw/qt_5_0_2/qt-everywhere-opensource-src-5.0.2/qtdeclarative/tools/qmlscene' make[3]: Entering directory/udlnas/users/talbepw/qt_5_0_2/qt-everywhere-opensource-src-5.0.2/qtdeclarative/tools/qmlscene'
    g++ -m64 -Wl,-O1 -Wl,-rpath,/udlnas/users/talbepw/qt_5_0_2/build/lib -Wl,-rpath-link,/udlnas/users/talbepw/qt_5_0_2/qt-everywhere-opensource-src-5.0.2/qtjsbackend/lib -o ../../bin/qmlscene .obj/release-shared/main.o -L/usr/X11R6/lib64 -L/udlnas/users/talbepw/qt_5_0_2/build/lib -L/udlnas/users/talbepw/qt_5_0_2/build/lib64 -L/udlnas/users/talbepw/qt_5_0_2/qt-everywhere-opensource-src-5.0.2/qtdeclarative/lib -lQt5Quick -L/udlnas/users/talbepw/qt_5_0_2/build//lib -lQt5Qml -L/udlnas/users/talbepw/qt_5_0_2/qt-everywhere-opensource-src-5.0.2/qtbase/lib -lQt5Widgets -lQt5Network -lQt5Gui -lQt5Core -lGL -lpthread
    /usr/lib64/libxcb-xlib.so.0: undefined reference to _xcb_unlock_io' /usr/lib64/libxcb-xlib.so.0: undefined reference to_xcb_lock_io'
    collect2: error: ld returned 1 exit status
    make[3]: *** [../../bin/qmlscene] Error 1
    make[3]: Leaving directory /udlnas/users/talbepw/qt_5_0_2/qt-everywhere-opensource-src-5.0.2/qtdeclarative/tools/qmlscene' make[2]: *** [sub-qmlscene-make_first] Error 2 make[2]: Leaving directory/udlnas/users/talbepw/qt_5_0_2/qt-everywhere-opensource-src-5.0.2/qtdeclarative/tools'
    make[1]: *** [sub-tools-make_first] Error 2
    make[1]: Leaving directory `/udlnas/users/talbepw/qt_5_0_2/qt-everywhere-opensource-src-5.0.2/qtdeclarative'
    make: *** [module-qtdeclarative-make_first] Error 2

    Thank you for the help,

    Phil



  • I'm pretty sure it is looking at the custom libxcb as after I set that up the compile went much further. I'm not sure what you mean by the "-v" option. I put verbose on the configure and I did not get any more information. This is where it dies:

    make[3]: Leaving directory /udlnas/users/talbepw/qt_5_0_2/qt-everywhere-opensource-src-5.0.2/qtdeclarative/tools/qmlscene' make[3]: Entering directory/udlnas/users/talbepw/qt_5_0_2/qt-everywhere-opensource-src-5.0.2/qtdeclarative/tools/qmlscene'
    g++ -m64 -Wl,-O1 -Wl,-rpath,/udlnas/users/talbepw/qt_5_0_2/build/lib -Wl,-rpath-link,/udlnas/users/talbepw/qt_5_0_2/qt-everywhere-opensource-src-5.0.2/qtjsbackend/lib -o ../../bin/qmlscene .obj/release-shared/main.o -L/usr/X11R6/lib64 -L/udlnas/users/talbepw/qt_5_0_2/build/lib -L/udlnas/users/talbepw/qt_5_0_2/build/lib64 -L/udlnas/users/talbepw/qt_5_0_2/qt-everywhere-opensource-src-5.0.2/qtdeclarative/lib -lQt5Quick -L/udlnas/users/talbepw/qt_5_0_2/build//lib -lQt5Qml -L/udlnas/users/talbepw/qt_5_0_2/qt-everywhere-opensource-src-5.0.2/qtbase/lib -lQt5Widgets -lQt5Network -lQt5Gui -lQt5Core -lGL -lpthread
    /usr/lib64/libxcb-xlib.so.0: undefined reference to _xcb_unlock_io' /usr/lib64/libxcb-xlib.so.0: undefined reference to_xcb_lock_io'
    collect2: error: ld returned 1 exit status
    make[3]: *** [../../bin/qmlscene] Error 1
    make[3]: Leaving directory /udlnas/users/talbepw/qt_5_0_2/qt-everywhere-opensource-src-5.0.2/qtdeclarative/tools/qmlscene' make[2]: *** [sub-qmlscene-make_first] Error 2 make[2]: Leaving directory/udlnas/users/talbepw/qt_5_0_2/qt-everywhere-opensource-src-5.0.2/qtdeclarative/tools'
    make[1]: *** [sub-tools-make_first] Error 2
    make[1]: Leaving directory `/udlnas/users/talbepw/qt_5_0_2/qt-everywhere-opensource-src-5.0.2/qtdeclarative'
    make: *** [module-qtdeclarative-make_first] Error 2

    Thank you for the help,

    Phil


  • Lifetime Qt Champion

    I meant

    @configure -v the rest of your options@


  • Lifetime Qt Champion

    I meant

    @configure -v the rest of your options@



  • I just spent 2 weeks tweaking the configuration files and mkspecs to get Qt 5.4.0 to build on SUSE SLED 11. Our machine does not have the SP1 or 2 or 3 so it is much older that what you are using...
    [gcc 4.3.2 tool chain]

    I did make sure all the tools were there - python, ruby and the ICU dependency for QtWebKit.
    The configure command was:
    ./configure -commercial -confirm-license -platform linux-g++-32 -qt-xcb -no=gtkstyle -prefix /usr/local/Qt-5.4.0 -nomake examples -nomake tests

    I modified the mkspeck/common/g++-base.conf to change -std=c++0x to c++98 ( I think configure -no-c++11 does the same thing)
    added -march=pentium4

    Added DEFINES += GLX_GLXEXT_LEGACY to qtbase/src/plugins/platforms/offscreen/offscreen.pro.

    Had to create a compatibility header file for definitions to build XCB as a static library, copying the local xcb_atom.h to qtbase/src/3rdparty/xcb/include
    edit xcb_iccm.h to include <xcb/xcb_stom.h> and <xcb/xcb_compat.h>
    When building qdeclaritive /src/qml - modified the Makefile to remove -fvisibility=hidden and -finline=hidden
    force compiler to uses ICU_UNICODE - edit qwebkit/Source/WTF/wtf/platform.h to define it always...
    removed wchar_unicode from .qmake_conf also.
    some generated assembly code did not assemble - hand fixed that
    So I got the build to succeed and ran make install to place everything in the prefix location... DBus libraries did not install - copied them manually...

    Good news it built -
    Bad news - assistant, designer fail to run with the following error: QXcbConnection:Failed to get primary output of screen
    arguments to dbus_message_new_method_call() were incorrect...

    Not sure where to go from here...



  • I just spent 2 weeks tweaking the configuration files and mkspecs to get Qt 5.4.0 to build on SUSE SLED 11. Our machine does not have the SP1 or 2 or 3 so it is much older that what you are using...
    [gcc 4.3.2 tool chain]

    I did make sure all the tools were there - python, ruby and the ICU dependency for QtWebKit.
    The configure command was:
    ./configure -commercial -confirm-license -platform linux-g++-32 -qt-xcb -no=gtkstyle -prefix /usr/local/Qt-5.4.0 -nomake examples -nomake tests

    I modified the mkspeck/common/g++-base.conf to change -std=c++0x to c++98 ( I think configure -no-c++11 does the same thing)
    added -march=pentium4

    Added DEFINES += GLX_GLXEXT_LEGACY to qtbase/src/plugins/platforms/offscreen/offscreen.pro.

    Had to create a compatibility header file for definitions to build XCB as a static library, copying the local xcb_atom.h to qtbase/src/3rdparty/xcb/include
    edit xcb_iccm.h to include <xcb/xcb_stom.h> and <xcb/xcb_compat.h>
    When building qdeclaritive /src/qml - modified the Makefile to remove -fvisibility=hidden and -finline=hidden
    force compiler to uses ICU_UNICODE - edit qwebkit/Source/WTF/wtf/platform.h to define it always...
    removed wchar_unicode from .qmake_conf also.
    some generated assembly code did not assemble - hand fixed that
    So I got the build to succeed and ran make install to place everything in the prefix location... DBus libraries did not install - copied them manually...

    Good news it built -
    Bad news - assistant, designer fail to run with the following error: QXcbConnection:Failed to get primary output of screen
    arguments to dbus_message_new_method_call() were incorrect...

    Not sure where to go from here...



  • The output I posted was with using the configure -v option.

    Phil



  • The output I posted was with using the configure -v option.

    Phil



  • This is the configure command I'm using:

    qt_5_0_2/qt-everywhere-opensource-src-5.0.2> ./configure -v --prefix=/udlnas/users/talbepw/qt_5_0_2/build/ -no-c++11 -I/udlnas/users/talbepw/qt_5_0_2/build/include -nomake tests -L/udlnas/users/talbepw/qt_5_0_2/build/lib -continue -L/udlnas/users/talbepw/qt_5_0_2/build/lib64

    I also tried the "QT-xcb" option - but I get the same error.

    Thank you,

    Phil



  • This is the configure command I'm using:

    qt_5_0_2/qt-everywhere-opensource-src-5.0.2> ./configure -v --prefix=/udlnas/users/talbepw/qt_5_0_2/build/ -no-c++11 -I/udlnas/users/talbepw/qt_5_0_2/build/include -nomake tests -L/udlnas/users/talbepw/qt_5_0_2/build/lib -continue -L/udlnas/users/talbepw/qt_5_0_2/build/lib64

    I also tried the "QT-xcb" option - but I get the same error.

    Thank you,

    Phil


Log in to reply
 

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