[kde-freebsd] [SVN Commit] branches/qt-5.0/QT/devel/qmake4
Max Brazhnikov
makc at freebsd.org
Tue Dec 3 16:11:17 UTC 2013
On Thu, 28 Nov 2013 14:01:51 +0000 Max Brazhnikov wrote:
> On Thu, 28 Nov 2013 13:05:27 +0100 Alberto Villa wrote:
> > On Thu, Nov 28, 2013 at 1:02 PM, Max Brazhnikov <makc at freebsd.org> wrote:
> > > Btw, do we really need versioned mkspecs for g++NN and clangNN? Compiler
> is
> > > already passed via QMAKE_CC. Shan't we leave non-suffixed mkspecs only?
> >
> > Well, when using qmake by hand people will also have to pass CC and
> > CXX (and friends) to match current Qt configuration, then...
>
> clang34 has been recently added to the tree, gcc42 was removed, and we have
> always to catch up with this sort of changes. I think those who use qmake for
> development can setup their environment as they need it. If we don't need
> these additional mkspecs for ports, I'd prefer to remove them for simplicity.
Btw, I've spotted interesting difference between clang and gcc specs.
Unlike gcc, clang spec does not define
QMAKE_LFLAGS_NOUNDEF += -Wl,--no-undefined
As a result, qt5-gui was failing on 9.2 with gcc due to this flag:
c++ -Wl,--no-undefined -Wl,-O1 -pthread -Wl,-rpath,/usr/local/lib -shared -o libqxcb.so .obj/release-shared/qxcbclipboard.o .obj/release-shared/qxcbconnection.o .obj/release-shared/qxcbintegration.o .obj/release-shared/qxcbkeyboard.o .obj/release-shared/qxcbmime.o .obj/release-shared/qxcbdrag.o .obj/release-shared/qxcbscreen.o .obj/release-shared/qxcbwindow.o .obj/release-shared/qxcbbackingstore.o .obj/release-shared/qxcbwmsupport.o .obj/release-shared/main.o .obj/release-shared/qxcbnativeinterface.o .obj/release-shared/qxcbcursor.o .obj/release-shared/qxcbimage.o .obj/release-shared/qxcbxsettings.o .obj/release-shared/qxcbsystemtraytracker.o .obj/release-shared/qxcbconnection_xi2.o .obj/release-shared/qxcbsessionmanager.o .obj/release-shared/qglxintegration.o .obj/release-shared/moc_qxcbconnection.o .obj/release-shared/moc_qxcbmime.o .obj/release-shared/moc_qxcbnativeinterface.o .obj/release-shared/moc_qxcbsystemtraytracker.o -L/usr/local/lib -lX11-xcb -lXi -lxcb-render-util -lSM -lICE -lxcb-glx -lxcb-render -ldbus-1 -lxcb -lxcb-image -lxcb-icccm -lxcb-sync -lxcb-xfixes -lxcb-shm -lxcb-randr -lxcb-shape -lxcb-keysyms -lxkbcommon -L/wrkdirs/usr/ports/x11-toolkits/qt5-gui/work/qtbase-opensource-src-5.2.0-beta1/lib -lQt5PlatformSupport -lfontconfig -lfreetype -lgthread-2.0 -pthread -lglib-2.0 -lintl -lXrender -lXext -lX11 -lm -lQt5DBus -lQt5Gui -lQt5Core -lGL
.obj/release-shared/qxcbconnection.o: In function `QXcbConnection::initializeXKB()':
qxcbconnection.cpp:(.text+0x43f0): undefined reference to `xcb_xkb_id'
qxcbconnection.cpp:(.text+0x4449): undefined reference to `xcb_xkb_use_extension'
qxcbconnection.cpp:(.text+0x4455): undefined reference to `xcb_xkb_use_extension_reply'
qxcbconnection.cpp:(.text+0x44aa): undefined reference to `xcb_xkb_select_events_checked'
.obj/release-shared/qxcbconnection.o: In function `QXcbConnection::QXcbConnection(QXcbNativeInterface*, bool, char const*)':
qxcbconnection.cpp:(.text+0x4913): undefined reference to `xcb_xkb_id'
.obj/release-shared/qxcbconnection.o: In function `QXcbConnection::QXcbConnection(QXcbNativeInterface*, bool, char const*)':
qxcbconnection.cpp:(.text+0x4e23): undefined reference to `xcb_xkb_id'
.obj/release-shared/qxcbkeyboard.o: In function `QXcbKeyboard::updateVModToRModMapping()':
qxcbkeyboard.cpp:(.text+0x218): undefined reference to `xcb_xkb_get_map'
qxcbkeyboard.cpp:(.text+0x228): undefined reference to `xcb_xkb_get_map_reply'
qxcbkeyboard.cpp:(.text+0x23c): undefined reference to `xcb_xkb_get_map_map'
qxcbkeyboard.cpp:(.text+0x28b): undefined reference to `xcb_xkb_get_map_map_unpack'
.obj/release-shared/qxcbkeyboard.o: In function `QXcbKeyboard::updateKeymap()':
qxcbkeyboard.cpp:(.text+0x6dd): undefined reference to `xcb_xkb_get_state'
qxcbkeyboard.cpp:(.text+0x6e9): undefined reference to `xcb_xkb_get_state_reply'
.obj/release-shared/qxcbkeyboard.o: In function `QXcbKeyboard::updateVModMapping()':
qxcbkeyboard.cpp:(.text+0xa21): undefined reference to `xcb_xkb_get_names'
qxcbkeyboard.cpp:(.text+0xa31): undefined reference to `xcb_xkb_get_names_reply'
qxcbkeyboard.cpp:(.text+0xa45): undefined reference to `xcb_xkb_get_names_value_list'
qxcbkeyboard.cpp:(.text+0xa88): undefined reference to `xcb_xkb_get_names_value_list_unpack'
.obj/release-shared/qxcbkeyboard.o: In function `QXcbKeyboard::QXcbKeyboard(QXcbConnection*)':
qxcbkeyboard.cpp:(.text+0xd7b): undefined reference to `xcb_xkb_get_device_info'
qxcbkeyboard.cpp:(.text+0xd8c): undefined reference to `xcb_xkb_get_device_info_reply'
.obj/release-shared/qxcbkeyboard.o: In function `QXcbKeyboard::QXcbKeyboard(QXcbConnection*)':
qxcbkeyboard.cpp:(.text+0xeab): undefined reference to `xcb_xkb_get_device_info'
qxcbkeyboard.cpp:(.text+0xebc): undefined reference to `xcb_xkb_get_device_info_reply'
*** [../../../../plugins/platforms/libqxcb.so] Error code 1
1 error
*** [sub-xcb-plugin-pro-all-ordered] Error code 2
1 error
*** [sub-xcb-all] Error code 2
1 error
*** [post-build] Error code 2
Stop in /usr/ports/x11-toolkits/qt5-gui.
It could be built with clang, but then than it has run-time problem with
undefined symbols.
It turned out that libxcb in ports were built without xkb support,
kwm has already enabled it by my request.
I wonder if clang spec should have this flag too.
Max
More information about the kde-freebsd
mailing list