Package: apertium
Version: 1.0.3-3
Usertags: ftbfs-gcc-4.3
Tags: patch

Your package fails to build with GCC 4.3.  Version 4.3 has not been
released yet but I'm building with a snapshot in order to find errors
and give people an advance warning.  In GCC 4.3, the C++ header
dependencies have been cleaned up.  The advantage of this is that
programs will compile faster.  The downside is that you actually
need to directly #include everything you use (but you really should
do this anyway, otherwise your program won't work with any compiler
other than GCC).  Some background of this can be found at
http://gcc.gnu.org/PR28080

You can reproduce this problem with gcc-snapshot from unstable.


> Automatic build of apertium_1.0.3-3 on coconut0 by sbuild/ia64 0.49
...
>       then mv -f ".deps/TaggerUtils.Tpo" ".deps/TaggerUtils.Plo"; else rm -f 
> ".deps/TaggerUtils.Tpo"; exit 1; fi
>  ia64-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I. -I.. 
> -I/usr/include/lttoolbox-1.0 -I/usr/lib/lttoolbox-1.0/include 
> -I/usr/include/libxml2 -Wall -ansi -O3 -MT TaggerUtils.lo -MD -MP -MF 
> .deps/TaggerUtils.Tpo -c TaggerUtils.C  -fPIC -DPIC -o .libs/TaggerUtils.o
> TaggerUtils.C: In function 'void fatal_error(std::string)':
> TaggerUtils.C:25: error: 'exit' was not declared in this scope
> TaggerUtils.C: In function 'int ntokens_multiword(std::string)':
> TaggerUtils.C:50: warning: deprecated conversion from string constant to 
> 'char*'
> TaggerUtils.C: In function 'int nguiones_fs(std::string)':
> TaggerUtils.C:63: warning: deprecated conversion from string constant to 
> 'char*'
> make[3]: *** [TaggerUtils.lo] Error 1

--- TaggerUtils.C~      2007-04-01 14:26:17.000000000 +0000
+++ TaggerUtils.C       2007-04-01 14:26:24.000000000 +0000
@@ -18,6 +18,7 @@
  */
 #include <apertium/TaggerUtils.H>
 
