[SOLVED] qmake now uses libs in i386-linux-gnu folder, how to fix?



  • Hi everyone, I've the problem described in the title, I've a compiled versione of Qt5 for arm (compiled in ubuntu 9.04) and I've moved the compiled qt folder to another machine with Ubuntu 13.10, that's because it wasn't compiled by me and I need to use QtCreator3.0.0

    The problem is that now qmake points to my libs in /usr/lib/i386-linux-gnu and not to the libs in /usr/local/...

    How can I fix this problem? By now I've modified the Makefile generated, by I want to fix the problem in the qmake (compiled but not yet tested the bin file, so could be broken however)

    Googling doesn't give anything useful to me.

    I think that this kind of problem wasn't present in ubuntu 9.04 because it's i386-linux-gnu folder is empty.

    Thank you.


  • Lifetime Qt Champion

    Hi,

    Are you sure you are using the correct qmake on your machine ? Do you use the full path when calling it ?



  • Yes sure, I'm using the full path



  • There one thing I noticed, if I launch a ldd with the qmake on the original build system it says:
    @Not a dynamic executable@

    After that I made a tar archive of the entire qt folder and I move to another system, unpack it and ldd is finding some linked libraries:
    @# ldd /opt/qtForArm/bin/qmake
    linux-gate.so.1 => (0xb77d5000)
    libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xb76d4000)
    libm.so.6 => /lib/i386-linux-gnu/i686/cmov/libm.so.6 (0xb76ae000)
    libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xb7690000)
    libc.so.6 => /lib/i386-linux-gnu/i686/cmov/libc.so.6 (0xb752d000)
    /lib/ld-linux.so.2 (0xb77d6000)@

    What's happen then?

    edit: I've made some extra test and this is what I ended with:
    in the original build sys, if I do a file with the qmake I got:
    @# file /opt/qtForArm/bin/qmake
    qtForArm/bin/qmake: ELF 32-bit LSB executable, Intel 80386, version 1 (GNU/Linux), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, not stripped@
    While the ldd says it doesn't use shared libs


  • Lifetime Qt Champion

    Are you that's what ldd says on your original system ?

    Anyway, the answer is that your qmake was built with the 32bit gcc that's why it's searching for libraries in /usr/lib/i386-linux-gnu/.

    If you don't want that, build it with a 64bit gcc



  • Ok got it.

    I had other problem that I was thinking related to this one (even if this one is not even a problem).

    So, everything is solved now.


  • Lifetime Qt Champion

    Nice !

    Can you also update the thread title prepending [solved] so 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.