Am 06.12.2019 um 17:37 schrieb Ole Streicher:
How should one handle this?
Best regards
Ole
Arch dependend symbols are a pain in the ... :D
there are some approaches to handle it - one could have a look into the
KDE packaging tools and packaging how the KDE team handle this. I use a
different approach in LXQt - i mangle and sort the symbols and make them
unique afterwards. After that i mark symbols that are not in every
architecture as optional and when in good mood i list the architectures
(positive or negative)
Example:
(c++)"std::__detail::_Map_base<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::pair<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const, Fm::FileInfoList>,
std::allocator<std::pair<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const, Fm::FileInfoList>
>, std::__detail::_Select1st,
std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > >,
std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash,
std::__detail::_Prime_rehash_policy,
std::__detail::_Hashtable_traits<true, false, true>,
true>::operator[](std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >&&)@Base" 0.13.0~
(optional|c++)"std::pair<std::_Rb_tree_iterator<unsigned int>, bool>
std::_Rb_tree<unsigned int, unsigned int, std::_Identity<unsigned int>,
std::less<unsigned int>, std::allocator<unsigned int>
>::_M_insert_unique<unsigned int>(unsigned int&&)@Base" 0.14.1~
(c++)"std::unique_ptr<Fm::LibFmQt, std::default_delete<Fm::LibFmQt>
>::~unique_ptr()@Base" 0.14.0~
(c++)"std::vector<Fm::BrowseHistoryItem,
std::allocator<Fm::BrowseHistoryItem>
>::_M_erase(__gnu_cxx::__normal_iterator<Fm::BrowseHistoryItem*,
std::vector<Fm::BrowseHistoryItem, std::allocator<Fm::BrowseHistoryItem>
> >)@Base" 0.12.0
(optional|c++|arch= !i386 !mips !mipsel !s390x !alpha !hurd-i386
!powerpc !ppc64 )"std::vector<Fm::DirTreeModelItem*,
std::allocator<Fm::DirTreeModelItem*>
>::_M_erase(__gnu_cxx::__normal_iterator<Fm::DirTreeModelItem**,
std::vector<Fm::DirTreeModelItem*, std::allocator<Fm::DirTreeModelItem*>
> >)@Base" 0.14.0~
the very simple tool in lxqt-build-tools is symmangle - it create *.mangled
files that can be compared with or used as symbols files after minimal changes,
cheers Alf