Received: (at submit) by bugs.debian.org; 22 May 2001 00:17:28 +0000 From taggart@carmen.fc.hp.com Mon May 21 19:17:27 2001 Return-path: Received: from atlrel1.hp.com [156.153.255.210] by master.debian.org with esmtp (Exim 3.12 1 (Debian)) id 151zrb-0005Lz-00; Mon, 21 May 2001 19:17:27 -0500 Received: from carmen.fc.hp.com (carmen.fc.hp.com [15.1.51.72]) by atlrel1.hp.com (Postfix) with ESMTP id C118A1118 for ; Mon, 21 May 2001 20:14:14 -0400 (EDT) Received: from carmen.fc.hp.com (localhost [127.0.0.1]) by carmen.fc.hp.com (Postfix) with ESMTP id D483E37CB8; Mon, 21 May 2001 18:16:59 -0600 (MDT) X-Mailer: exmh version 2.3.1 01/18/2001 (debian 2.3.1-1) with nmh-1.0.4+dev To: submit@bugs.debian.org Cc: taggart@carmen.fc.hp.com Subject: html2text won't build with g++ 3.0 (hppa) Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Mon, 21 May 2001 18:16:59 -0600 From: Matt Taggart Message-Id: <20010522001659.D483E37CB8@carmen.fc.hp.com> Delivered-To: submit@bugs.debian.org Package: html2text Version: 1.2.3-2 Severity: Important html2text won't build with g++ 3.0, which means it won't build on hppa or any other arch dependent on gcc-3.0. There are several problems, 1.) configure has test code snippets that don't work with g++ 3.0. The "$LIBSTDCXX_INCLUDES, $LIBSTDCXX_LIBS" and "$AUTO_PTR_BROKEN" code sections need "using namespace std;". This is explained in the "Libstdc++-porting-howto" at, http://gcc.gnu.org/onlinedocs/libstdc++/17_intro/porting-howto.html Here's a patch, ----------------------------------------------------------------------------- --- configure~ Mon May 21 15:12:20 2001 +++ configure Mon May 21 15:21:59 2001 @@ -187,6 +187,7 @@ #include #include #include +using namespace std; void func() { map x; } EOF if $CXX -c $tmp_file.C 2>/dev/null; then @@ -209,6 +210,7 @@ #include #include #include +using namespace std; int main(int, char**) { auto_ptr x(new string("hello")); *x = "world"; ----------------------------------------------------------------------------- 2.) The "$AUTO_PTR_BROKEN" section test doesn't compile causing it to assume, 'not defined or not working, use "./libstd/include/auto_ptr.h"' When I try to compile this test by hand I get, ----------------------------------------------------------------------------- $ g++ -c autoptr.C /usr/include/g++-v3/bits/stl_construct.h: In function `void std::_Construct(_T1*, const _T2&) [with _T1 = std::auto_ptr, _T2 = std::auto_ptr]': /usr/include/g++-v3/bits/stl_list.h:313: instantiated from `std::_List_node<_Tp>* std::list<_Tp, _Alloc>::_M_create_node(const _Tp&) [with _Tp = std::auto_ptr, _Alloc = std::allocator >]' /usr/include/g++-v3/bits/stl_list.h:364: instantiated from `std::_List_iterator<_Tp, _Tp&, _Tp*> std::list<_Tp, _Alloc> ::insert(std::_List_iterator<_Tp, _Tp&, _Tp*>, const _Tp&) [with _Tp = std::auto_ptr, _Alloc = std::allocator >]' /usr/include/g++-v3/bits/stl_list.h:403: instantiated from `void std::list<_Tp, _Alloc>::push_back(const _Tp&) [with _Tp = std::auto_ptr, _Alloc = std::allocator >]' autoptr.C:15: instantiated from here /usr/include/g++-v3/bits/stl_construct.h:48: passing `const std::auto_ptr ' as `this' argument of `std::auto_ptr<_Tp>::operator std::auto_ptr_ref<_Tp1>() [with _Tp1 = int, _Tp = int]' discards qualifiers ----------------------------------------------------------------------------- When I try to build on a gcc-2.95.4 box I get, ----------------------------------------------------------------------------- $ g++ -c autoptr.C /usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/stl_construct.h: In function `void construct, auto_ptr >(auto_ptr *, const auto_ptr &)': /usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/stl_list.h:293: instantiated from `list,allocator > > ::_M_create_node(const auto_ptr &)' /usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/stl_list.h:344: instantiated from `list,allocator > > ::insert(_List_iterator,auto_ptr &,auto_ptr *>, const auto_ptr &)' /usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/stl_list.h:381: instantiated from `list,allocator > > ::push_back(const auto_ptr &)' autoptr.C:15: instantiated from here /usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/stl_construct.h:48 : conversion from `const auto_ptr' to `auto_ptr &' discards qualifiers /usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/memory:37: in passing argument 1 of `auto_ptr::auto_ptr(auto_ptr &)' ----------------------------------------------------------------------------- I don't know if it's doing the right thing or not. 3.) makedepend complains a lot about 'cannot find include file "bits/c++config.h"'. According to the INSTALL doc this is normal? 4.) The package won't build due to other standard namespace issues. I started looking at them but I think someone with more knowledge about the package need to look at it. Since debconf and several other important package use html2text it would be really nice if we could get this fixed soon. Thanks, -- Matt Taggart Linux Development Lab taggart@fc.hp.com HP Linux Systems Operation