Yves-Alexis Perez
2018-Apr-18 07:49 UTC
[LightDM] Missing symbols in liblightdm-qt-3-0 1.26
On Tue, 2018-04-17 at 17:23 +0200, Yves-Alexis Perez wrote:> Could someone comment on this? Even if the _LightDMGreeter type is internal, > it's still exposed in exported symbols so it doesn't look really safe to > change without bumping the soname.It seems that the cb_* functions are not exposed in the headers and shouldn't be exported. Maybe it would make sense to build with -fvisibility=hidden?> > Some other removed symbols are: > > QDBusReply<QString>::~QDBusReply()@Base > QDebug::~QDebug()@Base > > Any comment on those would be welcome too.I guess those are in the same vein as the other destructors and could be marked optional? Again, confirmation would be welcome. Regards, -- Yves-Alexis -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 488 bytes Desc: This is a digitally signed message part URL: <https://lists.freedesktop.org/archives/lightdm/attachments/20180418/14b406d3/attachment.sig>
Yves-Alexis Perez
2018-Apr-18 08:24 UTC
[LightDM] Missing symbols in liblightdm-qt-3-0 1.26
On Wed, 2018-04-18 at 09:49 +0200, Yves-Alexis Perez wrote:> It seems that the cb_* functions are not exposed in the headers and shouldn't > be exported. Maybe it would make sense to build with -fvisibility=hidden?I tried to do just that but then test fails with: libtool: link: g++ -fPIC "-DQT_DISABLE_DEPRECATED_BEFORE=QT_VERSION_CHECK(4, 0, 0)" -I../../liblightdm-qt -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -DQT_SHARED -I/usr/include/qt4 -I/usr/include/qt4/QtDBus -I/usr/include/qt4 -I/usr/include/qt4/QtXml -I/usr/include/qt4 -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I/usr/include/qt4/QtCore -g -O2 -fdebug-prefix-map=/build/lightdm-1.26.0=. -fstack-protector-strong -Wformat -Werror=format-security -fvisibility=hidden -Wl,-z -Wl,relro -Wl,-z -Wl,now -Wl,--as-needed -Wl,-O1 -o .libs/test-qt4-greeter test_qt4_greeter-test-qt-greeter.o test_qt4_greeter-status.o test_qt4_greeter-test-qt4-greeter_moc4.o -L../../liblightdm-gobject /build/lightdm-1.26.0/liblightdm-gobject/.libs/liblightdm-gobject-1.so -L../../liblightdm-qt -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lxcb /build/lightdm-1.26.0/liblightdm-qt/.libs/liblightdm-qt-3.so -lQtDBus -lQtXml -lQtGui -lQtCore -pthread test_qt4_greeter-test-qt-greeter.o: In function `request_cb(char const*, _GHashTable*)': ./tests/src/test-qt-greeter.cpp:244: undefined reference to `QLightDM::PowerInterface::shutdown()' ./tests/src/test-qt-greeter.cpp:202: undefined reference to `QLightDM::PowerInterface::canSuspend()' ./tests/src/test-qt-greeter.cpp:208: undefined reference to `QLightDM::PowerInterface::suspend()' ./tests/src/test-qt-greeter.cpp:214: undefined reference to `QLightDM::PowerInterface::canHibernate()' ./tests/src/test-qt-greeter.cpp:220: undefined reference to `QLightDM::PowerInterface::hibernate()' ./tests/src/test-qt-greeter.cpp:226: undefined reference to `QLightDM::PowerInterface::canRestart()' ./tests/src/test-qt-greeter.cpp:232: undefined reference to `QLightDM::PowerInterface::restart()' ./tests/src/test-qt-greeter.cpp:238: undefined reference to `QLightDM::PowerInterface::canShutdown()' test_qt4_greeter-test-qt-greeter.o: In function `main': ./tests/src/test-qt-greeter.cpp:311: undefined reference to `QLightDM::PowerInterface::PowerInterface(QObject*)' collect2: error: ld returned 1 exit status make[4]: *** [Makefile:938: test-qt4-greeter] Error 1 make[4]: Leaving directory '/build/lightdm-1.26.0/tests/src' The attached patch fix that problem but I'm not sure it's correct. I can also open github issues if it's useful. After the build, more symbols disappear (which I guess is expected) but it might make sense to check the resulting file? I've attached the patch generated by dpkg-gensymbols. Regards, -- Yves-Alexis -------------- next part -------------- A non-text attachment was scrubbed... Name: 03_liblightdm-qt3-add-header-visibility.patch Type: text/x-patch Size: 255 bytes Desc: not available URL: <https://lists.freedesktop.org/archives/lightdm/attachments/20180418/f8cc7dd0/attachment-0002.bin> -------------- next part -------------- A non-text attachment was scrubbed... Name: lightdm-1.26_liblightdm-qt-3-0.symbols.diff Type: text/x-patch Size: 5080 bytes Desc: not available URL: <https://lists.freedesktop.org/archives/lightdm/attachments/20180418/f8cc7dd0/attachment-0003.bin> -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 488 bytes Desc: This is a digitally signed message part URL: <https://lists.freedesktop.org/archives/lightdm/attachments/20180418/f8cc7dd0/attachment-0001.sig>