+#include <cstdlib>
 #include <stdio.h>
 
 void fatal_error (string s) {
--- TransferWord.C~     2007-04-01 14:26:55.000000000 +0000
+++ TransferWord.C      2007-04-01 14:27:15.000000000 +0000
@@ -18,6 +18,7 @@
  */
 
 #include <apertium/TransferWord.H>
+#include <cstdlib>
 #include <iostream>
 
 map<char const *, regex_t>  TransferWord::compiled_regexes;

After fixing this obvious stuff we still fail with the following, but
I haven't had a chance to investigate:


make  all-am
make[1]: Entering directory `/home/tbm/failures/apertium-1.0.3/apertium'
if /bin/sh ../libtool --tag=CXX --mode=compile x86_64-linux-gnu-g++ 
-DHAVE_CONFIG_H -I. -I. -I. -I.. -I/usr/include/lttoolbox-1.0 
-I/usr/lib/lttoolbox-1.0/include -I/usr/include/libxml2      -Wall -ansi -O3 
-MT TransferWordList.lo -MD -MP -MF ".deps/TransferWordList.Tpo" -c -o 
TransferWordList.lo TransferWordList.C; \
        then mv -f ".deps/TransferWordList.Tpo" ".deps/TransferWordList.Plo"; 
else rm -f ".deps/TransferWordList.Tpo"; exit 1; fi
 x86_64-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I. -I.. 
-I/usr/include/lttoolbox-1.0 -I/usr/lib/lttoolbox-1.0/include 
-I/usr/include/libxml2 -Wall -ansi -O3 -MT TransferWordList.lo -MD -MP -MF 
.deps/TransferWordList.Tpo -c TransferWordList.C  -fPIC -DPIC -o 
.libs/TransferWordList.o
/usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.3.0/../../../../include/c++/4.3.0/bits/stl_tree.h:
 In member function 'typename std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, 
_Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, 
_Alloc>::_M_lower_bound(const std::_Rb_tree_node<_Val>*, const 
std::_Rb_tree_node<_Val>*, const _Key&) const [with _Key = 
std::basic_string<char, std::char_traits<char>, std::allocator<char> >, _Val = 
std::basic_string<char, std::char_traits<char>, std::allocator<char> >, 
_KeyOfValue = std::_Identity<std::basic_string<char, std::char_traits<char>, 
std::allocator<char> > >, _Compare = ltstri, _Alloc = 
std::allocator<std::basic_string<char, std::char_traits<char>, 
std::allocator<char> > >]':
/usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.3.0/../../../../include/c++/4.3.0/bits/stl_tree.h:1302:
   instantiated from 'typename std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, 
_Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, 
_Alloc>::find(const _Key&) [with _Key = std::basic_string<char, 
std::char_traits<char>, std::allocator<char> >, _Val = std::basic_string<char, 
std::char_traits<char>, std::allocator<char> >, _KeyOfValue = 
std::_Identity<std::basic_string<char, std::char_traits<char>, 
std::allocator<char> > >, _Compare = ltstri, _Alloc = 
std::allocator<std::basic_string<char, std::char_traits<char>, 
std::allocator<char> > >]'
/usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.3.0/../../../../include/c++/4.3.0/bits/stl_set.h:430:
   instantiated from 'typename std::_Rb_tree<_Key, _Key, std::_Identity<_Key>, 
_Compare, typename _Alloc::rebind<_Key>::other>::const_iterator std::set<_Key, 
_Compare, _Alloc>::find(const _Key&) [with _Key = std::basic_string<char, 
std::char_traits<char>, std::allocator<char> >, _Compare = ltstri, _Alloc = 
std::allocator<std::basic_string<char, std::char_traits<char>, 
std::allocator<char> > >]'
TransferWordList.C:63:   instantiated from here
/usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.3.0/../../../../include/c++/4.3.0/bits/stl_tree.h:938:
 error: passing 'const ltstri' as 'this' argument of 'bool 
ltstri::operator()(const std::string&, const std::string&)' discards qualifiers
/usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.3.0/../../../../include/c++/4.3.0/bits/stl_tree.h:
 In member function 'typename std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, 
_Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, 
_Alloc>::_M_lower_bound(const std::_Rb_tree_node<_Val>*, const 
std::_Rb_tree_node<_Val>*, const _Key&) const [with _Key = 
std::basic_string<char, std::char_traits<char>, std::allocator<char> >, _Val = 
std::basic_string<char, std::char_traits<char>, std::allocator<char> >, 
_KeyOfValue = std::_Identity<std::basic_string<char, std::char_traits<char>, 
std::allocator<char> > >, _Compare = ltstr, _Alloc = 
std::allocator<std::basic_string<char, std::char_traits<char>, 
std::allocator<char> > >]':
/usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.3.0/../../../../include/c++/4.3.0/bits/stl_tree.h:1302:
   instantiated from 'typename std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, 
_Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, 
_Alloc>::find(const _Key&) [with _Key = std::basic_string<char, 
std::char_traits<char>, std::allocator<char> >, _Val = std::basic_string<char, 
std::char_traits<char>, std::allocator<char> >, _KeyOfValue = 
std::_Identity<std::basic_string<char, std::char_traits<char>, 
std::allocator<char> > >, _Compare = ltstr, _Alloc = 
std::allocator<std::basic_string<char, std::char_traits<char>, 
std::allocator<char> > >]'
/usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.3.0/../../../../include/c++/4.3.0/bits/stl_set.h:430:
   instantiated from 'typename std::_Rb_tree<_Key, _Key, std::_Identity<_Key>, 
_Compare, typename _Alloc::rebind<_Key>::other>::const_iterator std::set<_Key, 
_Compare, _Alloc>::find(const _Key&) [with _Key = std::basic_string<char, 
std::char_traits<char>, std::allocator<char> >, _Compare = ltstr, _Alloc = 
std::allocator<std::basic_string<char, std::char_traits<char>, 
std::allocator<char> > >]'
TransferWordList.C:67:   instantiated from here
/usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.3.0/../../../../include/c++/4.3.0/bits/stl_tree.h:938:
 error: passing 'const ltstr' as 'this' argument of 'bool 
ltstr::operator()(const std::string&, const std::string&)' discards qualifiers

-- 
Martin Michlmayr
http://www.cyrius.com/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to