Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 299790 - dev-python/pygtk has unresolved symbols (pygtk-demo fails to run)
Summary: dev-python/pygtk has unresolved symbols (pygtk-demo fails to run)
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-01-05 17:16 UTC by Jeremy Huddleston Sequoia
Modified: 2010-02-08 19:23 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jeremy Huddleston Sequoia 2010-01-05 17:16:50 UTC
I have tried fresh installs of both 
dev-python/pygtk-2.14.1-r1 (stable)
dev-python/pygtk-2.16.0-r1 (latest)

>>> import gtk;
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib64/python2.6/site-packages/gtk-2.0/gtk/__init__.py", line 30, in <module>
    import gobject as _gobject
  File "/usr/lib64/python2.6/site-packages/gtk-2.0/gobject/__init__.py", line 26, in <module>
    from glib import spawn_async, idle_add, timeout_add, timeout_add_seconds, \
  File "/usr/lib64/python2.6/site-packages/gtk-2.0/glib/__init__.py", line 22, in <module>
    from glib._glib import *
ImportError: /usr/lib64/python2.6/site-packages/gtk-2.0/glib/_glib.so: undefined symbol: PyUnicodeUCS2_DecodeUTF8
>>> 

--

Portage 2.2_rc56 (default/linux/amd64/10.0, gcc-4.3.2, glibc-2.9_p20081201-r2, 2.6.28-hardened-r9 x86_64)
=================================================================
System uname: Linux-2.6.28-hardened-r9-x86_64-AMD_Athlon-tm-_64_Processor_2800+-with-gentoo-2.0.1
Timestamp of tree: Tue, 05 Jan 2010 07:45:02 +0000
app-shells/bash:     4.0_p35
dev-java/java-config: 2.1.9-r2
dev-lang/python:     2.6.4
dev-util/cmake:      2.6.4-r3
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.4.3-r3
sys-apps/sandbox:    2.2
sys-devel/autoconf:  2.13, 2.63-r1
sys-devel/automake:  1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6b
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -fomit-frame-pointer -march=k8"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-O2 -pipe -fomit-frame-pointer -march=k8"
DISTDIR="/var/tmp/gentoo/distfiles"
FEATURES="assume-digests bindeps candy collision-protect distlocks fixpackages metadata-transfer news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch userpriv userpriv_fakeroot usersandbox verify-rdepend"
GENTOO_MIRRORS="http://gentoo.osuosl.org/ http://gentoo.mirrors.pair.com/"
LDFLAGS="-Wl,-O1"
LINGUAS="en en_US"
MAKEOPTS="-j2"
PKGDIR="/var/tmp/gentoo/packages-amd64"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync15.us.gentoo.org/gentoo-portage"
USE="3dnow 3dnowext 3ds S3TC X X509 Xaw3d a52 aac aalib acl acpi activefilter adplug aim alsa amd amd64 amr ao apache2 artworkextra atlas audiofile avahi avantgo bash-completion bcmath berkdb bidi browserplugin bzip2 bzlib c++ cairo calendar caps cdda cddb cdio cdparanoia cdr cgi chroot clamav clamd clamdtop clanJavaScript clanVoice clearpasswd cli client clisp consolekit coverage cracklib crypt cscope css cups curl curlwrappers cvs cvsgraph cxx dbase dbcp dbm dbus dbx dedicated dga dio divx4linux dlloader dmx dnd dri dts dv dvd dvdr dvdread edl eds emacs emacs-w3 enca encode enscript erandom esd ethereal evms2 evo exif exiv2 expat ext-png ext-zlib extensions f77 faac faad fam fame fat fax fbcon fbdev ffmpeg fftw filter firefox flac flash flatfile fltk fluidsynth font-server foomaticdb fortran fpx freetts freetype fs fts3 gb gcj gcl gd gd-external gdbm gif gimp gimpprint glade glep glib glibc-omitfp glitz glut gmp gmtfull gmthigh gmtsuppl gmttria gnome gnomedb gnuplot gnutls gocr gpm gps graphviz gs gstreamer gtk gtkhtml hal hash hbci hdri highlight howl howl-compat hyperestraier iconv icq idea idl idn ieee1394 image imagemagick imap imlib imlib2 inifile innodb ipalias iproute2 ipsec ipv6 ithreads jabber jack java javacomm javamail javascript jbig jikes joystick jpeg jpeg2k junit justify kde ladcca latex lcms ldap libcaca libclamav libdsk libedit libg++ libgda libsamplerate libwww lids live lm_sensors lmtp log4j logitech-mouse ltsp lua lucid lzo mad maildir makecheck matroska mbrola mcal md5sum mdnsresponder-compat mhash mikmod mime ming mixer mjpeg mmx mmxext mng mod_python modules mozcalendar mozctl mozdevelop mozilla mozp3p mozsvg mozxmlterm mp2 mp3 mpeg mpeg4 mplayer mpm-prefork msession msn mtp mudflap mule multilib multislot musepack music mysql mysqli mythtv nas native ncurses neXt network nis nls nptl nptlonly nsplugin nviz oav objc objc++ objc-gc ocaml ocrad odbc offensive ofx ogg oggvorbis oldworld openal opendoc openexr opengl openmp openssl opensslcrypt opera oscar oss pam pango parse-clocks pcap pch pcntl pcre pda pdf perl php physfs pic pie plotutils png pnm pnp policykit portaudio povray ppds pppd prelude procmail pulseaudio python q32 qhull qt-webkit qt3support qt4 quicktime rar readline recode reflection regexp rplay rtc samba sasl savedconfig sdk sdl sdl-image server session sharedmem sid silc slp sms sndfile soap socks5 soup sox speex spell spl sql sqlite sqlite3 src srt sse sse2 ssl startup-notification subversion suexec svg sysfs sysvipc t1lib tcltk tcpd tesseract tetex tex tga theora thunar thunderbird tidy tiff timidity transcode transparent-proxy truetype trusted tta type1 ucs2 unicode urandom usb user-homedirs userlocales v4l v4l2 vcd vda vhosts videos vim-with-x virus-scan visualization vlm vnc vorbis wav wavpack wddx webkit wma wmf wsconvert wxwin wxwindows x264 xanim xchattext xcomposite xemacs xface xforms xfs xine xinerama xml xml2 xmlreader xmlrpc xmlwriter xorg xosd xpm xsl xulrunner xv xvid xvmc yahoo zeo zeroconf zip zlib" ALSA_CARDS="via82xx" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="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 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" ELIBC="glibc" INPUT_DEVICES="wacom joystick keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_US" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia nv" 
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Rafał Mużyło 2010-01-05 18:09:03 UTC
This is sort of INVALID.
Read a very old ChangeLog entry in /usr/portage/dev-lang/python.
Comment 2 Jeremy Huddleston Sequoia 2010-01-05 18:39:56 UTC
That ChangeLog is 77k in size and does not contain the text 'PyUnicodeUCS2', 'symbol', or 'unresolved' ... so you'll need to be a bit more specific than "Read a very old ChangeLog entry in /usr/portage/dev-lang/python"

