acroread emerges correctly, but then on running it from the command line, I see (acroread:18149): Pango-WARNING **: /usr/lib32/pango/1.4.0/modules/pango-basic-fc.so: cannot open shared object file: No such file or directory Failed to load Pango module for id: 'BasicScriptEngineFc' (acroread:18149): Pango-WARNING **: /usr/lib32/pango/1.4.0/modules/pango-basic-fc.so: cannot open shared object file: No such file or directory Failed to load Pango module for id: 'BasicScriptEngineFc' (acroread:18149): Pango-WARNING **: /usr/lib32/pango/1.4.0/modules/pango-basic-fc.so: cannot open shared object file: No such file or directory Failed to load Pango module for id: 'BasicScriptEngineFc' (acroread:18149): Pango-WARNING **: /usr/lib32/pango/1.4.0/modules/pango-basic-fc.so: cannot open shared object file: No such file or directory Failed to load Pango module for id: 'BasicScriptEngineFc' (acroread:18149): Pango-WARNING **: /usr/lib32/pango/1.4.0/modules/pango-basic-fc.so: cannot open shared object file: No such file or directory Failed to load Pango module for id: 'BasicScriptEngineFc' (acroread:18149): GLib-GObject-CRITICAL **: g_object_ref: assertion `G_IS_OBJECT (object)' failed (acroread:18149): Pango-CRITICAL **: _pango_engine_shape_shape: assertion `PANGO_IS_FONT (font)' failed Pango-ERROR **: file shape.c: line 75 (pango_shape): assertion failed: (glyphs->num_glyphs > 0) aborting... apparently, pango is built on my system at /usr/lib/pango/..., not /usr/lib32/pango... . now, just cross-linking the 64 bit version into the 32 bit version (i.e., ln -s /usr/lib/pango /usr/lib32/) does not do the job. I presume this is the cause of the error, although I am not positive. (different acrobat versions produce the same problem.) Reproducible: Always Steps to Reproduce: 1. 2. 3. Actual Results: acroread aborts. Expected Results: acroread starts up. Portage 2.0.51.22-r3 (default-linux/amd64/2005.0, gcc-3.4.4, glibc-2.3.5-r2, 2.6.14-rc3 x86_64) ================================================================= System uname: 2.6.14-rc3 x86_64 AMD Athlon(tm) 64 Processor 3200+ Gentoo Base System version 1.6.13 distcc 2.12.1 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] dev-lang/python: 2.3.5-r2, 2.4.2 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.15.92.0.2-r10 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="amd64" AUTOCLEAN="yes" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=athlon64 -pipe -O2" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib64/mozilla/defaults/pref /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/texmf/web2c /etc/env.d" CXXFLAGS="-march=athlon64 -pipe -O2" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://mirror.datapipe.net/gentoo http://mirror.datapipe.net/gentoo ftp://ftp.gtlib.cc.gatech.edu/p ub/gentoo ftp://ftp.ussg.iu.edu/pub/linux/gentoo" LC_ALL="POSIX" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X aalib acpi alsa amd64 arts avi berkdb bitmap-fonts bonobo bzip2 calendar cdr crypt cups curl directfb dv dvd dvdr eds emacs emboss encode esd f77 fam fbcon flac foomaticdb fortran ftp g77 gd gdbm ggi gif gnome gphoto2 gpm gstreamer gtk gtk2 gtkhtml guile ieee1394 imagemagick imlib ipv6 java javascript jpeg junit kde kdeenablefinal ldap libedit libwww lm_sensors lzw lzw-tiff mad mbox mikmod mime motif mozilla mp3 mpeg mval mysql nas ncurses nls ogg opengl pam pcre pdflib perl png postgres ppds python qt quicktime readline ruby samba scanner sdl session slang snmp soap spell ssl symlink tcltk tcpd tetex tidy tiff truetype truetype-fonts type1-fonts ungif usb userlocales vorbis xine xinerama xml xml2 xmms xpm xv zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LDFLAGS, LINGUAS, MAKEOPTS, PORTDIR_OVERLAY
32-bit pango is in emul-linux-x86-gtklibs. acroread deps on it, so it should be there.
## emerge --search emul-linux-x86-gtklibs * app-emulation/emul-linux-x86-gtklibs Latest version available: 2.1 Latest version installed: 2.1 Size of downloaded files: 2,372 kB Homepage: http://www.gentoo.org/ Description: Gtk+ 1/2 for emulation of 32bit x86 on amd64 License: GPL-2 I reemerged emul-linux-x-86-gtklibs. the output suggests that emul/linux/x86/usr/lib/pango/1.4.0/modules/pango-basic-x.so emul/linux/x86/usr/lib/pango/1.4.0/modules/pango-thai-fc.so emul/linux/x86/usr/lib/pango/1.4.0/modules/pango-arabic-fc.so emul/linux/x86/usr/lib/pango/1.4.0/modules/pango-indic-fc.so emul/linux/x86/usr/lib/pango/1.4.0/modules/pango-hangul-fc.so emul/linux/x86/usr/lib/pango/1.4.0/modules/pango-syriac-fc.so emul/linux/x86/usr/lib/pango/1.4.0/modules/pango-basic-fc.so emul/linux/x86/usr/lib/pango/1.4.0/modules/pango-hebrew-fc.so emul/linux/x86/usr/lib/pango/1.4.0/modules/pango-tibetan-fc.so these are then merged into /usr/lib/ . but ## file /usr/lib/pango/1.4.0/modules/pango-basic-fc.so /usr/lib/pango/1.4.0/modules/pango-basic-fc.so: ELF 64-bit LSB shared object, AMD x86-64, version 1 (SYSV), stripped so ## locate pango-basic-fc.so /usr/lib/pango/1.4.0/modules/pango-basic-fc.so /usr/local/lib/vmware/libconf/lib/pango/1.4.0/modules/pango-basic-fc.so /emul/linux/x86/usr/lib/pango/1.4.0/modules/pango-basic-fc.so < error remains on acroread > ## ln -s /emul/linux/x86/usr/lib/pango /usr/lib32/ ## acroread *.pdf <stuff and then...> (acroread:9604): GdkPixbuf-WARNING **: Error loading XPM image loader: Unable to load image-loading module: /usr/lib32/gtk-2.0/2.4.0/loaders/libpixbufloader-xpm.so: /usr/lib32/gtk-2.0/2.4.0/loaders/libpixbufloader-xpm.so: cannot open shared object file: No such file or directory ## ln -s /emul/linux/x86/usr/lib/gtk* /usr/lib32/ and then acroread works. thanks for the help. now, for others, may I suggest that either the gtk package installs the appropriate links into /usr/lib32/ , or alerts the user if an appropriate environment variable is not set (which may be the case for me) , or that the acroread ebuild fixes this automatically? regards, /iaw
Normally (when things aren't broken ;)), linking the libraries in /emul to /usr/lib32 isn't needed, since /emul/linux/x86/(usr/)lib is in LDPATH, so ldd should look there for libraries. You should have /etc/env.d/75emul-linux-x86-base, containing this: LDPATH=/emul/linux/x86/lib:/emul/linux/x86/usr/lib env-update should then update /etc/ld.so.conf could you remove the symlink /usr/lib32/pango/1.4.0/modules/pango-basic-fc.so, remerge emul-linux-x86-base, env-update and check if it works please? If it still doesn't work then, this is a very odd bug ;)
This could be caused by an outdated config file in /etc/pango. Re-emerge emul-linux-x86-gtklibs and be sure to run etc-update (or dispatch-conf). If you still have problems please attach your /etc/pango/i686-pc-linux-gnu/pango.modules file.
(In reply to comment #3) > Normally (when things aren't broken ;)), linking the libraries in /emul to > /usr/lib32 isn't needed, since /emul/linux/x86/(usr/)lib is in LDPATH, so ldd > should look there for libraries. You should have > /etc/env.d/75emul-linux-x86-base, containing this: > > LDPATH=/emul/linux/x86/lib:/emul/linux/x86/usr/lib > > env-update should then update /etc/ld.so.conf > > could you remove the symlink /usr/lib32/pango/1.4.0/modules/pango-basic-fc.so, > remerge emul-linux-x86-base, env-update and check if it works please? If it > still doesn't work then, this is a very odd bug ;) hi: the env file LDPATH was ok all along. when I remove the symbolic link for /usr/lib32/pango, env-update, do an "emerge emul-linux-x86-baselibs", do another env-update, I get the same error messages as before, and nothing opens. I also did what herbie asked---same story. the pango modules files is # Pango Modules file # Automatically generated file, do not edit # # ModulesPath = /usr/lib32/pango/1.4.0/modules # /usr/lib32/pango/1.4.0/modules/pango-basic-x.so BasicScriptEngineX PangoEngineShape PangoRenderX common: /usr/lib32/pango/1.4.0/modules/pango-thai-fc.so ThaiScriptEngineFc PangoEngineShape PangoRenderFc thai:* /usr/lib32/pango/1.4.0/modules/pango-arabic-fc.so ArabicScriptEngineFc PangoEngineShape PangoRenderFc arabic:* /usr/lib32/pango/1.4.0/modules/pango-indic-fc.so devaScriptEngineFc PangoEngineShape PangoRenderFc devanagari:* /usr/lib32/pango/1.4.0/modules/pango-indic-fc.so bengScriptEngineFc PangoEngineShape PangoRenderFc bengali:* /usr/lib32/pango/1.4.0/modules/pango-indic-fc.so guruScriptEngineFc PangoEngineShape PangoRenderFc gurmukhi:* /usr/lib32/pango/1.4.0/modules/pango-indic-fc.so gujrScriptEngineFc PangoEngineShape PangoRenderFc gujarati:* /usr/lib32/pango/1.4.0/modules/pango-indic-fc.so oryaScriptEngineFc PangoEngineShape PangoRenderFc oriya:* /usr/lib32/pango/1.4.0/modules/pango-indic-fc.so tamlScriptEngineFc PangoEngineShape PangoRenderFc tamil:* /usr/lib32/pango/1.4.0/modules/pango-indic-fc.so teluScriptEngineFc PangoEngineShape PangoRenderFc telugu:* /usr/lib32/pango/1.4.0/modules/pango-indic-fc.so kndaScriptEngineFc PangoEngineShape PangoRenderFc kannada:* /usr/lib32/pango/1.4.0/modules/pango-indic-fc.so mlymScriptEngineFc PangoEngineShape PangoRenderFc malayalam:* /usr/lib32/pango/1.4.0/modules/pango-hangul-fc.so HangulScriptEngineFc PangoEngineShape PangoRenderFc hangul:* /usr/lib32/pango/1.4.0/modules/pango-basic-fc.so BasicScriptEngineFc PangoEngineShape PangoRenderFc armenian:* bopomofo:* cherokee:* coptic:* cyrillic:* deseret:* ethiopic:* georgian:* gothic:* greek:* han:* hiragana:* katakana:* latin:* ogham:* old-italic:* runic:* canadian-aboriginal:* yi:* braille:* cy priot:* limbu:* osmanya:* shavian:* linear-b:* ugaritic:* common: /usr/lib32/pango/1.4.0/modules/pango-hebrew-fc.so HebrewScriptEngineFc PangoEngineShape PangoRenderFc hebrew:* and it was literally just regen'ed. so, something is hardcoded into wanting a /usr/lib32/pango/ directory, which is not automatically created. hope this helps. now, I am recreating my link file, so that I can get acroread to work again... regards, /iaw
It is clear from the attachment that your pango.modules file is indeed incorrect and is what is causing your problems. There should be no paths to /usr/lib32 in that file, only to /emul/linux.. i.e where the files are actually located. You have either neglected to run etc-update (and accept the neccessary changes) after upgrading emul-linux-x86-gtklibs or something inexplicable has gone wrong when you ran etc-update. You could try removing the config files before re-emerging the package to force the recreation of the files. i.e: rm /etc/gtk-2.0/i686-pc-linux-gnu/* /etc/pango/i686-pc-linux-gnu/* emerge --oneshot app-emulation/emul-linux-x86-gtklibs
hmmm...when I run etc-update, I get prompted about 244 etc files., many of them being ._cfg* files. right now, everything except pango works fine. so, I am reluctant to tinker. but maybe I have to bite into the sour apple here, and examine all 244 files, and hope that I am not making a mistake. or is there a "reasonable safe default answer" (-3 or -5)? regards, /iaw
There really isnt a safe answer.. You have to do them one by one. Normally you'd run etc-update after every emerge.
updating config files properly would have avoided this bug, solution is provided in comment #6 -> closing