Compilling Qt Creator 2.2 on FreeBSD
-
-
Just opened http://bugreports.qt.nokia.com/browse/QTCREATORBUG-4879 about misdetection of freebsd binaires as linux.
This will make it hard to work on freebsd since Creator will not match up the compiler with the Qt version and thus block building:-/
The only workaround I can think of right now is to feed Qt Creator with a compiler that claims via "gcc -dumpmachine" to be targetting Linux. A small script wrapper should do that... then the (now misdetected) compiler will match up with the misdetected Qt and all should be well.
-
Hello All,
I've compile the qt-creator 2.2.0 and I have the exact same error when trying to run it, i.e.
bash-4.2# bin/qtcreator
Failed to load core: /export/home/Download/Qt-creator/lib/qtcreator/plugins/Nokia/libCore.so: Cannot load library /export/home/Download/Qt-creator/lib/qtcreator/plugins/Nokia/libCore.so: (ld.so.1: qtcreator: fatal: relocation error: file /download/Qt-creator/lib/qtcreator/libBotan.so.1: symbol _ZTVN5Botan11POSIX_TimerE: referenced symbol not found)bash-4.2# nm -C /download/Qt-creator/lib/qtcreator/libBotan.so.1 | grep _ZTVN5Botan11POSIX_TimerE
[_ZTVN5Botan11POSIX_TimerE]
bash-4.2# nm /download/Qt-creator/lib/qtcreator/libBotan.so | grep _ZTVN5Botan11POSIX_TimerE
[7605] | 0| 0|NOTY |GLOB |0 |UNDEF |_ZTVN5Botan11POSIX_TimerEand well the patch it seems to work for FreeBSD, but I'm working in Solaris 10 and well checking the file
vim /download/qt-creator-2.2.0-src/src/libs/3rdparty/botan/src/timer/gettimeofday/info.txt
realname "Unix Timer"
define TIMER_UNIX
load_on auto
modset unix,beos<add>
tm_unix.cpp
tm_unix.h
</add><os>
aix
beos
cygwin
darwin
freebsd
dragonfly
hpux
irix
linux
netbsd
openbsd
qnx
solaris
tru64
</os><requires>
timer
</requires>Solaris is listed as the "detected" OS, I don't know how to check if the compiler does a good detection of the OS, I have both libraries, librt et libposix4, which i read were the needed libraries to get all the posix timing routines.
Do you have any ideas on how getting qtcreator to run?
Thanks in advance
-
-
Thanks Gustavo, It runs now, qtcreator, but I have the exact same problemyou had, when trying to create or open a project it says no valid qt version found! but verifying under tools/options/qt4 Qtcreator has automatically taken the qmake on the PATH variable.
And on the shell where i ran the qtcreator i found these 3 different messages repeated:
QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv failed: Resource temporarily unavailable
QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv failed: Error 0
QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv failed: Error 0
QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv failed: Error 0
QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv failed: Error 0
QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv failed: Error 0
QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv failed: Error 0
QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv failed: No such file or directory -
No surprise there considering that the fix did not go into the 2.2 branch:-)
Please try master (or backport the patch from there, the SHA is in the bugreport).
-
You will have to clone the sources from "gitorious":https://qt.gitorious.org/qt-creator and build Creator yourself.
Alternatively, you can try one of the snapshots on "get.qt.nokia.com":http://get.qt.nokia.com/qtcreator/snapshots/
-
Please send in merge requests through gitorious:-) Thanks!
-
Hello all, I just wanted to tell you that the master version that I downloaded, the one from the 24 may, still has the same problem about the "not recognizing" of the Solaris OS, any way I still can use the IDE to edit the files and then compile them and build them in a console.
I hope soon this problem is fixed.
ABI: x86-linux-generic-elf-32bit
-
Belisario: Feel free to add a bug report about the issue of solaris not being recognized. I do not have access to solaris, so I can do little about the issue, but having a bug report is always nice.
Having said that: I am trying to add a way to override the detection, so that you should be able to set up the correct ABI, even if the detection fails.
Basically it does not matter what ABI is detected as long as your compiler and Qt version match up. So if you can get the tool chain to be recognized as "linux" you should be fine. A wrapper that returns "i686-linux-gnu" or something like that when called with "-dumpmachine" should do that. For everything else the wrapper should just delegate to your gcc.
-
Is there any news or fixes in qtcreator?
I still can not create project in QtCreator 2.2.81 (commit 42e5e5f00afb02c764772ee1bded08fd1ce37689) under FreeBSD :(
It saysbq. :-1: error: Qt Creator needs a tool chain set up to build. Please configure a tool chain in Project mode.
when I try to compile exising project
andbq. No valid qt Version found.
Please add a Qt version in Tools/Options or via tha maintenance tool of the SDKwhen I try to create new one.
bq. %gcc46 -dumpmachine
i386-portbld-freebsd9.0bq. %gcc -dumpmachine
i386-undermydesk-freebsd -
Sorry, BSD support is not a priority to me. I am working on a way to override the autodetection though which would at least allow you to override the autodetected settings. Till that lands please use the workaround of making gcc claim to be Linux... your Qt is already reported as Linux anyway. Once gcc and Qt ABIs match Creator is happy again:-)
Patches to recognize Qt as *BSD (and solaris and whatnot) are welcome. Please include the relevant Qt Core libs as test data so we can make sure to not accidentally break them again. Nobody in the team uses any of the BSDs:-(
This does of course apply to any other platform that is currently not supported.
-
Am I right that I shuold change this function?
@static QListProjectExplorer::Abi guessGccAbi(const QString &m)@
in gcctoolchain.cpp?
-
This is my merge request https://qt.gitorious.org/qt-creator/qt-creator/merge_requests/338
BUT!!! It is still workaround, because QtCreator can not choose proper spec option for qmake while building project. It chooses "linux-g++" instead "freebsd-g++", but you can override it manually in "Details" in Project tab