public inbox for gentoo-user@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-user]  glibmm 2.20.1 emerge fails to compile
@ 2009-09-28  4:38 Grant Edwards
  2009-09-28 12:07 ` [gentoo-user] " walt
  0 siblings, 1 reply; 3+ messages in thread
From: Grant Edwards @ 2009-09-28  4:38 UTC (permalink / raw
  To: gentoo-user

I tried doing an upgrade (the usual emerge -auvND world), and
it choked on glibmm 2.20.1.  The compile failed the basic error
seems to be this:

  generate_defs_glib.o: In function `main':
  generate_defs_glib.cc:(.text+0x6b): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, int)'

I've done a revdep-rebuild to make sure things are consistent,
and it says things are OK.  Google doesn't seem to know that
error message, and I couldn't find anything relevent at
bugs.gentoo.org.

The only thing I can think of is that it has to do with some
libraries having been compiled with an older version of gcc,
but I'm not sure how to check for that...

  
Below is a somewhat redacted trace of the output from emerge.


These are the packages that would be merged, in order:

Calculating dependencies  ......\b\b... done!
[ebuild     U ] dev-cpp/glibmm-2.20.1 [2.16.4] USE="-test%" 
[ebuild     U ] media-libs/schroedinger-1.0.7 [1.0.5]
[ebuild  NS   ] sys-kernel/gentoo-sources-2.6.30-r6 [2.6.28-r5, 2.6.30-r4] USE="-build -symlink" 
[ebuild  N    ] dev-cpp/pangomm-2.24.0  USE="-debug -doc" 
[uninstall    ] dev-cpp/gtkmm-2.12.7
[...]

>>> Emerging (1 of 32) dev-cpp/glibmm-2.20.1
 * glibmm-2.20.1.tar.bz2 RMD160 SHA1 SHA256 size ;-) ...                 [ ok ]
 * checking ebuild checksums ;-) ...                                     [ ok ]
 * checking auxfile checksums ;-) ...                                    [ ok ]
 * checking miscfile checksums ;-) ...                                   [ ok ]
