Error message when running qmake -spec linux-g++-32



  • Hello friends, I want to ask
    Why when I run qmake -spec linux-g++-32 command that there is an error? is there a library that is lacking or what? if there are libraries that are less I have to install the library of what is needed?
    Error the following message:
    /usr/bin/ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libQt5Widgets.so when searching for -lQt5Widgets
    /usr/bin/ld: cannot find -lQt5Widgets
    /usr/bin/ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libQt5Gui.so when searching for -lQt5Gui
    /usr/bin/ld: cannot find -lQt5Gui
    /usr/bin/ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libQt5Core.so when searching for -lQt5Core
    /usr/bin/ld: cannot find -lQt5Core
    /usr/bin/ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libGL.so when searching for -lGL
    /usr/bin/ld: cannot find -lGL
    /usr/bin/ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libpthread.so when searching for -lpthread
    /usr/bin/ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libpthread.a when searching for -lpthread
    collect2: ld returned 1 exit status
    make: *** [untitled2] Error 1


  • Moderators

    It looks like you have Qt x86_64 installed but try to build for X86.
    I will need to install Qt built for X86.



  • @jsulm How to build x86 how?


  • Moderators

    As I sad you need to install x86 Qt first and then use its qmake:
    /path/to/qt_x86/bin/qmake -spec linux-g++-32

    Why do you want to build for x86? Your system seems to be x86_64.



  • @jsulm I have a duty to make cross-compile from 64bit to 32bit. So I asked. I was confused when cross-compiling, the problem is I do not know what to prepare for. From some of my reference when searching, I have installed these libraries they recommend to cross compile, but in reality it does not help at all.


  • Moderators

    You need x86 compiler (how to install depends on your Linux distribution, on Ubuntu 14.04 it is g++-4.8:i386) and x86 Qt (http://download.qt.io/official_releases/qt/5.5/5.5.1/qt-opensource-linux-x86-5.5.1.run) and probably some other libraries as x86.
    As alternative you can set up an x86 Linux either directly on a PC or in a virtual machine, then install Qt there.



  • @jsulm If after I installed it, I was able to use it? What else might need libraries?


  • Moderators

    If you installed it try to build your application and see what happens.
    I don't know which other libraries may be needed. You will see it if you build/run your application.


  • Moderators

    One tip: if you're using Ubuntu then you should install build-essential:i386 package.



  • @jsulm What has the build-essential depends? If it has anything to be installed?


  • Moderators

    Before asking such questions you actually could just try to install the package:
    apt-get install build-essential:i386


  • Moderators

    You can use -s parameter to see what is going to happen if you install the package without installing it:
    apt-get install -s build-essential:i386



  • @jsulm To be honest, I've never tried to install it, but it is not installed, which I can only notification. The following notification that I can:
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    Some packages could not be installed. This may mean that you have
    requested an impossible situation or if you are using the unstable
    distribution that some required packages have not yet been created
    or been moved out of Incoming.
    The following information may help to resolve the situation:

    The following packages have unmet dependencies:
    build-essential:i386 : Depends: libc6-dev:i386 but it is not going to be installed or
    libc-dev:i386
    Depends: gcc:i386 (>= 4:4.4.3) but it is not going to be installed
    Depends: g++:i386 (>= 4:4.4.3) but it is not going to be installed
    Depends: make:i386 but it is not going to be installed
    E: Unable to correct problems, you have held broken packages.


  • Moderators

    OK. Forget it.
    I'm not sure why but if you try to install it (or g++ for x86) then the package manager wants to remove x86_64 version!
    This is really bad, it should be possible to install both version in parallel but it isn't.
    So, probably it will be easier to install a x86 Ubuntu (for example in a virtual machine).



  • @jsulm Lol, then do not make it more complicated? Complicated in the sense should be used only to compile the first virtual course?


  • Moderators

    What do you mean by "compile the first virtual course"?



  • @Renn Sorry, I typo. I mean if you want to build the binary 32bit it must use a virtual machine.


  • Moderators

    Well, you don't have to use a virtual machine, but then you have to set up x86 development environment on your x86_64 machine.



  • @jsulm The point?


  • Moderators

    The point?
    The point is: either you use a x86 Linux to build your application for x86 or you have to set up x86 compiler and x86 Qt on your x86_64 machine.


Log in to reply
 

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