Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 109574 - acroread on amd64: pango 32 vs. pango 64?
Summary: acroread on amd64: pango 32 vs. pango 64?
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: AMD64 Linux
: High major (vote)
Assignee: AMD64 Project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-10-17 07:19 UTC by ivo welch
Modified: 2005-11-11 08:41 UTC (History)
0 users

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 ivo welch 2005-10-17 07:19:21 UTC
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
Comment 1 Daniel Gryniewicz (RETIRED) gentoo-dev 2005-10-17 07:27:15 UTC
32-bit pango is in emul-linux-x86-gtklibs.  acroread deps on it, so it should be
there.
Comment 2 ivo welch 2005-10-17 07:40:57 UTC
## 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
Comment 3 Simon Stelling (RETIRED) gentoo-dev 2005-10-22 10:29:55 UTC
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 ;)
Comment 4 Herbie Hopkins (RETIRED) gentoo-dev 2005-10-24 07:33:56 UTC
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.
Comment 5 ivo welch 2005-10-24 14:40:34 UTC
(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

Comment 6 Herbie Hopkins (RETIRED) gentoo-dev 2005-10-24 15:11:50 UTC
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
Comment 7 ivo welch 2005-10-24 15:40:35 UTC
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
Comment 8 Olivier Crete (RETIRED) gentoo-dev 2005-10-24 15:50:05 UTC
There really isnt a safe answer.. You have to do them one by one. Normally you'd
run etc-update after every emerge. 
Comment 9 Simon Stelling (RETIRED) gentoo-dev 2005-11-11 08:41:18 UTC
updating config files properly would have avoided this bug, solution is provided
in comment #6 -> closing