| Summary: | GTK+2 applications crash with BadValue when entering text | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Andrew A. Gill <superluser> |
| Component: | Current packages | Assignee: | Gentoo Linux Gnome Desktop Team <gnome> |
| Status: | RESOLVED INVALID | ||
| Severity: | critical | ||
| Priority: | High | ||
| Version: | unspecified | ||
| Hardware: | AMD64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
| Attachments: |
openoffice build log
environment |
||
|
Description
Andrew A. Gill
2009-08-21 11:26:42 UTC
Also of note, the backspace key seems to work fine, thankfully allowing me to copy and paste and save. Please rebuild at least glib and gtk+ with CFLAGS="-O2 -march=k8", we'll see from there if it's a gtk+ bug or gcc breaking something with some of your other optimization flags. hum, just saw you are using the nvidia binary driver, I strongly suggest trying another version of this driver as it is known to break X, gtk+ and other X related programs/libraries in funny weird ways. (In reply to comment #3) > hum, just saw you are using the nvidia binary driver, I strongly suggest trying > another version of this driver as it is known to break X, gtk+ and other X > related programs/libraries in funny weird ways. I've upgraded to x11-drivers/nvidia-drivers-185.18.29 , and re-emerged x11-libs/gtk+-2.16.5 and dev-libs/glib-2.20.4 with the CFLAGS you asked. No good. (I also realized that I was running x11-base/xorg-server-1.6.3 but x11-base/xorg-x11-7.3 so I upgraded to 7.4 with some other minor package upgrades) could you try with nv or vesa driver ? (In reply to comment #5) > could you try with nv or vesa driver ? Sorry for the delay. Tried with both. No success. More information: openoffice-3.1.1 is not building. Make dies with the following undefined symbol: gdk_keymap_get_caps_lock_state This is prototyped in 2.16.6 (which I just upgraded to) gdk/gdkalias.h (where it is an alias of IA__gdk_keymap_get_caps_lock_state). The ebuild for gtk+-2.16.6 lacks this file. (In reply to comment #7) I should point out that I'm not sure if this is an unrelated bug. # nm -D /usr/lib/libgdk-x11-2.0.so.0.1600.6 |grep gdk_keymap_get_caps_lock_state 0004af32 T gdk_keymap_get_caps_lock_state should give you a similar result (In reply to comment #9) > # nm -D /usr/lib/libgdk-x11-2.0.so.0.1600.6 |grep > gdk_keymap_get_caps_lock_state > 0004af32 T gdk_keymap_get_caps_lock_state > > should give you a similar result Result: 0000000000056cd0 T gdk_keymap_get_caps_lock_state That's weird. That means it has the symbol, but the build says it can't find it. (In reply to comment #10) > That's weird. That means it has the symbol, but the build says it can't find > it. I have no comments on that, as there's no relevant build log to look at here :) (In reply to comment #11) > (In reply to comment #10) > > That's weird. That means it has the symbol, but the build says it can't find > > it. > > I have no comments on that, as there's no relevant build log to look at here :) Fair enough. http://www.lij.li/build.log http://www.lij.li/environment (In reply to comment #12) > Fair enough. > > http://www.lij.li/build.log > http://www.lij.li/environment > it would be more appreciated to attach these files to this bug. (In reply to comment #13) > it would be more appreciated to attach these files to this bug. The build.log is too large to attach (2.3MB). But I suppose you are right, I could have gzipped the file and attached it that way. Created attachment 204862 [details]
openoffice build log
Created attachment 204863 [details]
environment
maybe openoffice doesn't link to gtk+ correctly, I suggest filling a separate bug report for that. After a hunch and some digging, I think I have the culprit, most likely for both problems. On a couple of occasions, when ebuilds were not in Portage, I manually installed packages from source. I thought I deleted all of the files when the ebuilds for the versions I wanted came out, but apparently I was wrong, and Portage doesn't check for library conflicts with files installed independently of Portage.
I'm not sure exactly how to remove everything, but here's the general form I used to find any libraries that were orphaned:
echo \#\!/bin/sh > /tmp/equerycheck
find `echo $PATH |sed -e 's/:/ /g;'` -true -printf "equery -N belongs -e %p\n" >> /tmp/equerycheck
find `cat /etc/ld.so.conf |sed -e 's/\n/ /g;'` -true -printf "equery -N belongs -e %p\n" >> /tmp/equerycheck
sh /tmp/equerycheck > /tmp/equeryoutput
awk 'p~/^\[.*\]$/&&/^\[.*\]$/{print "failed on "p}{p=$0}END{if(p~/^\[.*\]$/)print "failed on "p}' /tmp/equeryoutput
(I actually further refined the file to include only .so files to cut down on the time to run, but even then it took several days to run)
Thanks go to waldner_ on #awk for the awk script.
use something like qfile -o /usr/lib (and other paths for libraries and binaries), it is much faster than equery. It doesn't really handle symlinks though. Closing invalid since you installed stuff without portage support and that's something we just can't deal with nor provide support for. Thanks for reporting. |