>>> Unpacking source...
>>> Unpacking glibmm-2.20.1.tar.bz2 to /var/tmp/portage/dev-cpp/glibmm-2.20.1/work
 ^[[32;01m*^[[0m Fixing OMF Makefiles ...
^[[A^[[92C  ^[[34;01m[ ^[[32;01mok^[[34;01m ]^[[0m
 ^[[32;01m*^[[0m Running elibtoolize in: glibmm-2.20.1/scripts
 ^[[32;01m*^[[0m   Applying portage-2.2.patch ...
 ^[[32;01m*^[[0m   Applying sed-1.5.6.patch ...
 ^[[32;01m*^[[0m   Applying as-needed-2.2.6.patch ...
>>> Source unpacked in /var/tmp/portage/dev-cpp/glibmm-2.20.1/work
>>> Compiling source in /var/tmp/portage/dev-cpp/glibmm-2.20.1/work/glibmm-2.20.1 ...
 * econf: updating glibmm-2.20.1/scripts/config.guess with /usr/share/gnuconfig/config.guess
 * econf: updating glibmm-2.20.1/scripts/config.sub with /usr/share/gnuconfig/config.sub
./configure --prefix=/usr --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --disable-gtk-doc
configure: WARNING: unrecognized options: --disable-gtk-doc
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
[...]

make  all-recursive
make[1]: Entering directory `/var/tmp/portage/dev-cpp/glibmm-2.20.1/work/glibmm-2.20.1'
Making all in tools
make[2]: Entering directory `/var/tmp/portage/dev-cpp/glibmm-2.20.1/work/glibmm-2.20.1/tools'
Making all in m4
make[3]: Entering directory `/var/tmp/portage/dev-cpp/glibmm-2.20.1/work/glibmm-2.20.1/tools/m4'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/var/tmp/portage/dev-cpp/glibmm-2.20.1/work/glibmm-2.20.1/tools/m4'
Making all in pm
make[3]: Entering directory `/var/tmp/portage/dev-cpp/glibmm-2.20.1/work/glibmm-2.20.1/tools/pm'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/var/tmp/portage/dev-cpp/glibmm-2.20.1/work/glibmm-2.20.1/tools/pm'
Making all in extra_defs_gen
make[3]: Entering directory `/var/tmp/portage/dev-cpp/glibmm-2.20.1/work/glibmm-2.20.1/tools/extra_defs_gen'
/bin/sh ../../libtool --tag=CXX   --mode=compile i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I../.. -I../../glib -I../../gio -Wall -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/gio-unix-2.0/      -O2 -march=pentium-m -pipe -MT generate_extra_defs.lo -MD -MP -MF .deps/generate_extra_defs.Tpo -c -o generate_extra_defs.lo generate_extra_defs.cc
i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I../.. -I../../glib -I../../gio -Wall -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/gio-unix-2.0/      -O2 -march=pentium-m -pipe -MT generate_defs_glib.o -MD -MP -MF .deps/generate_defs_glib.Tpo -c -o generate_defs_glib.o generate_defs_glib.cc
libtool: compile:  i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I../.. -I../../glib -I../../gio -Wall -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/gio-unix-2.0/ -O2 -march=pentium-m -pipe -MT generate_extra_defs.lo -MD -MP -MF .deps/generate_extra_defs.Tpo -c generate_extra_defs.cc  -fPIC -DPIC -o .libs/generate_extra_defs.o
mv -f .deps/generate_defs_glib.Tpo .deps/generate_defs_glib.Po
i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I../.. -I../../glib -I../../gio -Wall -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/gio-unix-2.0/      -O2 -march=pentium-m -pipe -MT generate_defs_gio.o -MD -MP -MF .deps/generate_defs_gio.Tpo -c -o generate_defs_gio.o generate_defs_gio.cc
mv -f .deps/generate_extra_defs.Tpo .deps/generate_extra_defs.Plo
/bin/sh ../../libtool --tag=CXX   --mode=link i686-pc-linux-gnu-g++  -O2 -march=pentium-m -pipe  -version-info 3:0:2 -Wl,-O1 -o libglibmm_generate_extra_defs-2.4.la -rpath /usr/lib  generate_extra_defs.lo -Wl,--export-dynamic -lsigc-2.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0   -Wl,--export-dynamic -lsigc-2.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0   -Wl,--export-dynamic -lsigc-2.0 -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0  
mv -f .deps/generate_defs_gio.Tpo .deps/generate_defs_gio.Po
libtool: link: i686-pc-linux-gnu-g++ -shared -nostdlib /usr/lib/gcc/i686-pc-linux-gnu/4.3.2/../../../crti.o /usr/lib/gcc/i686-pc-linux-gnu/4.3.2/crtbeginS.o  .libs/generate_extra_defs.o   -L/usr/i686-pc-linux-gnu/bin -L/usr/i686-pc-linux-gnu/lib /usr/lib/libsigc-2.0.so -L/usr/lib/gcc/i686-pc-linux-gnu/3.4.6 -L/usr/lib/gcc/i686-pc-linux-gnu/3.4.6/../../../../i686-pc-linux-gnu/lib /usr/lib/libgio-2.0.so -L/usr/lib /usr/lib/libgobject-2.0.so /usr/lib/libgmodule-2.0.so -ldl /usr/lib/libglib-2.0.so -L/usr/lib/gcc/i686-pc-linux-gnu/4.3.2 -L/usr/lib/gcc/i686-pc-linux-gnu/4.3.2/../../../../i686-pc-linux-gnu/lib -L/usr/lib/gcc/i686-pc-linux-gnu/4.3.2/../../.. /usr/lib/gcc/i686-pc-linux-gnu/3.4.6/libstdc++.so -lm -lc -lgcc_s /usr/lib/gcc/i686-pc-linux-gnu/4.3.2/crtendS.o /usr/lib/gcc/i686-pc-linux-gnu/4.3.2/../../../crtn.o  -march=pentium-m -Wl,-O1 -Wl,--export-dynamic -Wl,--export-dynamic -Wl,--export-dynamic   -Wl,-soname -Wl,libglibmm_generate_extra_defs-2.4.so.1 -o .libs/libglibmm_
 generate_extra_defs-2.4.so.1.2.0
libtool: link: (cd ".libs" && rm -f "libglibmm_generate_extra_defs-2.4.so.1" && ln -s "libglibmm_generate_extra_defs-2.4.so.1.2.0" "libglibmm_generate_extra_defs-2.4.so.1")
libtool: link: (cd ".libs" && rm -f "libglibmm_generate_extra_defs-2.4.so" && ln -s "libglibmm_generate_extra_defs-2.4.so.1.2.0" "libglibmm_generate_extra_defs-2.4.so")
libtool: link: ( cd ".libs" && rm -f "libglibmm_generate_extra_defs-2.4.la" && ln -s "../libglibmm_generate_extra_defs-2.4.la" "libglibmm_generate_extra_defs-2.4.la" )
/bin/sh ../../libtool --tag=CXX   --mode=link i686-pc-linux-gnu-g++  -O2 -march=pentium-m -pipe  -Wl,-O1 -o generate_extra_defs generate_defs_glib.o libglibmm_generate_extra_defs-2.4.la -Wl,--export-dynamic -lsigc-2.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0   -Wl,--export-dynamic -lsigc-2.0 -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0  
/bin/sh ../../libtool --tag=CXX   --mode=link i686-pc-linux-gnu-g++  -O2 -march=pentium-m -pipe  -Wl,-O1 -o generate_defs_gio generate_defs_gio.o libglibmm_generate_extra_defs-2.4.la -Wl,--export-dynamic -lsigc-2.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0   -Wl,--export-dynamic -lsigc-2.0 -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0  
libtool: link: i686-pc-linux-gnu-g++ -O2 -march=pentium-m -pipe -Wl,-O1 -o .libs/generate_extra_defs generate_defs_glib.o -Wl,--export-dynamic -Wl,--export-dynamic  ./.libs/libglibmm_generate_extra_defs-2.4.so -L/usr/i686-pc-linux-gnu/bin -L/usr/i686-pc-linux-gnu/lib -L/usr/lib/gcc/i686-pc-linux-gnu/3.4.6 -L/usr/lib/gcc/i686-pc-linux-gnu/3.4.6/../../../../i686-pc-linux-gnu/lib /usr/lib/libsigc-2.0.so /usr/lib/gcc/i686-pc-linux-gnu/3.4.6/libstdc++.so -lm -lgcc_s -lc /usr/lib/libgio-2.0.so /usr/lib/libgobject-2.0.so /usr/lib/libgmodule-2.0.so -ldl /usr/lib/libglib-2.0.so
libtool: link: i686-pc-linux-gnu-g++ -O2 -march=pentium-m -pipe -Wl,-O1 -o .libs/generate_defs_gio generate_defs_gio.o -Wl,--export-dynamic -Wl,--export-dynamic  ./.libs/libglibmm_generate_extra_defs-2.4.so -L/usr/i686-pc-linux-gnu/bin -L/usr/i686-pc-linux-gnu/lib -L/usr/lib/gcc/i686-pc-linux-gnu/3.4.6 -L/usr/lib/gcc/i686-pc-linux-gnu/3.4.6/../../../../i686-pc-linux-gnu/lib /usr/lib/libsigc-2.0.so /usr/lib/gcc/i686-pc-linux-gnu/3.4.6/libstdc++.so -lm -lgcc_s -lc /usr/lib/libgio-2.0.so /usr/lib/libgobject-2.0.so /usr/lib/libgmodule-2.0.so -ldl /usr/lib/libglib-2.0.so
generate_defs_glib.o: In function `main':
generate_defs_glib.cc:(.text+0x6b): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, int)'
collect2: ld returned 1 exit status
make[3]: *** [generate_extra_defs] Error 1
make[3]: *** Waiting for unfinished jobs....
generate_defs_gio.o: In function `main':
generate_defs_gio.cc:(.text+0x450): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, int)'
generate_defs_gio.cc:(.text+0x466): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, int)'
generate_defs_gio.cc:(.text+0x47c): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, int)'
generate_defs_gio.cc:(.text+0x492): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, int)'
generate_defs_gio.cc:(.text+0x4a8): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, int)'
generate_defs_gio.o:generate_defs_gio.cc:(.text+0x4be): more undefined references to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, int)' follow
[...]





^ permalink raw reply	[flat|nested] 3+ messages in thread

* [gentoo-user]  Re: glibmm 2.20.1 emerge fails to compile
  2009-09-28  4:38 [gentoo-user] glibmm 2.20.1 emerge fails to compile Grant Edwards
@ 2009-09-28 12:07 ` walt
  2009-09-28 15:02   ` Grant Edwards
  0 siblings, 1 reply; 3+ messages in thread
From: walt @ 2009-09-28 12:07 UTC (permalink / raw
  To: gentoo-user

On 09/27/2009 09:38 PM, Grant Edwards wrote:
> I tried doing an upgrade (the usual emerge -auvND world), and
> it choked on glibmm 2.20.1.  The compile failed the basic error
> seems to be this:
>
>    generate_defs_glib.o: In function `main':
>    generate_defs_glib.cc:(.text+0x6b): undefined reference to `std::basic_ostream<char, std::char_traits<char>  >&  std::__ostream_insert<char, std::char_traits<char>  >(std::basic_ostream<char, std::char_traits<char>  >&, char const*, int)'
>
> I've done a revdep-rebuild to make sure things are consistent,
> and it says things are OK.  Google doesn't seem to know that
> error message, and I couldn't find anything relevent at
> bugs.gentoo.org.
>
> The only thing I can think of is that it has to do with some
> libraries having been compiled with an older version of gcc,
> but I'm not sure how to check for that...

Those undefined references are supplied by libstdc++, so it looks like
you have a classic case of duelling library versions.

The error messages mention gcc-3.4.6, which is actually quite old now,
so perhaps you've switched to gcc-4.x.x now?

The fix is to go back and re-emerge all packages that linked against the
old libstdc++.  One way to find them is to run fix_libtool_files.sh and
note which ones get fixed.  You still need to re-emerge those packages,
though, if you're now using gcc-4.x

I would actually just grep through all the .la files for "3.4.6" (assuming
that's your *old* version of gcc) and re-emerge the packages that own those
files.  Maybe someone else knows an easier way.




^ permalink raw reply	[flat|nested] 3+ messages in thread

* [gentoo-user]  Re: glibmm 2.20.1 emerge fails to compile
  2009-09-28 12:07 ` [gentoo-user] " walt
@ 2009-09-28 15:02   ` Grant Edwards
  0 siblings, 0 replies; 3+ messages in thread
From: Grant Edwards @ 2009-09-28 15:02 UTC (permalink / raw
  To: gentoo-user

On 2009-09-28, walt <w41ter@gmail.com> wrote:
> On 09/27/2009 09:38 PM, Grant Edwards wrote:
>> I tried doing an upgrade (the usual emerge -auvND world), and
>> it choked on glibmm 2.20.1.  The compile failed the basic error
>> seems to be this:
>>
>>    generate_defs_glib.o: In function `main':
>>    generate_defs_glib.cc:(.text+0x6b): undefined reference to `std::basic_ostream<char, std::char_traits<char>  >&  std::__ostream_insert<char, std::char_traits<char>  >(std::basic_ostream<char, std::char_traits<char>  >&, char const*, int)'

[...]

> Those undefined references are supplied by libstdc++, so it
> looks like you have a classic case of duelling library
> versions.
>
> The error messages mention gcc-3.4.6, which is actually quite
> old now, so perhaps you've switched to gcc-4.x.x now?

Yes!  I suspected that was the issue, but I had missed noticing
the 3.4.6 in some of the libstdc++ paths.

> The fix is to go back and re-emerge all packages that linked
> against the old libstdc++.

Thanks.  I figured it was something like that.

> One way to find them is to run fix_libtool_files.sh and note
> which ones get fixed.  You still need to re-emerge those
> packages, though, if you're now using gcc-4.x

Yes, I'm now using gcc 4.

> I would actually just grep through all the .la files for
> "3.4.6" (assuming that's your *old* version of gcc) and
> re-emerge the packages that own those files.  Maybe someone
> else knows an easier way.

I'll try fix_libtool_files.sh first, then go from there.

-- 
Grant





^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2009-09-28 15:03 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-09-28  4:38 [gentoo-user] glibmm 2.20.1 emerge fails to compile Grant Edwards
2009-09-28 12:07 ` [gentoo-user] " walt
2009-09-28 15:02   ` Grant Edwards

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox