Hi there, I'm trying to build a 32 bits version of Qt on a 64 bits Linux machine (KUbuntu 17.04).
At the very beginning i wouldn't even pass the bootstrapping of Qt. So i installed all the 'lib32' packages (eg, lib32stdc++, ...) and some i386 version of the build dependencies listed on Qt Wiki. I can now pass the configure stage, but the build fails while linking libQt5XcbQpa. See below for details. I wonder if i need to pass in some CFLAGS, CXXFLAGS, LDFLAGS to ./configure Any help appreciated. Thanks, Chris The error is: g++ -m32 -Wl,--no-undefined -Wl,--version-script,QtXcbQpa.version -Wl,-O1 -fuse-ld=gold -Wl,--enable-new-dtags -Wl,-rpath,/home/krys/Projects/qt5/qtbase/lib -shared -Wl,-Bsymbolic-functions -Wl,-soname,libQt5XcbQpa.so.5 -o libQt5XcbQpa.so.5.9.0 .obj/qxcbclipboard.o .obj/qxcbconnection.o .obj/qxcbintegration.o .obj/qxcbkeyboard.o .obj/qxcbmime.o .obj/qxcbdrag.o .obj/qxcbscreen.o .obj/qxcbwindow.o .obj/qxcbbackingstore.o .obj/qxcbwmsupport.o .obj/qxcbnativeinterface.o .obj/qxcbcursor.o .obj/qxcbimage.o .obj/qxcbxsettings.o .obj/qxcbsystemtraytracker.o .obj/qxcbconnection_xi2.o .obj/qxcbsessionmanager.o .obj/qxcbglintegrationfactory.o .obj/qxcbglintegration.o .obj/qxcbnativeinterfacehandler.o .obj/atom.o .obj/xkb-compat.o .obj/context.o .obj/xkb-keymap.o .obj/keysym.o .obj/keysym-utf.o .obj/state.o .obj/text.o .obj/context-priv.o .obj/keymap-priv.o .obj/utils.o .obj/utf8.o .obj/action.o .obj/ast-build.o .obj/compat.o .obj/expr.o .obj/include.o .obj/keycodes.o .obj/keymap-dump.o .obj/keymap.o .obj/keywords.o .obj/rules.o .obj/scanner.o .obj/symbols.o .obj/types.o .obj/vmod.o .obj/xkbcomp.o .obj/parser.o .obj/util.o .obj/x11-keymap.o .obj/x11-state.o .obj/moc_qxcbconnection.o .obj/moc_qxcbmime.o .obj/moc_qxcbnativeinterface.o .obj/moc_qxcbsystemtraytracker.o .obj/moc_qxcbglintegrationplugin.o -lxcb-xinerama -L/home/krys/Projects/qt5/qtbase/lib -lQt5ServiceSupport -lQt5ThemeSupport -lQt5EventDispatcherSupport -lQt5FontDatabaseSupport -lfontconfig -lfreetype -lQt5LinuxAccessibilitySupport -lQt5AccessibilitySupport -lGL -lQt5Gui -lQt5DBus -lQt5Core -lpthread -lX11 -lX11-xcb -lXi -lSM -lICE -lxcb-xkb -lxcb-render-util -lxcb-render -lxcb -lxcb-shm -lxcb-sync -lxcb-xfixes -lxcb-randr -lxcb-image -lxcb-keysyms -lxcb-icccm -lxcb-shape -lGL /usr/bin/ld.gold: warning: skipping incompatible //usr/lib/x86_64-linux-gnu/libSM.so while searching for SM /usr/bin/ld.gold: error: cannot find -lSM /usr/bin/ld.gold: warning: skipping incompatible //usr/lib/x86_64-linux-gnu/libICE.so while searching for ICE /usr/bin/ld.gold: error: cannot find -lICE .obj/qxcbsessionmanager.o:qxcbsessionmanager.cpp:function QXcbSessionManager::~QXcbSessionManager(): error: undefined reference to 'SmcCloseConnection' .obj/qxcbsessionmanager.o:qxcbsessionmanager.cpp:function QXcbSessionManager::release(): error: undefined reference to 'SmcInteractDone' .obj/qxcbsessionmanager.o:qxcbsessionmanager.cpp:function sm_setProperty(char const*, char const*, int, SmPropValue*) [clone .part.2]: error: undefined reference to 'SmcSetProperties' .obj/qxcbsessionmanager.o:qxcbsessionmanager.cpp:function QSmSocketReceiver::socketActivated(int): error: undefined reference to 'SmcGetIceConnection' .obj/qxcbsessionmanager.o:qxcbsessionmanager.cpp:function QSmSocketReceiver::socketActivated(int): error: undefined reference to 'IceProcessMessages' .obj/qxcbsessionmanager.o:qxcbsessionmanager.cpp:function QXcbSessionManager::QXcbSessionManager(QString const&, QString const&): error: undefined reference to 'SmcOpenConnection' .obj/qxcbsessionmanager.o:qxcbsessionmanager.cpp:function QXcbSessionManager::QXcbSessionManager(QString const&, QString const&): error: undefined reference to 'SmcGetIceConnection' .obj/qxcbsessionmanager.o:qxcbsessionmanager.cpp:function QXcbSessionManager::QXcbSessionManager(QString const&, QString const&): error: undefined reference to 'IceConnectionNumber' .obj/qxcbsessionmanager.o:qxcbsessionmanager.cpp:function sm_setProperty(QString const&, QStringList const&): error: undefined reference to 'SmcDeleteProperties' .obj/qxcbsessionmanager.o:qxcbsessionmanager.cpp:function sm_performSaveYourself(QXcbSessionManager*): error: undefined reference to 'SmcInteractDone' .obj/qxcbsessionmanager.o:qxcbsessionmanager.cpp:function sm_performSaveYourself(QXcbSessionManager*): error: undefined reference to 'SmcSaveYourselfDone' .obj/qxcbsessionmanager.o:qxcbsessionmanager.cpp:function sm_performSaveYourself(QXcbSessionManager*): error: undefined reference to 'SmcInteractDone' .obj/qxcbsessionmanager.o:qxcbsessionmanager.cpp:function sm_performSaveYourself(QXcbSessionManager*): error: undefined reference to 'SmcRequestSaveYourselfPhase2' .obj/qxcbsessionmanager.o:qxcbsessionmanager.cpp:function QXcbSessionManager::allowsInteraction(): error: undefined reference to 'SmcInteractRequest' .obj/qxcbsessionmanager.o:qxcbsessionmanager.cpp:function QXcbSessionManager::allowsErrorInteraction(): error: undefined reference to 'SmcInteractRequest' collect2: error: ld returned 1 exit status Makefile.xcb_qpa_lib:347: recipe for target '../../../../lib/libQt5XcbQpa.so.5.9.0' failed make[6]: *** [../../../../lib/libQt5XcbQpa.so.5.9.0] Error 1 make[6]: Leaving directory '/home/krys/Projects/qt5/qtbase/src/plugins/platforms/xcb' [...] I have installed the i386 packages for libSM and libICE using "apt-get install libsm6:i386 libice6:i386": krys@krys-pc:~/Projects/qt5$ ls -l /usr/lib/i386-linux-gnu/libSM* lrwxrwxrwx 1 root root 14 Jul 13 2014 /usr/lib/i386-linux-gnu/libSM.so.6 -> libSM.so.6.0.1 -rw-r--r-- 1 root root 30164 Jul 13 2014 /usr/lib/i386-linux-gnu/libSM.so.6.0.1 krys@krys-pc:~/Projects/qt5$ ls -l /usr/lib/i386-linux-gnu/libICE* lrwxrwxrwx 1 root root 15 Jul 13 2014 /usr/lib/i386-linux-gnu/libICE.so.6 -> libICE.so.6.3.0 -rw-r--r-- 1 root root 92396 Jul 13 2014 /usr/lib/i386-linux-gnu/libICE.so.6.3.0 But as can be seen above, the linker doesn't seem to look for SO in this directory and instead look into /usr/lib/x86_64-linux-gnu. I don't think my environment is mis-leading the build: krys@krys-pc:~/Projects/qt5$ env | grep PATH KICAD_PATH=/usr/share/kicad MANDATORY_PATH=/usr/share/gconf//usr/share/xsessions/plasma.mandatory.path DEFAULTS_PATH=/usr/share/gconf//usr/share/xsessions/plasma.default.path XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0 XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session2 PATH=/opt/Qt/Tools/QtCreator/bin:/opt/QtInstallerFramework/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin krys@krys-pc:~/Projects/qt5$ env | grep LD OLDPWD=/home/krys/Projects/qt5/qtbase krys@krys-pc:~/Projects/qt5$ env | grep CC QT_ACCESSIBILITY=1 QT_LINUX_ACCESSIBILITY_ALWAYS_ON=1 krys@krys-pc:~/Projects/qt5$ env | grep CXX krys@krys-pc:~/Projects/qt5$ env | grep QT QT_ACCESSIBILITY=1 QT_LINUX_ACCESSIBILITY_ALWAYS_ON=1 QT_AUTO_SCREEN_SCALE_FACTOR=0 krys@krys-pc:~/Projects/qt5$ Qt was configured with: ./configure -developer-build -opensource -nomake examples -release -platform linux-g++-32 Qt configure test run and summary: Running configuration tests... Checking for gold linker... yes Checking for machine tuple... yes Checking for valid makespec... yes Checking for alloca()... yes Checking for target architecture... i386 Checking for SSE2 instructions... yes Checking for SSE3 instructions... yes Checking for SSSE3 instructions... yes Checking for SSE4.1 instructions... yes Checking for SSE4.2 instructions... yes Checking for AVX instructions... yes Checking for AVX2 instructions... yes Checking for AVX512 F instructions... yes Checking for AVX512 BW instructions... yes Checking for AVX512 CD instructions... yes Checking for AVX512 DQ instructions... yes Checking for AVX512 ER instructions... yes Checking for AVX512 IFMA instructions... yes Checking for AVX512 PF instructions... yes Checking for AVX512 VBMI instructions... yes Checking for AVX512 VL instructions... yes Checking for C++14 support... yes Checking for C++1z support... yes Checking for pkg-config... yes Checking for D-Bus >= 1.2... yes Checking for new dtags support... yes Checking for F16C instructions... yes Checking for D-Bus >= 1.2 (host)... yes Checking for udev... yes Checking for mremap()... yes Checking for POSIX fallocate()... yes Checking for precompiled header support... yes Checking for symbol visibility support... yes Checking for -Bsymbolic-functions support... yes Checking for STL compatibility... yes Checking for zlib... yes Checking for clock_gettime()... yes Checking for POSIX monotonic clock... yes Checking for dlopen()... yes Checking for eventfd... yes Checking for GLib... no Checking for POSIX iconv... yes Checking for ICU... yes Checking for inotify... yes Checking for SysV IPC... yes Checking for 64 bit atomics... yes Checking for ppoll()... yes Checking for slog2... no Checking for DoubleConversion... no Checking for PCRE2... no Checking for O_CLOEXEC... yes Checking for working std::atomic for function pointers... yes Checking for getaddrinfo()... yes Checking for getifaddrs()... yes Checking for IPv6 ifname... yes Checking for OpenSSL Headers... yes Checking for DB2 (IBM)... no Checking for InterBase... no Checking for MySQL... no Checking for OCI (Oracle)... no Checking for ODBC... no Checking for PostgreSQL... no Checking for SQLite (version 2)... no Checking for TDS (Sybase)... no Checking for XCB >= 1.5 (core)... yes Checking for Desktop OpenGL... yes Checking for EGL... no Checking for evdev... yes Checking for FreeType... yes Checking for Fontconfig... yes Checking for GBM... no Checking for KMS... yes Checking for libinput... no Checking for LinuxFB... yes Checking for mtdev... no Checking for OpenVG... no Checking for default QPA platform... xcb Checking for HarfBuzz... no Checking for libjpeg... no Checking for libpng... yes Checking for XCB (secondary)... yes Checking for tslib... no Checking for X11 prefix... /usr Checking for XCB GLX... yes Checking for XCB XRender... yes Checking for X11 session management... yes Checking for XCB Xlib... yes Checking for Xinput2... yes Checking for XCB XKB >= 1.10... yes Checking for xkbcommon-x11 >= 0.4.1... no Checking for XKB config root... /usr/share/X11/xkb Checking for xkbcommon... no Checking for XLib... yes Checking for CUPS... no Checking for Socket CAN... yes Checking for Socket CAN FD... yes Checking for Direct3D 12... no Checking for SDL2... no Checking for Assimp... no Checking for Autodesk FBX... no Checking for Wayland client library... no Checking for Wayland EGL library... no Checking for wayland-server... no Checking for BlueZ... no Checking for sensorfw... no Checking for ALSA... yes Checking for GStreamer 1.0... no Checking for GStreamer 0.10... no Checking for Video for Linux... yes Checking for OpenAL... no Checking for PulseAudio >= 0.9.10... no Checking for libresourceqt5... no Checking for Gypsy... no Checking for WinRT Geolocation API... no Checking for ALSA... yes Checking for embedded... no Checking for PulseAudio >= 0.9.10... yes Checking for system ninja... no Checking for opus... no Checking for libwebp and libwebpdemux... yes Done running configuration tests. Configure summary: Build type: linux-g++-32 (i386, CPU features: <none>) Configuration: use_gold_linker sse2 sse3 ssse3 sse4_1 sse4_2 avx avx2 avx512f avx512bw avx512cd avx512dq avx512er avx512ifma avx512pf avx512vbmi avx512vl compile_examples enable_new_dtags f16c headersclean largefile precompile_header warnings_are_errors private_tests shared rpath release c++11 c++14 c++1z concurrent dbus mremap reduce_exports reduce_relocations stl Build options: Mode ................................... release Building shared libraries .............. yes Using C++ standard ..................... C++1z Using gold linker ...................... yes Using new DTAGS ........................ yes Using precompiled headers .............. yes Using LTCG ............................. no Target compiler supports: SSE .................................. SSE2 SSE3 SSSE3 SSE4.1 SSE4.2 AVX .................................. AVX AVX2 F16C AVX512 ............................... F ER CD PF DQ BW VL IFMA VBMI Build parts ............................ libs tests tools Qt modules and options: Qt Concurrent .......................... yes Qt D-Bus ............................... yes Qt D-Bus directly linked to libdbus .... yes Qt Gui ................................. yes Qt Network ............................. yes Qt Sql ................................. yes Qt Testlib ............................. yes Qt Widgets ............................. yes Qt Xml ................................. yes Support enabled for: Using pkg-config ....................... yes QML debugging .......................... yes udev ................................... yes Using system zlib ...................... yes Qt Core: DoubleConversion ....................... yes Using system DoubleConversion ........ no GLib ................................... no iconv .................................. no ICU .................................... yes Logging backends: journald ............................. no syslog ............................... no slog2 ................................ no Using system PCRE2 ..................... no Qt Network: getaddrinfo() .......................... yes getifaddrs() ........................... yes IPv6 ifname ............................ yes libproxy ............................... no OpenSSL ................................ yes Qt directly linked to OpenSSL ........ no SCTP ................................... no Use system proxies ..................... yes Qt Sql: DB2 (IBM) .............................. no InterBase .............................. no MySql .................................. no OCI (Oracle) ........................... no ODBC ................................... no PostgreSQL ............................. no SQLite2 ................................ no SQLite ................................. yes Using system provided SQLite ......... no TDS (Sybase) ........................... no Qt Gui: Accessibility .......................... yes FreeType ............................... yes Using system FreeType ................ yes HarfBuzz ............................... yes Using system HarfBuzz ................ no Fontconfig ............................. yes Image formats: GIF .................................. yes ICO .................................. yes JPEG ................................. yes Using system libjpeg ............... no PNG .................................. yes Using system libpng ................ yes EGL .................................... no OpenVG ................................. no OpenGL: Desktop OpenGL ....................... yes OpenGL ES 2.0 ........................ no OpenGL ES 3.0 ........................ no OpenGL ES 3.1 ........................ no Session Management ..................... yes Features used by QPA backends: evdev .................................. yes libinput ............................... no mtdev .................................. no tslib .................................. no xkbcommon-evdev ........................ no QPA backends: DirectFB ............................... no EGLFS .................................. no LinuxFB ................................ yes VNC .................................... yes Mir client ............................. no X11: Using system provided XCB libraries .. yes EGL on X11 ........................... no Xinput2 .............................. yes XCB XKB .............................. yes XLib ................................. yes XCB render ........................... yes XCB GLX .............................. yes XCB Xlib ............................. yes Using system-provided xkbcommon ...... no Qt Widgets: GTK+ ................................... no Styles ................................. Fusion Windows Qt PrintSupport: CUPS ................................... no Qt SerialBus: Socket CAN ............................. yes Socket CAN FD .......................... yes QtXmlPatterns: XML schema support ..................... yes Qt QML: QML interpreter ........................ yes QML network support .................... yes Qt Quick: Direct3D 12 ............................ no AnimatedImage item ..................... yes Canvas item ............................ yes Support for Quick Designer ............. yes Flipable item .......................... yes GridView item .......................... yes ListView item .......................... yes Path support ........................... yes PathView item .......................... yes Positioner items ....................... yes ShaderEffect item ...................... yes Sprite item ............................ yes Qt Gamepad: SDL2 ................................... no Qt 3D: Assimp ................................. yes System Assimp .......................... no Output Qt3D Job traces ................. no Output Qt3D GL traces .................. no Qt 3D GeometryLoaders: Autodesk FBX ........................... no Qt Wayland Client ........................ no Qt Wayland Compositor .................... no Qt Bluetooth: BlueZ .................................. no BlueZ Low Energy ....................... no Linux Crypto API ....................... no Qt Sensors: sensorfw ............................... no Qt Multimedia: ALSA ................................... yes GStreamer 1.0 .......................... no GStreamer 0.10 ......................... no Video for Linux ........................ yes OpenAL ................................. no PulseAudio ............................. no Resource Policy (libresourceqt5) ....... no Windows Audio Services ................. no DirectShow ............................. no Windows Media Foundation ............... no Qt Quick Controls 2: Styles ................................. Default Material Universal Qt Quick Templates 2: Hover support .......................... yes Qt Location: Gypsy GPS Daemon ....................... no WinRT Geolocation API .................. no Qt WebEngine: Embedded build ......................... no Optimize for size ...................... no Pepper Plugins ......................... yes Printing and PDF ....................... yes Proprietary Codecs ..................... no Spellchecker ........................... yes WebRTC ................................. yes Using system ninja ..................... no ALSA ................................... yes PulseAudio ............................. yes System libraries: libwebp and libwebpdemux ............. yes Opus ................................. no ffmpeg ............................... no Note: No wayland-egl support detected. Cross-toolkit compatibility disabled. Qt is now configured for building. Just run 'make'. Once everything is built, Qt is installed. You should NOT run 'make install'. Note that this build cannot be deployed to other machines or devices. Prior to reconfiguration, make sure you remove any leftovers from the previous build. _______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest