Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Illegal instruction emerging qtgui-4.8.6-r4
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
stazz
n00b
n00b


Joined: 18 Jun 2004
Posts: 37

PostPosted: Mon Nov 28, 2016 5:41 am    Post subject: Illegal instruction emerging qtgui-4.8.6-r4 Reply with quote

Just just upgraded my system from an AMD chip to an Intel i7-6700K. I've been able to do *most* of a 'emerge -eav @system @world' from a bootable live-usb drive after dropping in a fresh stage-3, and can now mostly use the computer as before. I won't be comfortable until I can cleanly re-emerge the system. (And yes, I knew I was signing up for some pain.)

The remaining problem (that I'm aware of, so far) is qtgui-4.8.6-r4. This is getting pulled in by vlc, even though its got USE="-qt4 qt5" (qt5 emerges just fine). But that aside, the failure due to an illegal instruction is the problem I'm looking at here.

Here's my CFLAGS:
Code:
~> grep CFLAGS /etc/portage/make.conf
CFLAGS="-O2 -pipe -fomit-frame-pointer -mtune=native -march=native"
CXXFLAGS="${CFLAGS}"


Here's my CPU_FLAGS_X86 (straight from cpuinfo2cpuflags-x86):
Code:
~> grep CPU /etc/portage/make.conf
CPU_FLAGS_X86="aes avx avx2 fma3 mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3"


Comparing to /proc/cpuinfo, I notice that cpuinfo says "fma" vs "fma3", does not have mmxext. Is cpuinfo2cpuflags-x86 telling me the wrong flags?

Finally, here's what I see in dmesg regarding the illegal instruction:
Code:
[ 1224.605391] traps: rcc[5887] trap invalid opcode ip:f769fe80 sp:ff9e0730 error:0 in libz.so.1.2.8[f769d000+15000]


While such errors have gotten me past a few other problems, in this case I've re-emerged zlib to no effect. I expect zlib is extensively used, so since nothing else is hitting this problem I'm suspicious that this is a red herring. I don't know where to look for the real cause, though.

Here's the end of the merge, where it fails, in case it's more illuminating to someone else than it is to me:
Code:
/var/tmp/portage/dev-qt/qtgui-4.8.6-r4/work/qt-everywhere-opensource-src-4.8.6-abi_x86_32.x86/bin/moc -DQT_SHARED -DQT_BUILD_GUI_LIB -DQT_NO_USING_NAMESPACE -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT3_SUPPORT -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_NO_OPENTYPE -DQT_NO_STYLE_MAC -DQT_NO_STYLE_WINDOWSVISTA -DQT_NO_STYLE_WINDOWSXP -DQT_NO_STYLE_WINDOWSCE -DQT_NO_STYLE_WINDOWSMOBILE -DQT_NO_STYLE_S60 -DQ_INTERNAL_QAPP_SRC -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_HAVE_SSE3 -DQT_HAVE_SSSE3 -DQT_HAVE_SSE4_1 -DQT_HAVE_SSE4_2 -DQT_HAVE_AVX -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I/var/tmp/portage/dev-qt/qtgui-4.8.6-r4/work/qt-everywhere-opensource-src-4.8.6/mkspecs/linux-g++ -I/var/tmp/portage/dev-qt/qtgui-4.8.6-r4/work/qt-everywhere-opensource-src-4.8.6/src/gui -I../../include/QtCore -I../../include -I../../include/QtGui -I.rcc/release-shared -I/var/tmp/portage/dev-qt/qtgui-4.8.6-r4/work/qt-everywhere-opensource-src-4.8.6/src/3rdparty/xorg -I/var/tmp/portage/dev-qt/qtgui-4.8.6-r4/work/qt-everywhere-opensource-src-4.8.6/src/gui/image -I/usr/include/freetype2 -I/var/tmp/portage/dev-qt/qtgui-4.8.6-r4/work/qt-everywhere-opensource-src-4.8.6/src/3rdparty/harfbuzz/src -I/var/tmp/portage/dev-qt/qtgui-4.8.6-r4/work/qt-everywhere-opensource-src-4.8.6/src/gui/dialogs -I.moc/release-shared -I.uic/release-shared -I. /var/tmp/portage/dev-qt/qtgui-4.8.6-r4/work/qt-everywhere-opensource-src-4.8.6/src/gui/dialogs/qprintdialog.h -o .moc/release-shared/moc_qprintdialog.cpp
/var/tmp/portage/dev-qt/qtgui-4.8.6-r4/work/qt-everywhere-opensource-src-4.8.6-abi_x86_32.x86/bin/rcc -name qprintdialog /var/tmp/portage/dev-qt/qtgui-4.8.6-r4/work/qt-everywhere-opensource-src-4.8.6/src/gui/dialogs/qprintdialog.qrc -o .rcc/release-shared/qrc_qprintdialog.cpp
Makefile:42710: recipe for target '.rcc/release-shared/qrc_qprintdialog.cpp' failed
make: *** [.rcc/release-shared/qrc_qprintdialog.cpp] Illegal instruction
make: *** Deleting file '.rcc/release-shared/qrc_qprintdialog.cpp'
make: *** Waiting for unfinished jobs....


Any suggestions on how fix this problem would be appreciated!
Back to top
View user's profile Send private message
Genone
Retired Dev
Retired Dev


Joined: 14 Mar 2003
Posts: 9523
Location: beyond the rim

PostPosted: Mon Nov 28, 2016 12:15 pm    Post subject: Reply with quote

Double-check your existing USE flags:
Quote:
-DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_HAVE_SSE3 -DQT_HAVE_SSSE3 -DQT_HAVE_SSE4_1 -DQT_HAVE_SSE4_2 -DQT_HAVE_AVX
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54220
Location: 56N 3W

PostPosted: Mon Nov 28, 2016 12:33 pm    Post subject: Reply with quote

stazz,

The bad news is that the illegal instruction is in the code being executed, not the code being built.
The build only exposes the problem.

Its either your toolchain or in some code that the build system built earlier as a part of the build and is now executing.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
stazz
n00b
n00b


Joined: 18 Jun 2004
Posts: 37

PostPosted: Tue Nov 29, 2016 6:15 am    Post subject: Reply with quote

Genone wrote:
Double-check your existing USE flags:
Quote:
-DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_HAVE_SSE3 -DQT_HAVE_SSSE3 -DQT_HAVE_SSE4_1 -DQT_HAVE_SSE4_2 -DQT_HAVE_AVX


Great catch! That's really weird but at least points to a problem. There's nothing about 3dnow in my current use flags (emerge --info below, for reference).

I checked the emerge of qtcore-4.8.6-r2, and it also has -DQT_HAVE_3DNOW as it's compiling, which I believe generates an executable used in the emerge of qtgui, and thus the illegal instruction there. I'm now focusing on why qtcore has this incorrect define.

I've re-emerged gcc and libtool, and removed an old (not selected) gcc, just in case, but that didn't change anything.
I also rm -rf'ed /var/tmp/portage/dev-qt/qtcore-4.8.6-r2 in case there was some sort of generated config lying around in there that wasn't being properly replaced, but that also had no effect.

Where the heck can the qt builds be getting the idea I have 3dnow?

I think overnight I'll unmerge everything qt and do a full system rebuild, just in case that helps.

Code:
localhost ~ # emerge --info
Portage 2.3.0 (python 2.7.12-final-0, default/linux/amd64/13.0/desktop, gcc-4.9.3, glibc-2.22-r4, 4.4.26-gentoo x86_64)
=================================================================
System uname: Linux-4.4.26-gentoo-x86_64-Intel-R-_Core-TM-_i7-6700K_CPU_@_4.00GHz-with-gentoo-2.2
KiB Mem:    16355676 total,   4467496 free
KiB Swap:   33554428 total,  33554204 free
Timestamp of repository gentoo: Mon, 28 Nov 2016 10:00:01 +0000
sh bash 4.3_p48
ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1
app-shells/bash:          4.3_p48::gentoo
dev-java/java-config:     2.2.0-r3::gentoo
dev-lang/perl:            5.22.2::gentoo
dev-lang/python:          2.7.12::gentoo, 3.3.5-r1::gentoo, 3.4.5::gentoo
dev-util/cmake:           3.5.2-r1::gentoo
dev-util/pkgconfig:       0.28-r2::gentoo
sys-apps/baselayout:      2.2::gentoo
sys-apps/openrc:          0.22.4::gentoo
sys-apps/sandbox:         2.10-r1::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69::gentoo
sys-devel/automake:       1.10.3-r1::gentoo, 1.11.6-r1::gentoo, 1.13.4::gentoo, 1.14.1::gentoo, 1.15::gentoo
sys-devel/binutils:       2.25.1-r1::gentoo
sys-devel/gcc:            4.9.3::gentoo
sys-devel/gcc-config:     1.7.3::gentoo
sys-devel/libtool:        2.4.6::gentoo
sys-devel/make:           4.1-r1::gentoo
sys-kernel/linux-headers: 4.3::gentoo (virtual/os-headers)
sys-libs/glibc:           2.22-r4::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://192.168.0.1/gentoo-portage
    priority: -1000

steam-overlay
    location: /var/lib/layman/steam-overlay
    masters: gentoo
    priority: 0

Installed sets: @desktop, @dev, @games, @media, @sys
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -fomit-frame-pointer -mtune=native -march=native"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe -fomit-frame-pointer -mtune=native -march=native"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j16"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="X a52 aac acl acpi alsa amd64 bash-completion berkdb bindist bluetooth branding bzip2 cairo cdda cdr cli consolekit cracklib crypt css cups cxx dbus dri dts dvd dvdr emboss encode exif fam ffmpeg firefox flac fontconfig fortran gdbm gif glamor gpm gstreamer gtk iconv icu java jpeg lcms ldap libnotify mad mmx mmxext mng modules mp3 mp4 mpeg multilib ncurses nls nptl nsplugin ogg openal opengl openmp pam pango pcre pdf png policykit ppds qt3support qt4 readline scanner sdl seccomp session smp spell sse sse2 ssh ssl startup-notification svg tcpd threads tiff truetype udev udisks unicode upower usb vaapi vorbis win32codecs wxwidgets x264 xattr xcb xft xml xv xvid zlib" ABI_X86="64 32" ALSA_CARDS="hda-intel" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 fma3 mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby20 ruby21" USERLAND="GNU" VIDEO_CARDS="nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Back to top
View user's profile Send private message
stazz
n00b
n00b


Joined: 18 Jun 2004
Posts: 37

PostPosted: Wed Nov 30, 2016 7:23 am    Post subject: Reply with quote

I unmerged anything that put files in /usr/lib/qt4, and still 'emerge -eav world' fails in the same way.

Does anyone know why qt4 (but not qt5) might think I still have an AMD chip?
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54220
Location: 56N 3W

PostPosted: Wed Nov 30, 2016 12:42 pm    Post subject: Reply with quote

stazz,

Something in /etc/portage/package.use?
gcc hates you and gets
Code:
CFLAGS="-O2 -pipe -fomit-frame-pointer -mtune=native -march=native"
wrong.
Try
http://stackoverflow.com/questions/5470257/how-to-see-which-flags-march-native-will-activate:
gcc -### -E - -march=native 2>&1 | sed -r '/cc1/!d;s/(")|(^.* - )|( -mno-[^\ ]+)//g'


Its not the package you are building that has the problem, it the code being executed in the course of the build.

Try the following as a test
CFLAGS="-mno-3dnow" emerge -1 sys-libs/zlib and check the top of build log.
Try adding -mno-3dnow to your CFLAGS in make.conf.

The command line version is the last thing passed to emerge, so it will be obeyed.
Settings in make.conf are upstream of all the other files in /etc/portage

Have you lost the USE="minizip" flag to zlib?
[ebuild R ] sys-libs/zlib-1.2.8-r1::gentoo USE="minizip static-libs" 0 KiB
If so, you may have the old minizip component still installed.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
krinn
Watchman
Watchman


Joined: 02 May 2003
Posts: 7470

PostPosted: Thu Dec 01, 2016 1:23 am    Post subject: Reply with quote

stazz wrote:
I unmerged anything that put files in /usr/lib/qt4, and still 'emerge -eav world' fails in the same way.

Does anyone know why qt4 (but not qt5) might think I still have an AMD chip?


Code:
...qt-everywhere-opensource-src-4.8.6-abi_x86_32.x86/...

You have a trouble with the 32bits version, so i would look more at /usr/lib32/qt4
Back to top
View user's profile Send private message
Genone
Retired Dev
Retired Dev


Joined: 14 Mar 2003
Posts: 9523
Location: beyond the rim

PostPosted: Thu Dec 01, 2016 8:59 am    Post subject: Reply with quote

NeddySeagoon wrote:
stazz,

Something in /etc/portage/package.use?
gcc hates you and gets
Code:
CFLAGS="-O2 -pipe -fomit-frame-pointer -mtune=native -march=native"
wrong.
Try
http://stackoverflow.com/questions/5470257/how-to-see-which-flags-march-native-will-activate:
gcc -### -E - -march=native 2>&1 | sed -r '/cc1/!d;s/(")|(^.* - )|( -mno-[^\ ]+)//g'


Its not the package you are building that has the problem, it the code being executed in the course of the build.


Well, according to the log the error is triggered in the Qt resource-compiler, and as pointed out above Qt for some reason gets the 3dnow define which might cause some hand-crafted code to be included. The zlib reference in the log might be misleading in that context, and/or Qt might use a bundled zlib copy (the build system definitely has that option). So I wouldn't get hang up on gcc being the offender but first figure out the source for the 3dnow define. Unfortunately I think the only real way to check that is to manually analyze the configure scripts of Qt (a quite annoying task).
Back to top
View user's profile Send private message
stazz
n00b
n00b


Joined: 18 Jun 2004
Posts: 37

PostPosted: Fri Dec 02, 2016 6:41 am    Post subject: Reply with quote

Quick update; I've been busy with higher priorities, but still need to solve this problem. Thanks to all for the continued assistance!

Q: where can I find the config scripts for qt?

As soon as I have a few free minutes, I'll do a sweep through package.use; probably stuff to remove there anyway, even if it's not causing this problem. I'll also try unmerging everything from the lib32 qt4.

-march=native isn't bringing in 3dnow:
Code:
~> gcc -### -E - -march=native 2>&1 | sed -r '/cc1/!d;s/(")|(^.* - )|( -mno-[^\ ]+)//g'
-march=broadwell -mmmx -msse -msse2 -msse3 -mssse3 -mcx16 -msahf -mmovbe -maes -mpclmul -mpopcnt -mabm -mfma -mbmi -mbmi2 -mavx -mavx2 -msse4.2 -msse4.1 -mlzcnt -mrtm -mhle -mrdrnd -mf16c -mfsgsbase -mrdseed -mprfchw -madx -mfxsr -mxsave -mxsaveopt --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=8192 -mtune=generic -fstack-protector-strong


zlib is built with minizip (but not static-libs):
Code:
~> equery uses sys-libs/zlib
[ Legend : U - final flag setting for installation]
[        : I - package is installed with flag     ]
[ Colors : set, unset                             ]
 * Found these USE flags for sys-libs/zlib-1.2.8-r1:
 U I
 + + abi_x86_32  : 32-bit (x86) libraries
 + + minizip     : include the minizip library for quick and dirty zip extraction
 - - static-libs : Build static versions of dynamic libraries as well
Back to top
View user's profile Send private message
Genone
Retired Dev
Retired Dev


Joined: 14 Mar 2003
Posts: 9523
Location: beyond the rim

PostPosted: Fri Dec 02, 2016 11:25 am    Post subject: Reply with quote

stazz wrote:
Q: where can I find the config scripts for qt?

Unpack the Qt source tarball, check the top-level "configure" script then work your way down. Or just "grep -ri 3dnow" and check the results.

Btw, I've looked into the Qt-4 ebuilds and related eclasses. It seems possible to force-disable 3dnow support by adding "-mno-3dnow" to your CFLAGS.
Back to top
View user's profile Send private message
stazz
n00b
n00b


Joined: 18 Jun 2004
Posts: 37

PostPosted: Sat Dec 03, 2016 5:52 pm    Post subject: Reply with quote

I added "-mno-3dnow" to my global use flags to no effect. Haven't had a chance to try on the cmdline.

I happened to catch this in the middle of the gtqui build (part of emerging qtcore with -mno-3dnow in global use):

Code:
ln: failed to create symbolic link '/var/tmp/portage/dev-qt/qtgui-4.8.6-r4/work/qt-everywhere-opensource-src-4.8.6-abi_x86_64.amd64/include/QtCore/qconfig.h': File exists
ln: failed to create symbolic link '/var/tmp/portage/dev-qt/qtgui-4.8.6-r4/work/qt-everywhere-opensource-src-4.8.6-abi_x86_64.amd64/include/Qt/qconfig.h': File exists

        This target is using the GNU C++ compiler (linux-g++).
<snip>

Build type:    linux-g++
Architecture:  x86_64

qmake vars .......... cat: .qmake.vars: No such file or directory
qmake switches .........
Build .................. libs tools docs translations
Configuration ..........  release largefile stl mmx 3dnow sse sse2 sse3 ssse3 sse4_1 sse4_2 avx  minimal-config small-config medium-config large-config full-config qt3support accessibility shared reduce_exports reduce_relocations ipv6 clock-gettime clock-monotonic mremap getaddrinfo ipv6ifname getifaddrs inotify system-jpeg system-mng system-png png system-tiff system-freetype system-zlib cups iconv glib dbus openssl x11sm xshape xvideo xsync xcursor xfixes xrandr xrender mitshm fontconfig xinput tablet xkb alsa icu concurrent xmlpatterns multimedia audio-backend script scripttools declarative release
Debug .................. no
Qt 3 compatibility ..... yes
QtDBus module .......... yes (run-time)
QtConcurrent code ...... yes
QtGui module ........... yes
QtScript module ........ yes
QtScriptTools module ... yes
QtXmlPatterns module ... yes
Phonon module .......... no
Multimedia module ...... auto
SVG module ............. no
WebKit module .......... no
JavaScriptCore JIT ..... To be decided by JavaScriptCore
Declarative module ..... yes
Declarative debugging ...yes
Support for S60 ........ no
Symbian DEF files ...... no
STL support ............ yes
PCH support ............ no
MMX/3DNOW/SSE/SSE2/SSE3. yes/yes/yes/yes/yes


2 things that might be interesting here:
* the ln failures (no idea if that's normal)
* the last line, where it looks like configure has incorrectly picked up 3dnow
Back to top
View user's profile Send private message
krinn
Watchman
Watchman


Joined: 02 May 2003
Posts: 7470

PostPosted: Sun Dec 04, 2016 3:10 am    Post subject: Reply with quote

stazz wrote:
I added "-mno-3dnow" to my global use flags to no effect. Haven't had a chance to try on the cmdline.


Genone suggest -mno-3dnow to your cflags.
cflags is not use flags.
Back to top
View user's profile Send private message
stazz
n00b
n00b


Joined: 18 Jun 2004
Posts: 37

PostPosted: Wed Dec 07, 2016 4:27 pm    Post subject: Reply with quote

blargh, that's what I get for rushing.

I added "-mno-3dnow" to *CFLAGS*, and it did indeed prevent QT configure from believing I have 3dnow; the define is also gone.

However, that change aside, I'm now back to the original problem of an illegal instruction emerging qtgui-4. There's the same libz note in dmesg, but still re-emerging zlib has no effect.

I tried to do another full 'emerge -eav world' last night, but this hit a problem emerging libXpm; some problem loading libicuuc.so.57 that I haven't looked into yet... I'll need to resolve that problem before I come back to the illegal instruction.
Back to top
View user's profile Send private message
stazz
n00b
n00b


Joined: 18 Jun 2004
Posts: 37

PostPosted: Mon Feb 06, 2017 1:10 am    Post subject: [Solved] Illegal instruction emerging qtgui-4.8.6-r4 Reply with quote

I got distracted from this problem for a long time, but I have finally figured out what the problem was! In case this helps anyone in the future, here are the details:

There was an old version of libz sitting in /lib32, that was apparently not owned by any package. Consequently, any emerge operations, use-flags, CFLAG changes, etc. were all useless to resolve the situation. The thing that finally tipped me off was that the illegal instruction errors in dmesg were for libz.so.1.2.8, but the installed version of zlib (in fact, the only version in portage) was 1.2.11.

I deleted both /lib32/libz.so.1.2.8 and the /lib32/libz.so.1 symlink, and everything started working.

Note that zlib now installs the 32-bit library and corresponding symlink in /usr/lib32/, not /lib32. I expect the 1.2.8 files are from quite a long time ago.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum