Re: [Interest] Link error while building Qt/32 on Linux 64 bits
On 27/08/2017 6:01 pm, "Henry Skoglund"wrote: On 2017-08-27 07:42, Christian Gagneraud wrote: > On 27 August 2017 at 16:08, Thiago Macieira > wrote: > >> On Saturday, 26 August 2017 18:25:16 PDT Christian Gagneraud wrote: >> >>> /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' >>> >> >> The undefined reference is caused by the libraries listed right before it >> not >> being found. >> > > Not sure to get what you mean. > > Given this: > -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 > > Should I focus at the libs on the right or on the left of "-lSM -lICE"? > My understanding of ld tells me to look on the right (reverse dependency > order). > > I think I have installed all these libraries. The only weird thing i > can see comes from my libGL: > krys@krys-pc:~/Projects/qt5$ ldconfig -p | grep libGL.so > libGL.so.1 (libc6,x86-64) => /usr/lib/nvidia-375/libGL.so.1 > libGL.so.1 (libc6) => /usr/lib32/nvidia-375/libGL.so.1 > libGL.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libGL.so > libGL.so (libc6,x86-64) => /usr/lib/nvidia-375/libGL.so > libGL.so (libc6) => /usr/lib/i386-linux-gnu/libGL.so > libGL.so (libc6) => /usr/lib32/nvidia-375/libGL.so > > And apt-get always complaining with: > /sbin/ldconfig.real: /usr/lib/nvidia-375/libEGL.so.1 is not a symbolic > link > /sbin/ldconfig.real: /usr/lib32/nvidia-375/libEGL.so.1 is not a symbolic > link > Those nvidia errors I also had for a long time, but upgrading Nvidia driver solved it (for example to 'nvidia-384') by adding this ppa: sudo add-apt-repository ppa:graphics-drivers/ppa Thanks a lot for the tips, I'll look into that. Chris. PS: sorry for html answer, on my googALL, seesALL phone right now. Rgrds Henry ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] Link error while building Qt/32 on Linux 64 bits
On 28 August 2017 at 04:46, Thiago Macieirawrote: > On Saturday, 26 August 2017 22:42:49 PDT Christian Gagneraud wrote: >> On 27 August 2017 at 16:08, Thiago Macieira > wrote: >> > On Saturday, 26 August 2017 18:25:16 PDT Christian Gagneraud wrote: >> >> /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' >> > >> > The undefined reference is caused by the libraries listed right before it >> > not being found. >> >> Not sure to get what you mean. >> >> Given this: >> -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 >> >> Should I focus at the libs on the right or on the left of "-lSM -lICE"? >> My understanding of ld tells me to look on the right (reverse dependency >> order). > > The left, centre and right of -lSM -lICE. You need ALL of them. > >> I think I have installed all these libraries. > > You have not:. You showed you have libSM.so.6. You need libSM.so. Hi Thiago, Thanks for pointing that out. I don't have access to this computer right now, i'm running Fedora 22 here, and this machine has libSM.so (64 bits only machine, and i don't want to mess up that one) [developer@chris-g-vm1 ~]$ ldconfig -p | grep libSM libSM.so.6 (libc6,x86-64) => /lib64/libSM.so.6 libSM.so.6 (libc6) => /lib/libSM.so.6 libSM.so (libc6,x86-64) => /lib64/libSM.so But according to packages.ubuntu.com [1], I need to install libsm-dev:i386 to get libSM.so, libSM.so.6 is provided by the package libsm:i386 [2] I have installed (I think) all the libfoo:i386, but when i try to install some libfoo-dev:i386, it forces me to specify dependencies as well and ends up removing the x86_64 versions of these packages... >From memory, here is the scenario: $ apt-get install libfoo-dev:i386 cannot install libfoo-dev:i386, needs libbar-dev:i386 and libbar-dev:i386 is not to be installed $ apt-get install libfoo-dev:i386 libbar-dev:i386 About to remove: About to install: libfoo-dev:i386, libbar-dev:i386 At which stage, i just cancel the command because the list of packages to be removed is really long and scary. I need to spend more time on this, so far it's all about Linux distro issues, nothing wrong with Qt itself. Chris [1] https://packages.ubuntu.com/search?searchon=contents=libSM.so=exactfilename=zesty=any [2] https://packages.ubuntu.com/search?searchon=contents=libSM.so.6=exactfilename=zesty=any > > -- > Thiago Macieira - thiago.macieira (AT) intel.com > Software Architect - Intel Open Source Technology Center > > ___ > Interest mailing list > Interest@qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] Link error while building Qt/32 on Linux 64 bits
On Saturday, 26 August 2017 22:42:49 PDT Christian Gagneraud wrote: > On 27 August 2017 at 16:08, Thiago Macieirawrote: > > On Saturday, 26 August 2017 18:25:16 PDT Christian Gagneraud wrote: > >> /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' > > > > The undefined reference is caused by the libraries listed right before it > > not being found. > > Not sure to get what you mean. > > Given this: > -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 > > Should I focus at the libs on the right or on the left of "-lSM -lICE"? > My understanding of ld tells me to look on the right (reverse dependency > order). The left, centre and right of -lSM -lICE. You need ALL of them. > I think I have installed all these libraries. You have not:. You showed you have libSM.so.6. You need libSM.so. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] Link error while building Qt/32 on Linux 64 bits
On 2017-08-27 07:42, Christian Gagneraud wrote: On 27 August 2017 at 16:08, Thiago Macieirawrote: On Saturday, 26 August 2017 18:25:16 PDT Christian Gagneraud wrote: /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' The undefined reference is caused by the libraries listed right before it not being found. Not sure to get what you mean. Given this: -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 Should I focus at the libs on the right or on the left of "-lSM -lICE"? My understanding of ld tells me to look on the right (reverse dependency order). I think I have installed all these libraries. The only weird thing i can see comes from my libGL: krys@krys-pc:~/Projects/qt5$ ldconfig -p | grep libGL.so libGL.so.1 (libc6,x86-64) => /usr/lib/nvidia-375/libGL.so.1 libGL.so.1 (libc6) => /usr/lib32/nvidia-375/libGL.so.1 libGL.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libGL.so libGL.so (libc6,x86-64) => /usr/lib/nvidia-375/libGL.so libGL.so (libc6) => /usr/lib/i386-linux-gnu/libGL.so libGL.so (libc6) => /usr/lib32/nvidia-375/libGL.so And apt-get always complaining with: /sbin/ldconfig.real: /usr/lib/nvidia-375/libEGL.so.1 is not a symbolic link /sbin/ldconfig.real: /usr/lib32/nvidia-375/libEGL.so.1 is not a symbolic link Those nvidia errors I also had for a long time, but upgrading Nvidia driver solved it (for example to 'nvidia-384') by adding this ppa: sudo add-apt-repository ppa:graphics-drivers/ppa Rgrds Henry ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] Link error while building Qt/32 on Linux 64 bits
On 27 August 2017 at 16:08, Thiago Macieirawrote: > On Saturday, 26 August 2017 18:25:16 PDT Christian Gagneraud wrote: >> /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' > > The undefined reference is caused by the libraries listed right before it not > being found. Not sure to get what you mean. Given this: -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 Should I focus at the libs on the right or on the left of "-lSM -lICE"? My understanding of ld tells me to look on the right (reverse dependency order). I think I have installed all these libraries. The only weird thing i can see comes from my libGL: krys@krys-pc:~/Projects/qt5$ ldconfig -p | grep libGL.so libGL.so.1 (libc6,x86-64) => /usr/lib/nvidia-375/libGL.so.1 libGL.so.1 (libc6) => /usr/lib32/nvidia-375/libGL.so.1 libGL.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libGL.so libGL.so (libc6,x86-64) => /usr/lib/nvidia-375/libGL.so libGL.so (libc6) => /usr/lib/i386-linux-gnu/libGL.so libGL.so (libc6) => /usr/lib32/nvidia-375/libGL.so And apt-get always complaining with: /sbin/ldconfig.real: /usr/lib/nvidia-375/libEGL.so.1 is not a symbolic link /sbin/ldconfig.real: /usr/lib32/nvidia-375/libEGL.so.1 is not a symbolic link krys@krys-pc:~/git-auklug/project/tmp$ ls -l /usr/lib*/*/libGL.* /usr/lib*/*/mesa/libGL.* -rw-r--r-- 1 root root652 May 2 11:41 /usr/lib32/nvidia-375/libGL.la lrwxrwxrwx 1 root root 10 May 6 01:13 /usr/lib32/nvidia-375/libGL.so -> libGL.so.1 lrwxrwxrwx 1 root root 14 May 6 01:13 /usr/lib32/nvidia-375/libGL.so.1 -> libGL.so.1.0.0 -rw-r--r-- 1 root root 528708 May 2 10:06 /usr/lib32/nvidia-375/libGL.so.1.0.0 lrwxrwxrwx 1 root root 13 Jun 8 19:54 /usr/lib/i386-linux-gnu/libGL.so -> mesa/libGL.so lrwxrwxrwx 1 root root 14 Jun 8 19:54 /usr/lib/i386-linux-gnu/mesa/libGL.so -> libGL.so.1.2.0 lrwxrwxrwx 1 root root 14 Jun 8 19:54 /usr/lib/i386-linux-gnu/mesa/libGL.so.1 -> libGL.so.1.2.0 -rw-r--r-- 1 root root 457224 Jun 8 19:54 /usr/lib/i386-linux-gnu/mesa/libGL.so.1.2.0 lrwxrwxrwx 1 root root 10 May 6 01:13 /usr/lib/nvidia-375/libGL.so -> libGL.so.1 lrwxrwxrwx 1 root root 14 May 6 01:13 /usr/lib/nvidia-375/libGL.so.1 -> libGL.so.1.0.0 -rw-r--r-- 1 root root 665712 May 2 09:26 /usr/lib/nvidia-375/libGL.so.1.0.0 lrwxrwxrwx 1 root root 13 Jun 8 19:54 /usr/lib/x86_64-linux-gnu/libGL.so -> mesa/libGL.so lrwxrwxrwx 1 root root 14 Jun 8 19:54 /usr/lib/x86_64-linux-gnu/mesa/libGL.so -> libGL.so.1.2.0 lrwxrwxrwx 1 root root 14 Jun 8 19:54 /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 -> libGL.so.1.2.0 -rw-r--r-- 1 root root 463424 Jun 8 19:54 /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2.0 Chris > Software Architect - Intel Open Source Technology Center > > ___ > Interest mailing list > Interest@qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] Link error while building Qt/32 on Linux 64 bits
On Saturday, 26 August 2017 18:25:16 PDT Christian Gagneraud wrote: > /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' The undefined reference is caused by the libraries listed right before it not being found. Please install the packages that contain libSM.so and libICE.so (32-bit versions). If you were using OpenSUSE, I could tell you what the package names were. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] Link error while building Qt/32 on Linux 64 bits
Hi, about that missing libSM.so, some googling found this: https://askubuntu.com/questions/611933/missing-libsm-so-6-library-qt-creator-installation-error Rgrds Henry On 2017-08-27 03:25, Christian Gagneraud wrote: 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
Re: [Interest] Link error while building Qt/32 on Linux 64 bits
On 27 August 2017 at 13:25, Christian Gagneraudwrote: > 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. BTW, at this stage i built successfully quite a few Qt modules: krys@krys-pc:~/Projects/qt5$ find . -name 'libQt*.so' ./qtbase/lib/libQt5OpenGL.so ./qtbase/lib/libQt5Xml.so ./qtbase/lib/libQt5Network.so ./qtbase/lib/libQt5Gui.so ./qtbase/lib/libQt5Test.so ./qtbase/lib/libQt5DBus.so ./qtbase/lib/libQt5Concurrent.so ./qtbase/lib/libQt5Core.so ./qtbase/lib/libQt5PrintSupport.so ./qtbase/lib/libQt5Sql.so ./qtbase/lib/libQt5Widgets.so So my setup cannot be that bad... Chris > > 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' >
[Interest] Link error while building Qt/32 on Linux 64 bits
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