Re: Compiling Glib.pm



Hello,

Thanks for the help, but I've been trying various things but still stuck.. I'm not a Linux/Unix expert..

So, the linking step performs perfectly (this command from the Makefile):

gcc  -shared Glib.o GError.o GUtils.o GLog.o GType.o GBoxed.o GObject.o GValue.o GClosure.o GSignal.o GMainLoop.o GIOChannel.o GParamSpec.o GKeyFile.o GBookmarkFile.o gperl-gtypes.o  -o blib/arch/auto/Glib/Glib.so   -L/net/bmachine/x/rich/usr/local/lib - lgobject-2.0 -lglib-2.0 -lgthread-2.0 -lrt

Note the: -L/net/bmachine/x/rich/usr/local/lib    ;  I installed the glib-2.12.12 libraries into /net/bmachine/x/rich/usr/local/lib   

When I take out the -L/net/bmachine/x/rich/usr/local/lib    flag, it does not link (cannot find libraries glib, gobject, gthread), so I know that it is not linking to /usr/lib   (the machine's /usr/lib  has libglib-2.0.so.0.400.7  installed).

So I am not sure why I still get this error (since everything compiles perfectly AND I do link correctly):

INPUT> /usr/bin/perl -I blib/lib -I blib/arch -MGlib::GenPod -MGlib \
        -e 'add_types ("doctypes");  $Glib::GenPod::COPYRIGHT=
"Copyright (C) 2003-2007 by the gtk2-perl team.\n\nThis software is licensed under the LGPL.  See L<Glib> for a full notice.\n"; $Glib::GenPod::MAIN_MOD="Glib";  xsdoc2pod("build/doc.pl", "blib/lib", "build/podindex");'


OUTPUT>/usr/bin/perl: symbol lookup error: blib/arch/auto/Glib/Glib.so: undefined symbol: g_bookmark_file_error_quark
make: *** [build/podindex] Error 127


Thanks for any help again,
Rich





On 5/25/07, muppet <scott asofyet org> wrote:

On May 25, 2007, at 7:19 PM, Turd Turtle wrote:

> How do I solve this error? Should I just roll back to a super early
> version of the c version glib that doesn't have
> gbookmarkfile.h  ?   this seems to be the header causing the
> incompability problem..

Are you sure that the glib headers you're picking up match the glib
libraries you're getting?

The gtk2-perl policy on version compatibility is to build in support
for whatever is available at compile time, which means whatever
headers we pick up.  That is guaranteed to work with a library object
of that version or newer (thanks to gnome's ABI stability policy).

It sounds like you're picking up a newer version via your pkg-config
path than you're linking with.

Hints:

- The header include paths come from "pkg-config --cflags gobject-2.0"
- The link paths come from "pkg-config --libs gobject-2.0"
- When you attempt to *run*, you get what is in LD_LIBRARY_PATH.  If
the directory listed in the output of pkg-config --libs is not in
LD_LIBRARY_PATH (or /etc/ld.so.conf), then you will have to
manipulate your environment by hand.
- If you're not doing anything special or abnormal, then your system
is misconfigured.


--
It's all very complicated and would take a scientist to explain it.
   -- MST3K





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]