When fontconfig is configured with > eselect fontconfig enable 65-fonts-persian.conf starting Google Earth (/opt/googleearth/googleearth-bin) will result in a segfault, as a temporary workaround people can then disable this to get Google Earth to start. This appears to happen in expat (/usr/lib32/libexpat.so.1): > /usr/lib32/libexpat.so.1(XML_ParseBuffer+0x83)[0xf3ce78a3] > /usr/lib32/libfontconfig.so.1(FcConfigParseAndLoad+0x1eb)[0xf67e36db] > /usr/lib32/libfontconfig.so.1(FcInitLoadConfig+0x42)[0xf67d85f2] > /usr/lib32/libfontconfig.so.1(FcInitLoadConfigAndFonts+0xc)[0xf67d870c] > /usr/lib32/libfontconfig.so.1(FcInit+0x2d)[0xf67d897d] > ./libQtGui.so.4(_Z7qt_initP19QApplicationPrivateiP9_XDisplaymm+0x1fff)[0xf6b8502f] The full stack trace and information is available at bug #455124. From the information found at Novell's bugzilla (see URL field, c15) we yield > The segfault was traced down to reading one of the XML font files and the "culprit" was libexpat. The remedy was to rebuild expat-2.1.0.tar.gz with -Bsymbolic-functions passed along to the linker: LDFLAGS='-Wl,-Bsymbolic-functions' ./configure --prefix=/usr && make && make install which is the first possible fix. openSUSE fixes this at https://build.opensuse.org/request/show/148919 with > really hide private Xml* symbols which basically uses -fvisibility=hidden to hide all symbols and explicitly name exported symbols (__attribute__ ((visibility ("default")))), this is the second possible fix. In c19 we see the possible cause stated: > I think the problem are Xml* symbols exported in libexpat1 and libbase libraries. > ... > libexpat and libbase libraries exports XML_* functions and EarthXML_* respectively which can't clash thanks to Earth prefix. But prefixing Xml* functions is forgotten. Maybe because, according to expat.h they are not meant to be exported and should be hidden. Can you look into this?
This needs to be fixed in expat at first
the suse visibility patch is here https://build.opensuse.org/package/view_file?expand=1&file=expat-visibility.patch&package=expat&project=openSUSE%3AFactory and would require eautoreconf
I have built expat with that suse patch in a 32bit chroot and used those libs instead of the app-emulation/emul-linux-x86-baselibs ones. I can confirm that it fixes the problem.
The emul-linux-x86 packages have been removed.