media-libs/id3lib-3.8.0_pre2 does not compile on my Gentoo system. The system
has been brought up-to-date with emerge rsync; emerge -u world.
Versions:
Reading specs from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.0.4/specs
Configured with: /var/tmp/portage/gcc-3.0.4-r4/work/gcc-3.0.4/configure
--prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info
--datadir=/usr/share/gcc-3.0.4 --enable-shared --host=i686-pc-linux-gnu
--build=i686-pc-linux-gnu --target=i686-pc-linux-gnu --enable-threads=posix
--disable-checking --with-local-prefix=/usr/local --with-system-zlib
--enable-shared --enable-nls --without-included-gettext
Thread model: posix
gcc version 3.0.4
GNU C Library stable release version 2.2.5, by Roland McGrath et al.
Copyright (C) 1992-2001, 2002 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 2.95.3 20010315 (release).
Compiled on a Linux 2.4.18 system on 2002-04-10.
Available extensions:
GNU libio by Per Bothner
crypt add-on version 2.1 by Michael Glad and others
linuxthreads-0.9 by Xavier Leroy
BIND-8.2.3-T5B
libthread_db work sponsored by Alpha Processor Inc
NIS(YP)/NIS+ NSS modules 0.19 by Thorsten Kukuk
Report bugs using the `glibcbug' script to <bugs@gnu.org>.
Error Message:
make[2]: Entering directory
`/var/tmp/portage/id3lib-3.8.0_pre2/work/id3lib-3.8.0pre2/src'
/bin/sh ../libtool --mode=compile c++ -DHAVE_CONFIG_H -I. -I. -I..
-I../include/id3 -I../include -march=i686 -O3 -pipe -Wall -Wno-unused
-Wno-inline -Woverloaded-virtual -Wmissing-declarations -c tag_file.cpp
rm -f .libs/tag_file.lo
c++ -DHAVE_CONFIG_H -I. -I. -I.. -I../include/id3 -I../include -march=i686 -O3
-pipe -Wall -Wno-unused -Wno-inline -Woverloaded-virtual -Wmissing-declarations
-c -fPIC -DPIC tag_file.cpp -o .libs/tag_file.lo
tag_file.cpp: In function `size_t RenderV2ToFile(const ID3_TagImpl&,
std::fstream&)':
tag_file.cpp:280: no matching function for call to `std::basic_ofstream<char,
std::char_traits<char> >::basic_ofstream(int&)'
/usr/include/g++-v3/bits/std_iosfwd.h:84: candidates are:
std::basic_ofstream<char, std::char_traits<char> >::basic_ofstream(const
std::basic_ofstream<char, std::char_traits<char> >&)
/usr/include/g++-v3/bits/std_fstream.h:319:
std::basic_ofstream<_CharT, _Traits>::basic_ofstream(const char*,
std::_Ios_Openmode = (std::ios_base::out | std::ios_base::trunc)) [with
_CharT = char, _Traits = std::char_traits<char>]
/usr/include/g++-v3/bits/std_fstream.h:313:
std::basic_ofstream<_CharT, _Traits>::basic_ofstream() [with _CharT = char,
_Traits = std::char_traits<char>]
tag_file.cpp:295: no matching function for call to `std::basic_fstream<char,
std::char_traits<char> >::read(unsigned char[8192], int)'
/usr/include/g++-v3/bits/istream.tcc:750: candidates are:
std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT,
_Traits>::read(_CharT*, int) [with _CharT = char, _Traits =
std::char_traits<char>]
tag_file.cpp:297: no matching function for call to `std::basic_ofstream<char,
std::char_traits<char> >::write(unsigned char[8192], size_t&)'
/usr/include/g++-v3/bits/ostream.tcc:370: candidates are:
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
_Traits>::write(const _CharT*, int) [with _CharT = char, _Traits =
std::char_traits<char>]
make[2]: *** [tag_file.lo] Error 1
make[2]: Leaving directory
`/var/tmp/portage/id3lib-3.8.0_pre2/work/id3lib-3.8.0pre2/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
`/var/tmp/portage/id3lib-3.8.0_pre2/work/id3lib-3.8.0pre2'
make: *** [all-recursive-am] Error 2
!!! ERROR: The ebuild did not complete successfully.
!!! Function src_compile, Line 3, Exitcode 2
!!! (no error message)
!!! emerge aborting on /usr/portage/media-libs/id3lib/id3lib-3.8.0_pre2.ebuild .
Hi Az,
It looks like something needs to be done to have this thing compile with gcc-3,
which is apparently not linking into the libstdc++?
I ahve tried doing the "manual dance", i.e. doing the ebuild-steps by hand and
doing the last failing call to c++ by hand and adding "-lstdc++". Same error.
Either it's unrelated to that lib or the error is introduced earlier.
Its not a linker error, but compiler error. Something in the code is not
gcc-3 friendly, and I do not have that type of experience.