[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gchemutils-main] File format for gcrystal
From: |
Daniel Leidert |
Subject: |
Re: [Gchemutils-main] File format for gcrystal |
Date: |
Tue, 11 Mar 2008 14:15:38 +0100 |
Am Dienstag, den 11.03.2008, 07:20 +0100 schrieb Jack Malmostoso:
> On Mon, 2008-03-10 at 22:10 +0100, Jean Bréfort wrote:
[..]
> > I have no idea why the linker fails on
> > gnome_authentication_manager_init, libgnomeui has this symbol:
> >
> > objdump -T /usr/lib/libgnomeui-2.so|grep authentication_manager_init
> > 000000000006ad30 g DF .text 0000000000000136 Base
> > gnome_authentication_manager_init
>
> Well, for one the code in programs/paint/main.cc does not include
> libgnomeui.h, so I guess that must be a reason why it complains about
> it.
No. Then it would complain about an implicit declaration. It fails at
linking step, because no library contains the function. And that's true,
because the code is not linked against libgnomeui.
> I have added the include:
>
> #include <libgnomeui/libgnomeui.h>
>
> but it still refuses to compile by saying that it conflicts with the C
> binding, while this is C++. Is this related to the first lines:
>
> extern "C" {
> void gnome_authentication_manager_init ();
> }
>
> Should it be extern "C++" or something similar?
No, this is correct. gnome_authentication_manager_init is a C function.
> As you might have understood I am not a programmer so I am going with
> common sense, but I can't seem to figure it out.
> I assume you can compile gnome-chemistry-utils-0.9.2 out of the box?
The problem is, that it doesn't link against libgnomeui. You can edit
configure.ac. There search for REQUIREMENTS=. Put the following line
into this "listing:
libgnomeui-2.0 >= 2.6.0 \
(note the ending backslash!). Then save your change and run autoreconf.
Now configure and compile.
Regards, Daniel