After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 313708 - --enable-dvi broken if only libkpathsea.a is available
--enable-dvi broken if only libkpathsea.a is available
Status: RESOLVED FIXED
Product: evince
Classification: Core
Component: general
0.4.x
Other Linux
: Normal major
: ---
Assigned To: Evince Maintainers
Evince Maintainers
Depends on:
Blocks:
 
 
Reported: 2005-08-17 10:41 UTC by Pablo Rodríguez
Modified: 2005-09-27 12:10 UTC
See Also:
GNOME target: ---
GNOME version: 2.7/2.8



Description Pablo Rodríguez 2005-08-17 10:41:23 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
Comment 1 Pablo Rodríguez 2005-08-17 14:30:05 UTC
Does evince 0.3.4 compile against dbus 0.2.1 or versions previous to 0.3?
Comment 2 Chris Scobell 2005-08-18 14:34:31 UTC
Marking as NEEDINFO.
Comment 3 Nickolay V. Shmyrev 2005-08-18 17:03:19 UTC
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.
Comment 4 Martin Kretzschmar 2005-08-18 17:32:34 UTC
Do you have libkpathsea.so (in /usr/lib)?
Comment 5 Pablo Rodríguez 2005-08-22 10:38:02 UTC
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
Comment 6 Daniel Schindler 2005-08-24 15:09:59 UTC
I have the same error with evince-0.34 and poppler-0.4.0
Comment 7 Pablo Rodríguez 2005-08-24 20:21:30 UTC
Daniel, do you have dbus > 0.33 installed on your system?
Comment 8 Daniel Schindler 2005-08-24 20:25:37 UTC
this apps i have installed: 
dbus-0.36, hal-0.5.3, cairo-0.9.2-r1
Comment 9 Christian Kirbach 2005-08-25 18:50:34 UTC
this looks like a linker problem. 

anyways adding build keyword.
Comment 10 Pablo Rodríguez 2005-08-26 10:11:52 UTC
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.
Comment 11 Pablo Rodríguez 2005-08-26 10:16:59 UTC
Reopening bug since it is not a build problem but a crashing bug.
Comment 12 Luis Villa 2005-08-26 11:55:30 UTC
Hrm. Works here with HEAD. (Interesting-looking paper too. :)
Comment 13 Daniel Schindler 2005-08-26 13:48:35 UTC
after updating of evince-0.4.0, poppler-0.4.1 and cairo-1.0 everything is
working (even the 2 papers, too)
Comment 14 Pablo Rodríguez 2005-08-27 11:35:26 UTC
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.
Comment 15 Martin Kretzschmar 2005-08-30 10:53:44 UTC
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)
Comment 16 Nickolay V. Shmyrev 2005-08-30 14:00:26 UTC
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.
Comment 17 Nickolay V. Shmyrev 2005-09-08 18:36:25 UTC
Pablo, can you test current CVS, is the problem fixed?
Comment 18 Daniel Gryniewicz 2005-09-09 03:19:46 UTC
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.
Comment 19 Pablo Rodríguez 2005-09-10 17:31:41 UTC
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