Additionally, this is certainly not INVALID as simple emerging pygtk results in a non-functional pygtk... so obviously SOMETHING is wrong.
Comment 3 Jeremy Huddleston Sequoia 2010-01-05 18:54:16 UTC
From what I've learned through google about this, the problem is that pygtk is being built assuming a different internal representation for unicode characters than the interpreter.
Comment 4 Jeremy Huddleston Sequoia 2010-01-05 18:59:53 UTC
Yeah... /usr/lib/libpython.so has PyUnicodeUCS4_DecodeUTF8 rather than UCS2
Comment 5 Rafał Mużyło 2010-01-05 22:09:20 UTC
Read at: python-2.3.2-r2 (22 Nov 2003)

You must have set it to ucs2 at some point,
but lately that flag got renamed AND usemasked.
Comment 6 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2010-01-07 15:11:03 UTC
You switched "wide-unicode" (or previously "ucs2") USE flag without reinstallation of Python modules.
Comment 7 Jeremy Huddleston Sequoia 2010-01-11 00:17:17 UTC
I did not switch my USE flags.

More accurately, wide-unicode was forced on in the base profile which broke ABI with my existing python modules when I updated python...

Comment 8 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2010-01-11 09:25:26 UTC
You shouldn't have enabled "ucs2" USE flag. If you still want to use short Unicode implementation, than you should disable "wide-unicode" USE flag.
Comment 9 Jeremy Huddleston Sequoia 2010-01-11 17:33:45 UTC
> You shouldn't have enabled "ucs2" USE flag. 

Why do you say that?  I needed to maintain ABI compatibility, so I set ucs2 back in 2003.  It's been 6 years since then, so I forgot about that issue until just now.

> If you still want to use short
> Unicode implementation, than you should disable "wide-unicode" USE flag.

Yeah, but it's non-trivial for most users since it requires users to override the profile... but I guess that's fine since there are probably few people using that flag anyways since it should only be on old machines like mine.

Comment 10 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2010-01-11 17:40:37 UTC
(In reply to comment #9)
> > If you still want to use short Unicode implementation, than you should
> > disable "wide-unicode" USE flag.
> 
> Yeah, but it's non-trivial for most users since it requires users to override
> the profile...

This flag can be unforced in /etc/portage/profile/package.use.force.

> but I guess that's fine since there are probably few people using that flag
> anyways since it should only be on old machines like mine.

This flag is forced so that users don't accidentally disable it without knowing consequences.
Comment 11 Matt 2010-02-08 19:23:28 UTC
since when was this flag - wide-unicode - changed (or activated) anyway ?

last time I updated python-2.6 was back in November 10th 2009 and this problem wasn't there yet

I updated python-2.6 yesterday and it broke avant-window-navigator