Re: glibmm-2.16.4 compile error



On Wed, 13 Aug 2008 09:49:22 +0200
Andreas Haumer <andreas xss co at> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Hi!
> 
> Murray Cumming schrieb:
> | [snip]
> |> g++ -g -O2 -Wall -Wno-long-long -o .libs/child_watch main.o
> -Wl,--export-dynamic  ../../glib/glibmm/.libs/libglibmm-2.4.so ../../gio/giomm/.libs/libgiomm-2.4.so /usr/lib/libgio-2.0.so /work/glibmm-2.16.4/glib/glibmm/.libs/libglibmm-2.4.so /usr/lib/libsigc-2.0.so /usr/lib/./libstdc++.so /usr/lib/libgobject-2.0.so /usr/lib/libgmodule-2.0.so
> -ldl /usr/lib/libglib-2.0.so  -Wl,--rpath -Wl,/usr/lib/.
> |> ../../gio/giomm/.libs/libgiomm-2.4.so: undefined reference to
> `std::char_traits<unsigned char>::assign(unsigned char&, unsigned
> char const&)' |> collect2: ld returned 1 exit status |> make[3]: ***
> [child_watch] Error 1 |> make[3]: Leaving directory
> `/work/glibmm-2.16.4/examples/child_watch' |> make[2]: ***
> [all-recursive] Error 1 |> make[2]: Leaving directory
> `/work/glibmm-2.16.4/examples' |> make[1]: *** [all-recursive] Error
> 1 |> make[1]: Leaving directory `/work/glibmm-2.16.4' |> make: ***
> [all] Error 2 |> |>
> |> This is with gcc-3.3.4.
> |>
> |> glibmm-2.12.10 did compile fine against glib 2.12.13
> |>
> |> I have compiled most of gnome 2.22, but now I'm stuck with
> glibmm :-( |>
> |> I searched the archives and woth google, but couldn't find
> |> a solution yet.
> |
> | What distro is this? I'm guessing that it's gentoo or LFS or such
> like, | with a self-compiled g++, the purpose of which is generally
> to provide | fun problems like this.
> |
> 
> :-)
> 
> This is a completely self compiled Linux system which I'm
> maintaining since 1994 (or something like that, I don't
> really remember... ;-). This is NOT gentoo or LFS!
> 
> I have a branch with gcc-4.2 working, but the trunk is still
> on gcc-3.3.4 and will be for some time to come.
> 
> I have about 1000 source-packages (including many c++ packages
> like KDE), but currently only glibmm doesn't compile (after the
> upgrade to glib-2.16.5)

Are you using some compiler trickery to force g++ to treat char as
unsigned char (in particular, are you using a customised CXXFLAGS)?

If not, this may be a glibmm bug because the standard library is
obliged to provide specialisations of std::char_traits (including
void std::char_traits<T>::assign(T&, const T&)) for the char type, but
not for the unsigned char type. However 'grep assign
glibmm-2.16.3/gio/giomm/*' and 'grep assign
glibmm-2.16.3/glib/glibmm/*' does not reveal anything particularly
supicious.  (I do not have glibmm-2.16.5.)

Chris



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