GNOME Bugzilla – Bug 313708
--enable-dvi broken if only libkpathsea.a is available
Last modified: 2005-09-27 12:10:41 UTC
I had no problem to compile evince 0.3.2 on my system (MDK 10.2), but I cannot compile version 0.3.3 for a reason unknown to me. I have updated cairo and poppler to their lastest versions, but at the end of compilation I get the following error message: ../lib/.libs/libev.a(fontmap-2.o)(.text+0x3d0): In function `kpse_fontmap_lookup': : multiple definition of `kpse_fontmap_lookup' ../lib/.libs/libev.a(fontmap-1.o)(.text+0x3d0): first defined here ../lib/.libs/libev.a(hash-2.o)(.bss+0x0): multiple definition of `kpse_debug_hash_lookup_int' ../lib/.libs/libev.a(hash-1.o)(.bss+0x0): first defined here ../lib/.libs/libev.a(hash-2.o)(.text+0x30): In function `hash_create': : multiple definition of `hash_create' ../lib/.libs/libev.a(hash-1.o)(.text+0x30): first defined here ../lib/.libs/libev.a(hash-2.o)(.text+0x90): In function `hash_insert': : multiple definition of `hash_insert' ../lib/.libs/libev.a(hash-1.o)(.text+0x90): first defined here ../lib/.libs/libev.a(hash-2.o)(.text+0x110): In function `hash_insert_normalized': : multiple definition of `hash_insert_normalized' ../lib/.libs/libev.a(hash-1.o)(.text+0x110): first defined here ../lib/.libs/libev.a(hash-2.o)(.text+0x1a0): In function `hash_remove': : multiple definition of `hash_remove' ../lib/.libs/libev.a(hash-1.o)(.text+0x1a0): first defined here ../lib/.libs/libev.a(hash-2.o)(.text+0x260): In function `hash_lookup': : multiple definition of `hash_lookup' ../lib/.libs/libev.a(hash-1.o)(.text+0x260): first defined here ../lib/.libs/libev.a(hash-2.o)(.text+0x430): In function `hash_print': : multiple definition of `hash_print' ../lib/.libs/libev.a(hash-1.o)(.text+0x430): first defined here collect2: ld returned 1 exit status make[2]: *** [libevince-properties-page.la] Error 1 make[2]: Leaving directory `/home/ousia/rpm/BUILD/evince-0.3.3/properties' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/ousia/rpm/BUILD/evince-0.3.3' make: *** [all] Error 2 error: Bad exit status from /home/ousia/rpm/tmp/rpm-tmp.97580 (%build) I wonder whether there is a new dependency (that I have overseen) required to compile the new evince 0.3.3. Thanks for your excellent work, Pablo
Does evince 0.3.4 compile against dbus 0.2.1 or versions previous to 0.3?
Marking as NEEDINFO.
Pablo, if you have no dbus of version less then 0.33, evince won't use dbus at all. But it still should compile and work. About your bug, it's really odd. Of course, you can try to drop --enable-dvi key. Please try if it helps. Second, the reason of this problem may be in non-clean build. Can you try to build from freshly unpacked sources? Also, can you provide the version of the following software you use, since we don't have Mandrake gcc libtool autoconf automake Thanks.
Do you have libkpathsea.so (in /usr/lib)?
Many thanks for the answer (and sorry for not having answered before). Martin, I'm afraid that I don't have libkpathsea.so in /usr/lib (all I have is libkpathsea.a and libkpathsea.la). So I had to disable --enable-dvi and so evince 0.3.4 compiles right. But when I try to open a (PDF) document, I get the following error: Xlib: unexpected async reply (sequence 0x368)! and evince crashes (no segfault or core* files on /home/user). Probably this could have something to do with the fact that my system has dbus 0.2. Just in case it helps, these are the versions of the programs installed on Mandrake: gcc: 3.3, 3.4, 4.0. libtool: 1.5.12. autoconf: 2.1, 2.5. automake: 1.4, 1.6, 1.7, 1.8. Thanks for your help, Pablo
I have the same error with evince-0.34 and poppler-0.4.0
Daniel, do you have dbus > 0.33 installed on your system?
this apps i have installed: dbus-0.36, hal-0.5.3, cairo-0.9.2-r1
this looks like a linker problem. anyways adding build keyword.
I have just compiled poppler 0.4.1 and evince 0.4.0. Evince is able to open http://ousia.iespana.es/pdf/nc.pdf (since it doesn't contain fonts), but not http://ousia.iespana.es/pdf/uned02.pdf. The crashing message I get when trying to open a PDF file that contains fonts is "Xlib: unexpected async reply (sequence 0x368)!" I have updated summary and priority, since the build problem is now a minor one.
Reopening bug since it is not a build problem but a crashing bug.
Hrm. Works here with HEAD. (Interesting-looking paper too. :)
after updating of evince-0.4.0, poppler-0.4.1 and cairo-1.0 everything is working (even the 2 papers, too)
Evince 0.4.0 works fine after updating cairo to version 1.0. The compliation problem should be related to a missing dependency I'm not aware of and I guess I should investigate the problem myself and then report the results.
Apparently some distros out there ship the static libkpathsea.a but not libkpathsea.so. There was a different problem (on frugalware, amd64) related to this issue on irc. configure does just a check for kpathsea which succeeds on these systems. The nautilus properties page must be built as an .so. libtool seems to be confused in this situation. (On frugalware the error wasn't about multiple definitions, but trying to link non-PIC code into the .so)
On my FC4 there is only libkpathsea.a, there is no libkpathsea.so and everything is fine. But I agree that it's a problem, probably libtool bug.
Pablo, can you test current CVS, is the problem fixed?
The problem appears to be caused by libtool 1.5.20, as evince built fine with 1.5.18. (Note, this is without the nautilus plugin, which failed before on amd64). It's not an evince bug so much as a libtool bug, and it still happens with CVS.
After upgrading libtool from 1.5.12 to 1.5.18, the compilation problem is fixed. Sorry for the inconveniences and many thanks for your help, Pablo