[gtkmm] problems with gtkmm-config



This is rather long, but the problem boils down to wrong paths provided by
gtkmm-config.

I have two (nearly identical) RH9.0 systems, and the same gtkmm programs
compile on one system and do not compile on the other. On the system where
the compilation fails, the problem is that some gtkmm files (like
/usr/include/gtk--/proxy.h) have include directives relative to sigc++,
like

#include <sigc++/signal_system.h>

Now I do have /usr/include/sigc++-1.0/sigc++ on both systems, but on one
system it is included (with -I) and on the other is not.

On the working system:

12) silviu:~> gtkmm-config --cflags -I/usr/lib/gtkmm/include
-I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include
-I/usr/X11R6/include -I/usr/lib/sigc++-1.0/include
-I/usr/include/sigc++-1.0

On the other one:

108) silviu:~> gtkmm-config --cflags
-I/usr/lib/gtkmm/include -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2
-I/usr/lib/glib/include -I/usr/X11R6/include -I/usr/lib/sigc++/include

So then I made a link

2) root:/usr/include> ln -s sigc++-1.0/sigc++ sigc++

and it no longer complains about not finding the headers, but I get
unresolved symbols now, so there's some problems with the library paths
too (although gtkmm-config --libs returns the same results on both
systems). I'm trying to compile the base.cc example from the examples
directory.

120) silviu:~/WORK/gtkmm_ex/base> make base
g++ -O2 base.cc -o base `gtkmm-config --cflags --libs`
/tmp/ccfTGkLw.o(.text+0x1b): In function `main':
: undefined reference to `Gtk::Main::Main[in-charge](int&, char**&, bool)'
/tmp/ccfTGkLw.o(.text+0x28): In function `main':
: undefined reference to `Gtk::Window::Window[in-charge](GtkWindowType)'
/tmp/ccfTGkLw.o(.text+0x39): In function `main':
: undefined reference to `Gtk::Main::instance_'
/tmp/ccfTGkLw.o(.text+0x49): In function `main':
: undefined reference to `Gtk::Window::~Window [in-charge]()'
/tmp/ccfTGkLw.o(.text+0x51): In function `main':
: undefined reference to `Gtk::Main::~Main [in-charge]()'
/tmp/ccfTGkLw.o(.text+0x6b): In function `main':
: undefined reference to `Gtk::Window::~Window [in-charge]()'
/tmp/ccfTGkLw.o(.text+0x7b): In function `main':
: undefined reference to `Gtk::Main::~Main [in-charge]()'
/usr/lib/libgtkmm.so: undefined reference to `cerr'
/usr/lib/libgtkmm.so: undefined reference to
`SigC::ObjectReferenced::set_dynamic(void)'
/usr/lib/libgtkmm.so: undefined reference to
`SigC::ObjectScoped::invalid(bool)'/usr/lib/libgtkmm.so: undefined
reference to `SigC::ObjectReferenced::reference(void)'

etc.

On both systems I have

libsigc++-1.0.4-fr2
libsigc++-devel-1.0.4-fr2

gtkmm-devel-1.2.10-fr2
gtkmm-1.2.10-fr2

gnomemm-devel-1.2.3-fr4
gnomemm-1.2.3-fr4

Any idea what's wrong, and how to fix it?





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