On 01.10.2020 22:48, Jeff Law wrote:
What you want to do to fix this is force -fPIC into the build
flags.
That inhibits local symbol resolution and the copy relocs that are so
problematical for QT. You can see examples of how to do this in the
clementine package.
Telegram Desktop already uses -fPIC:
[242/754] /usr/bin/g++ -DDESKTOP_APP_DISABLE_CRASH_REPORTS
-DDESKTOP_APP_USE_PACKAGED -DDESKTOP_APP_USE_PACKAGED_FONTS -DNDEBUG
-DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG
-DQT_WAYLANDCLIENT_LIB -DQT_WIDGETS_LIB -DQT_XKBCOMMON_SUPPORT_LIB
-ITelegram/lib_ui/lib_ui_autogen/include -ITelegram/lib_ui/gen
-I../Telegram/lib_ui -I../Telegram/lib_ui/emoji_suggestions
-I../Telegram/lib_base -I../Telegram/lib_rpl -I../Telegram/lib_crl
-isystem /usr/include/qt5/QtCore/5.15.1 -isystem
/usr/include/qt5/QtCore/5.15.1/QtCore -isystem
/usr/include/qt5/QtGui/5.15.1 -isystem
/usr/include/qt5/QtGui/5.15.1/QtGui -isystem
/usr/include/qt5/QtXkbCommonSupport/5.15.1 -isystem
/usr/include/qt5/QtXkbCommonSupport/5.15.1/QtXkbCommonSupport -isystem
/usr/include/qt5/QtWaylandClient/5.15.1 -isystem
/usr/include/qt5/QtWaylandClient/5.15.1/QtWaylandClient -isystem
/usr/include/qt5 -isystem /usr/include/qt5/QtCore -isystem
/usr/lib64/qt5/mkspecs/linux-g++ -isystem /usr/include/qt5/QtGui
-isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtNetwork
-isystem /usr/include/qt5/QtDBus -isystem
/usr/include/qt5/QtXkbCommonSupport -isystem
/usr/include/qt5/QtWaylandClient -isystem
../Telegram/ThirdParty/variant/include -isystem /usr/share -O2
-fexceptions -g1 -grecord-gcc-switches -pipe -Wall
-Werror=format-security -Wp,-D_FORTIFY_SOURCE=2
-Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1
-fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1
-m64 -mtune=generic -fasynchronous-unwind-tables
-fstack-clash-protection -DNDEBUG -fPIC -fno-strict-aliasing -pipe -Wall
-W -Wno-unused-variable -Wno-unused-parameter -Wno-unused-function
-Wno-switch -Wno-comment -Wno-unused-but-set-variable
-Wno-missing-field-initializers -Wno-sign-compare -Wno-attributes
-Wno-parentheses -Wno-stringop-overflow -Wno-maybe-uninitialized
-Wno-error=class-memaccess -Wno-register -std=gnu++17 -Winvalid-pch
-include
/builddir/build/BUILD/tdesktop-2.3.2-full/x86_64-redhat-linux-gnu/Telegram/lib_ui/CMakeFiles/lib_ui.dir/cmake_pch.hxx
-MD -MT Telegram/lib_ui/CMakeFiles/lib_ui.dir/ui/text/text.cpp.o -MF
Telegram/lib_ui/CMakeFiles/lib_ui.dir/ui/text/text.cpp.o.d -o
Telegram/lib_ui/CMakeFiles/lib_ui.dir/ui/text/text.cpp.o -c
../Telegram/lib_ui/ui/text/text.cpp
--
Sincerely,
Vitaly Zaitsev (vitaly(a)easycoding.org)