[sigc] Linking error in migration to libsigc++ 2.0



Hello,

I recently ported Gnomoradio to use gtkmm 2.4 instead of 2.2, which
meant porting from libsigc++ 1.2 to 2.0.

In linking Gnomoradio on powerpc with g++ 3.3.5 and ld 2.15, I now get
the following error:

../roboradio/.libs/libroboradio.so: undefined reference to
`Rainbow::RdfResource::get_and_do(Glib::ustring const&, sigc::slot<void,
xmlpp::Element*, Rainbow::ref_ptr<Rainbow::RdfResource>, sigc::nil,
sigc::nil, sigc::nil, sigc::nil, sigc::nil> const&)'
collect2: ld returned 1 exit status

It seems obvious that this is defined, however, because it is even
referenced internally from librainbow.  Further,

$ nm rainbow/.libs/librainbow.so | grep get_and_do
0002b7f4 T
_ZN7Rainbow11RdfResource10get_and_doERKN4Glib7ustringERKN4sigc4slotIvPN5xmlpp7ElementENS_7ref_ptrIS0_EENS5_3nilESC_SC_SC_SC_EE
$ nm roboradio/.libs/libroboradio.so | grep get_and_do
         U
_ZN7Rainbow11RdfResource10get_and_doERKN4Glib7ustringERKN4sigc4slotIvPN5xmlpp7ElementENS_7ref_ptrIS0_EENS5_3nilESC_SC_SC_SC_EE

Because of this, I think it is a bug in g++ or ld.  The tarball is
available at:
http://gnomoradio.org/pub/cvs/gnomoradio-cvs2004_10_17_12.tar.gz

Function itself:
http://savannah.nongnu.org/cgi-bin/viewcvs/gnomoradio/gnomoradio/rainbow/rdf-resource.cc?rev=1.16&content-type=text/vnd.viewcvs-markup

Referenced internally from librainbow:
http://savannah.nongnu.org/cgi-bin/viewcvs/gnomoradio/gnomoradio/rainbow/hub-client.cc?rev=1.57&content-type=text/vnd.viewcvs-markup

Referenced from libroboradio, which fails to link:
http://savannah.nongnu.org/cgi-bin/viewcvs/gnomoradio/gnomoradio/roboradio/song-rainbow.cc?rev=1.41&content-type=text/vnd.viewcvs-markup

Any help or advice is appreciated.

Jim





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