[arch-multilib] compiling errors
Hello all, I am trying to build lib32-qtcurve-gtk2. My PKGBUILD builds a package without errors. When I install it it seems to work. But some functions give segfaults. build() { cd "$srcdir" mkdir build cd build export CC="gcc -m32" export CXX="g++ -m32" export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" cmake ../QtCurve-Gtk2-${pkgver} \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr/lib32 make } As it did not work while I was on 64bit I compiled with the same PKGBUILD on a 32 bit system, just replacing gcc-multilib with gcc. I installed the resulting libqtcurve.so in my 64bit system and it works! There must be some problem with gcc-multilib I guess... Harvey -- Linux is like a wigwam: No Gates, no Windows and an Apache inside
Am 18.10.2010 11:55, schrieb Harvey:
As it did not work while I was on 64bit I compiled with the same PKGBUILD on a 32 bit system, just replacing gcc-multilib with gcc. I installed the resulting libqtcurve.so in my 64bit system and it works!
There must be some problem with gcc-multilib I guess...
The problem is that our multilib packages are optimized with -march=x86-64 while the i686 packages are optimized with -march=i686 - the former enables stuff like -msse, and gcc seems to fuck up there. We fixed such a problem in zlib already (by setting -fno-tree-vectorize iirc) and there might be more. Just out of curiousity, can you change CFLAGS to -march=i686 and see if it works? If it does, can you just append -fno-tree-vectorite to CFLAGS and see if that helps, too? In the end, we need to generate a test case for the gcc guys to fix this.
Thomas,
The problem is that our multilib packages are optimized with -march=x86-64 while the i686 packages are optimized with -march=i686 - the former enables stuff like -msse, and gcc seems to fuck up there. We fixed such a problem in zlib already (by setting -fno-tree-vectorize iirc) and there might be more. Just out of curiousity, can you change CFLAGS to -march=i686 and see if it works? If it does, can you just append -fno-tree-vectorite to CFLAGS and see if that helps, too?
I changed makepkg.conf CFLAGS but to no avail. Still segfaults while the 32bit compile works. Harvey -- Linux is like a wigwam: No Gates, no Windows and an Apache inside
participants (2)
-
Harvey
-
Thomas Bächler