When trying to compile either evince 0.4 or evince 0.5 I get the same error: /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.4/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/../../../lib64/libkpathsea.a(tex-file.o): relocation R_X86_64_32S against `a local symbol' can not be used when making a shared object; recompile with -fPIC /usr/lib/gcc/x86_64-pc-linux-gnu/../../../lib64/libkpathsea.a: could not read symbols: Bad value collect2: ld returned 1 exit status make[2]: *** [libevince-properties-page.la] Error 1 make[2]: Leaving directory `/var/tmp/portage/evince-0.5.0/work/evince-0.5.0/properties' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/evince-0.5.0/work/evince-0.5.0' make: *** [all] Error 2 !!! ERROR: app-text/evince-0.5.0 failed. !!! Function gnome2_src_compile, Line 48, Exitcode 2 !!! compile failure !!! If you need support, post the topmost build error, NOT this status message. This is my "evince --info": Portage 2.0.54 (default-linux/amd64/2005.1, gcc-3.4.4, glibc-2.3.5-r2, 2.6.15-gentoo-r5 x86_64) ================================================================= System uname: 2.6.15-gentoo-r5 x86_64 Intel(R) Pentium(R) 4 CPU 3.00GHz Gentoo Base System version 1.6.14 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.16.1 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="amd64" AUTOCLEAN="yes" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=nocona -Os -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=nocona -Os -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" LANG="it_IT" LC_ALL="it_IT" LINGUAS="it" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="amd64 X a52 acl acpi alsa audiofile avi berkdb bitmap-fonts bzip2 cairo cdr crypt cups dbus dlloader dvd dvdr emboss encode exif expat fam firefox flac foomaticdb fortran gif glut gnome gpm gstreamer gtk gtk2 hal howl idn imlib jack java javascript jpeg lcms libwww lzw lzw-tiff mad mng mp3 mpeg nautilus ncurses nls nsplugin ogg opengl pam pdflib perl png python quicktime readline sdl spell ssl svg tcpd tetex theora tiff truetype truetype-fonts type1-fonts udev usb userlocales vorbis xml xml2 xpm xv zlib linguas_it userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LDFLAGS, PORTDIR_OVERLAY
- Please don't restrict bugs.
Sorry... :P How can I unlock that now?
Looks like a 64 bit specific problem
(In reply to comment #3) > Looks like a 64 bit specific problem I also think so... I used to work on x86 platform with Gentoo and evince compiled succesfully. I bought an Intel P4 630 and installed the 64 bit version: everything works great but evince doesn't compile at all...
I believe this was fixed with >=tetex-3.0-r3 (builds a shared version of libkpathsea, see bug #105418). This could be handled in two ways, require >=tetex-3.0 in evince or backport the fix to tetex-2.0?
It could be a good idea to backport this in tetex-2 as tetex-3 isn't stable yet, but do you have more details about the needed patchs somewhere? Thanks
tetex wasn't using the real libtool, but was using it's own hacked-up version that didn't built shared libs. This kept evince from using libkpathsea.so, because it wasn't built. I fixed tetex to use the real system-wide libtool, and it started working. See the referenced bug (bug #105418). I don't know what happened to the >=app-text/tetex-3 dep that used to be in evince, but the poster is quite right, tetex-3 isn't stable anywhere. If the fix to libkpathsea.so can't be backported to tetex-2, I'm going to have to remove dvi support from evince.
Created attachment 80985 [details, diff] tetex-2.0.2-use-system-libtool.patch Patch for tetex-2.0.2 to make it use the system libtool rather than the built-in one, it has to use a few dirty tricks to work around some of the assumptions the build system makes, but it seems to work fairly well text-markup herd: how does this look? any chance of getting a new rev with this in?
I'm no libtool expert, but it looks good to me. I'll test it and if it works properly, make a new rev. Shouldn't be stabilized too quickly, though, tetex has a long history of libtool related problems.
tetex-2.0.2-r9 is in CVS and applies your patch. Thanks !