GTK produces different binaries when compiled with locale "tr_TR.UTF-8"
I noticed that compiling GTK with different locales result in different binaries and causes some problems like here: [1]. I know that's a patched version but I observed the same problem when I compiled official 'gtk3' package of Arch Linux. The build script can be obtained from [2].
[1] https://github.com/TomaszGasior/gtk3-mushrooms/issues/17
[2] https://git.archlinux.org/svntogit/packages.git/tree/trunk?h=packages/gtk3
Steps to reproduce
- Download ArchLinux sources
- run
makepkg
with locale (LC_ALL)en_US.UTF-8
- Extract and store
libgtk-3.so.0.2404.1
asen_libgtk-3.so.0.2404.1
- set locale
tr_TR.UTF-8
and runmakepkg
again - Extract the
libgtk-3.so.0.2404.1
astr_libgtk-3.so.0.2404.1
- Inspect the symbol list using
readelf --wide --dyn-syms {en,tr}_libgtk-3.so.0.2404.1 | tail -n+4 | awk '{print $8;}' | sort > {en,tr}_dyn_syms.txt
Current behavior
The produced binaries are different. The one built with Turkish locale is missing some symbols.
Expected outcome
The produced binaries should be the same regardless of the locale.
Version information
Arch Linux
GTK+: 3.24.5
GLib2: 2.58.3
Additional information
The difference seems like in Glib *_get_type
functions. However, I encountered the problem in [1] even though I had the required symbol in the shared object. I produced a diff file of the symbol list.