Compiling QT libs with non-default gcc
-
Dear members,
I downloaded and extracted qt-everywhere-opensource-src-4.8.3.tar.gz.
Using configure (or another way) I want to compile the QTlibs with another gcc located in /opt
This is not the default gcc that comes with Centos (5.5)Can you help ?
Thanks,
Zvika -
Adjust mkspecs (or better, create your own by copying, say, linux-g++), so that it uses a different compiler. Then you need to configure Qt with -platform <your new mkspecs>. I don't actually remember if it works, but at least is worth a try.
-
If your gcc in /opt is called "gcc", "g++" etc. then you can just make sure /opt/whatever/bin is in your PATH before /usr/bin and this should work. Run "gcc --version" (or was that "gcc -v", can't remember :) and check that you get the expected version number back to make sure the right compiler is picked up.
I would also check the generated Makefiles before building for the first time. Some mkspec put the absolute path to the compiler into those and will thus ignore your PATH setup.
-
Dear Members,
I created a new folder under mkspecs copied from linux-g++-32
Then I changed g++,gcc to i686-nptl-linux-gnu-gcc,i686-nptl-linux-gnu-g++
I also set:
QMAKE_LIBDIR =
QMAKE_INCDIR_X11 =
QMAKE_LIBDIR_X11 =I ran:
./configure -opensource -platform i686-nptl-linux-gnu -embedded -host-little-endian -fast -no-accessibility -no-stl -no-qt3support -no-xmlpatterns -no-multimedia -no-audio-backend -no-phonon -no-phonon-backend -no-svg -no-webkit -no-javascript-jit -no-script -no-declarative -no-declarative-debug -no-gif -qt-zlib -no-libtiff -no-libpng -no-libmng -no-libjpeg -no-openssl -no-gui -no-nis -no-cups -no-iconv -no-dbus -no-gtkstyle -no-nas-sound -no-opengl -no-openvg -no-sm -no-xshape -no-xvideo -no-xsync -no-xinerama -no-xcursor -no-xfixes -no-xrandr -no-xrender -no-mitshm -no-fontconfig -no-xinput -no-xkb -no-glibAfter a while I got the following error:
gmake[1]: Entering directory
/home/zvivered/qt-everywhere-opensource-src-4.7.4/translations' /home/zvivered/qt-everywhere-opensource-src-4.7.4/bin/qmake -spec ../mkspecs/qws/linux-x86-g++ -o Makefile translations.pro gmake[1]: Leaving directory
/home/zvivered/qt-everywhere-opensource-src-4.7.4/translations'
gmake[1]: Entering directory/home/zvivered/qt-everywhere-opensource-src-4.7.4/translations' /home/zvivered/qt-everywhere-opensource-src-4.7.4/bin/lrelease assistant_cs.ts -qm assistant_cs.qm /home/zvivered/qt-everywhere-opensource-src-4.7.4/bin/lrelease: /usr/lib/libstdc++.so.6: version
GLIBCXX_3.4.9' not found (required by /home/zvivered/qt-everywhere-opensource-src-4.7.4/bin/lrelease)
gmake[1]: *** [assistant_cs.qm] Error 1
gmake[1]: Leaving directory `/home/zvivered/qt-everywhere-opensource-src-4.7.4/translations'
gmake: *** [sub-translations-make_default-ordered] Error 2
[Why does the make files searches: /usr/lib/libstdc++.so.6 ?
In my directory under mkspec (called i686-nptl-linux-gnu) there is no: /usr/libYou help is highly appreciated !
Thanks,
Zvika -
Dear Members,
I think I had to set:
LD_LIBRARY_PATH to point to where my gcc's dynamic libraries are located.Now I'm getting:
/home/zvivered/ct-ng-1.5.2/release/i686-nptl-linux-gnu/sys-root/lib/librt.so.1: undefined reference to `__fortify_fail@GLIBC_PRIVATE'
collect2: ld returned 1 exit status
gmake[3]: *** [download] Error 1"My" glibc is 2.9
Can I link QT 4.7.4 with this glibc ?Thanks,
Zvika -
Hello,
I created a toolchain with glib 2.5
With this glib I did not get the unresolved error: "undefined reference to `__fortify_fail@GLIBC_PRIVATE’"Upon configure start I got the following message:
@You have not explicitly asked to use pkg-config and are cross-compiling.
pkg-config will not be used to automatically query cflag/lib parameters for
dependencies@Where should I usg pkg-config ?
Thanks,
Zvika