NetBSD Problem Report #48565
From www@NetBSD.org Sun Feb 2 15:57:05 2014
Return-Path: <www@NetBSD.org>
Received: from mail.netbsd.org (mail.netbsd.org [149.20.53.66])
(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
(Client CN "mail.NetBSD.org", Issuer "Postmaster NetBSD.org" (not verified))
by mollari.NetBSD.org (Postfix) with ESMTPS id E2C97A645E
for <gnats-bugs@gnats.NetBSD.org>; Sun, 2 Feb 2014 15:57:05 +0000 (UTC)
Message-Id: <20140202155704.710F2A64B0@mollari.NetBSD.org>
Date: Sun, 2 Feb 2014 15:57:04 +0000 (UTC)
From: db@db.net
Reply-To: db@db.net
To: gnats-bugs@NetBSD.org
Subject: Fix tqsl under clang
X-Send-Pr-Version: www-1.0
>Number: 48565
>Category: pkg
>Synopsis: Fix tqsl under clang
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: mef
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sun Feb 02 16:00:00 +0000 2014
>Last-Modified: Sat Feb 08 20:55:00 +0000 2014
>Originator: Diane Bruce
>Release: ham/trustedQSL
>Organization:
Me? never organized..
>Environment:
Not applicable
>Description:
trustedQSL failing to build and run using clang compiler
>How-To-Repeat:
>Fix:
Two additional patches
--- src/xml.h.orig 2013-10-20 20:33:20.000000000 -0400
+++ src/xml.h 2014-02-01 20:20:55.798824124 -0500
@@ -108,7 +108,6 @@
XMLElementAttributeList _attributes;
XMLElementList _elements;
std::vector<XMLElementList::iterator> _parsingStack;
- XMLElementList::iterator _iter;
bool _iterByName;
std::string _iterName;
XMLElementAttributeList::iterator _aiter;
@@ -132,6 +131,7 @@
return it;
}
+#if 0
inline bool
XMLElement::getFirstElement(XMLElement& element) {
_iterByName = false;
@@ -157,6 +157,7 @@
++_iter;
return true;
}
+#endif
inline bool
XMLElement::getFirstAttribute(std::string& key, std::string& attr) {
--- src/xml.cpp.orig 2013-10-20 20:33:20.000000000 -0400
+++ src/xml.cpp 2014-02-01 20:30:26.874285772 -0500
@@ -17,6 +17,33 @@
using namespace std;
namespace tqsllib {
+static XMLElementList::iterator _iter;
+
+bool
+XMLElement::getFirstElement(XMLElement& element) {
+ _iterByName = false;
+ _iter = _elements.begin();
+ return getNextElement(element);
+}
+
+bool
+XMLElement::getFirstElement(const std::string& name, XMLElement& element) {
+ _iterName = name;
+ _iterByName = true;
+ _iter = _elements.find(_iterName);
+ return getNextElement(element);
+}
+
+}
+
+bool
+XMLElement::getFirstElement(const std::string& name, XMLElement& element) {
+ _iterName = name;
+ _iterByName = true;
+ _iter = _elements.find(_iterName);
+ return getNextElement(element);
+}
+
+bool
+XMLElement::getNextElement(XMLElement& element) {
+ if (_iter == _elements.end())
+ return false;
+ if (_iterByName && _iter->second.getElementName() != _iterName)
+ return false;
+ element = _iter->second;
+ ++_iter;
+ return true;
+}
pair<string,bool>
XMLElement::getAttribute(const string& key) {
>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: pkg-manager->mef
Responsible-Changed-By: asau@NetBSD.org
Responsible-Changed-When: Mon, 03 Feb 2014 10:04:50 +0000
Responsible-Changed-Why:
Over to package maintainer.
From: Makoto Fujiwara <makoto@ki.nu>
To: db@db.net
Cc: gnats-bugs@netbsd.org
Subject: Re: pkg/48565: Fix tqsl under clang
Date: Wed, 05 Feb 2014 14:56:18 +0900
Hi, thanks for the report, really appreciate.
The problem is also reported from bulkbuild, for example:
http://ftp.netbsd.org/pub/pkgsrc/misc/joerg/20140203.2344/tqsl-2.0/build.log
But unfortunately I don't have the exact environment for this and your
problem and could not duplicate it yet
(mine is clang 3.2 or 3.3 on NetBSD/amd64 6.99.23, and packages fine).
Would you let me know your environment (OS/Release and clang version),
or is it on Mac OS X ?
(By the way, 2.0.1 will be out soon and testing on pkgsrc-wip side).
Thanks again,
---
de JA1XMS
Makoto Fujiwara,
mef@NetBSD.org
From: Diane Bruce <db@db.net>
To: gnats-bugs@NetBSD.org
Cc: mef@NetBSD.org, gnats-admin@netbsd.org, pkgsrc-bugs@netbsd.org,
db@db.net
Subject: Re: pkg/48565: Fix tqsl under clang
Date: Sat, 8 Feb 2014 15:51:29 -0500
On Wed, Feb 05, 2014 at 06:00:01AM +0000, Makoto Fujiwara wrote:
> The following reply was made to PR pkg/48565; it has been noted by GNATS.
>
> From: Makoto Fujiwara <makoto@ki.nu>
> To: db@db.net
> Cc: gnats-bugs@netbsd.org
> Subject: Re: pkg/48565: Fix tqsl under clang
> Date: Wed, 05 Feb 2014 14:56:18 +0900
>
> Hi, thanks for the report, really appreciate.
> The problem is also reported from bulkbuild, for example:
> http://ftp.netbsd.org/pub/pkgsrc/misc/joerg/20140203.2344/tqsl-2.0/build.log
>
> But unfortunately I don't have the exact environment for this and your
> problem and could not duplicate it yet
> (mine is clang 3.2 or 3.3 on NetBSD/amd64 6.99.23, and packages fine).
>
> Would you let me know your environment (OS/Release and clang version),
> or is it on Mac OS X ?
>
> (By the way, 2.0.1 will be out soon and testing on pkgsrc-wip side).
> Thanks again,
> ---
> de JA1XMS
> Makoto Fujiwara,
> mef@NetBSD.org
>
Sure. I'm running with a clang compiler chain on freeBSD HEAD (11.0)
I noticed you guys had the same bug with clang compiler.
Script started on Sat Feb 8 15:46:23 2014
# make
===> License BSD accepted by the user
===> trustedqsl-2.0_2 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by trustedqsl-2.0_2 for building
===> Extracting for trustedqsl-2.0_2
=> SHA256 Checksum OK for tqsl-2.0.tgz.
===> Patching for trustedqsl-2.0_2
===> Applying FreeBSD patches for trustedqsl-2.0_2
===> trustedqsl-2.0_2 depends on file: /usr/local/bin/cmake - found
===> trustedqsl-2.0_2 depends on executable: pkgconf - found
===> trustedqsl-2.0_2 depends on shared library: libdb-5.so - found
===> trustedqsl-2.0_2 depends on shared library: libcurl.so - found
===> trustedqsl-2.0_2 depends on shared library: wx_baseu-2.8 - found
===> Configuring for trustedqsl-2.0_2
===> Performing in-source build
/bin/mkdir -p /home/db/ports/trustedqsl/work/tqsl-2.0
-- The C compiler identification is Clang 3.3.0
-- The CXX compiler identification is Clang 3.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Found EXPAT: /usr/local/lib/libexpat.so (found version "2.1.0")
-- Found OpenSSL: /usr/lib/libssl.so;/usr/lib/libcrypto.so (found version "1.0.1f")
-- Found ZLIB: /usr/include (found version "1.2.8")
-- Found BDB: /usr/local/lib/db5/libdb.so
-- Found CURL: /usr/local/lib/libcurl.so
-- Found wxWidgets: TRUE
-- Configuring done
-- Generating done
CMake Warning:
Manually-specified variables were not used by the project:
CMAKE_CXX_FLAGS_DEBUG
CMAKE_C_FLAGS_DEBUG
CMAKE_C_FLAGS_RELEASE
CMAKE_MODULE_LINKER_FLAGS
THREADS_HAVE_PTHREAD_ARG
-- Build files have been written to: /home/db/ports/trustedqsl/work/tqsl-2.0
===> Building for trustedqsl-2.0_2
Scanning dependencies of target tqsllib
[ 9%] Building CXX object src/CMakeFiles/tqsllib.dir/openssl_cert.cpp.o
[ 9%] Building CXX object src/CMakeFiles/tqsllib.dir/tqsllib.cpp.o
[ 18%] Building CXX object src/CMakeFiles/tqsllib.dir/xml.cpp.o
[ 13%] Building CXX object src/CMakeFiles/tqsllib.dir/adif.cpp.o
[ 27%] Building CXX object src/CMakeFiles/tqsllib.dir/location.cpp.o
[ 27%] Building CXX object src/CMakeFiles/tqsllib.dir/tqslconvert.cpp.o
[ 31%] Building CXX object src/CMakeFiles/tqsllib.dir/cabrillo.cpp.o
In file included from /home/db/ports/trustedqsl/work/tqsl-2.0/src/xml.cpp:11:
In file included from /home/db/ports/trustedqsl/work/tqsl-2.0/src/xml.h:14:
In file included from /usr/include/c++/v1/string:439:
In file included from /usr/include/c++/v1/algorithm:626:
/usr/include/c++/v1/utility:254:9: error: field has incomplete type 'tqsllib::XMLElement'
_T2 second;
^
/usr/include/c++/v1/map:629:16: note: in instantiation of template class 'std::__1::pair<const std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement>' requested here
value_type __cc;
^
/usr/include/c++/v1/__tree:603:16: note: in instantiation of template class 'std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement>' requested here
value_type __value_;
^
/usr/include/c++/v1/__tree:625:22: note: in instantiation of template class 'std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement>, void *>' requested here
typedef typename __node::base __node_base;
^
/usr/include/c++/v1/map:650:19: note: in instantiation of template class 'std::__1::__tree_iterator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement>, std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement>, void *> *, long>' requested here
_TreeIterator __i_;
^
/home/db/ports/trustedqsl/work/tqsl-2.0/src/xml.h:111:27: note: in instantiation of template class 'std::__1::__map_iterator<std::__1::__tree_iterator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement>, std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement>, void *> *, long> >' requested here
XMLElementList::iterator _iter;
^
/home/db/ports/trustedqsl/work/tqsl-2.0/src/xml.h:36:7: note: definition of 'tqsllib::XMLElement' is not complete until the closing '}'
class XMLElement {
^
In file included from /home/db/ports/trustedqsl/work/tqsl-2.0/src/location.cpp:24:
In file included from /usr/include/c++/v1/fstream:169:
In file included from /usr/include/c++/v1/ostream:131:
In file included from /usr/include/c++/v1/ios:216:
In file included from /usr/include/c++/v1/__locale:15:
In file included from /usr/include/c++/v1/string:439:
In file included from /usr/include/c++/v1/algorithm:626:
/usr/include/c++/v1/utility:254:9: error: field has incomplete type 'tqsllib::XMLElement'
_T2 second;
^
/usr/include/c++/v1/map:629:16: note: in instantiation of template class 'std::__1::pair<const std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement>' requested here
value_type __cc;
^
/usr/include/c++/v1/__tree:603:16: note: in instantiation of template class 'std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement>' requested here
value_type __value_;
^
/usr/include/c++/v1/__tree:625:22: note: in instantiation of template class 'std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement>, void *>' requested here
typedef typename __node::base __node_base;
^
/usr/include/c++/v1/map:650:19: note: in instantiation of template class 'std::__1::__tree_iterator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement>, std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement>, void *> *, long>' requested here
_TreeIterator __i_;
^
/home/db/ports/trustedqsl/work/tqsl-2.0/src/xml.h:111:27: note: in instantiation of template class 'std::__1::__map_iterator<std::__1::__tree_iterator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement>, std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement>, void *> *, long> >' requested here
XMLElementList::iterator _iter;
^
/home/db/ports/trustedqsl/work/tqsl-2.0/src/xml.h:36:7: note: definition of 'tqsllib::XMLElement' is not complete until the closing '}'
class XMLElement {
^
In file included from /home/db/ports/trustedqsl/work/tqsl-2.0/src/xml.cpp:11:
In file included from /home/db/ports/trustedqsl/work/tqsl-2.0/src/xml.h:15:
/usr/include/c++/v1/map:1802:60: error: no viable conversion from 'iterator' (aka '__tree_iterator<value_type, __node_pointer, difference_type>') to 'iterator' (aka '__map_iterator<typename __base::iterator>')
iterator find(const key_type& __k) {return __tree_.find(__k);}
^~~~~~~~~~~~~~~~~
/home/db/ports/trustedqsl/work/tqsl-2.0/src/xml.h:146:20: note: in instantiation of member function 'std::__1::multimap<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<const std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement> > >::find' requested here
_iter = _elements.find(_iterName);
^
/usr/include/c++/v1/map:648:29: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'iterator' (aka '__tree_iterator<value_type, __node_pointer, difference_type>') to 'const std::__1::__map_iterator<std::__1::__tree_iterator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement>, std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement>, void *> *, long> > &' for 1st argument
class _LIBCPP_TYPE_VIS_ONLY __map_iterator
^
/usr/include/c++/v1/map:1697:44: error: no viable conversion from 'iterator' (aka '__tree_iterator<value_type, __node_pointer, difference_type>') to 'iterator' (aka '__map_iterator<typename __base::iterator>')
iterator end() _NOEXCEPT {return __tree_.end();}
^~~~~~~~~~~~~
/home/db/ports/trustedqsl/work/tqsl-2.0/src/xml.h:152:25: note: in instantiation of member function 'std::__1::multimap<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<const std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement> > >::end' requested here
if (_iter == _elements.end())
^
/usr/include/c++/v1/map:648:29: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'iterator' (aka '__tree_iterator<value_type, __node_pointer, difference_type>') to 'const std::__1::__map_iterator<std::__1::__tree_iterator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement>, std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement>, void *> *, long> > &' for 1st argument
class _LIBCPP_TYPE_VIS_ONLY __map_iterator
^
3 errors generated.
--- src/CMakeFiles/tqsllib.dir/xml.cpp.o ---
*** [src/CMakeFiles/tqsllib.dir/xml.cpp.o] Error code 1
make[3]: stopped in /home/db/ports/trustedqsl/work/tqsl-2.0
In file included from /home/db/ports/trustedqsl/work/tqsl-2.0/src/location.cpp:29:
In file included from /home/db/ports/trustedqsl/work/tqsl-2.0/src/xml.h:15:
/usr/include/c++/v1/map:1802:60: error: no viable conversion from 'iterator' (aka '__tree_iterator<value_type, __node_pointer, difference_type>') to 'iterator' (aka '__map_iterator<typename __base::iterator>')
iterator find(const key_type& __k) {return __tree_.find(__k);}
^~~~~~~~~~~~~~~~~
/home/db/ports/trustedqsl/work/tqsl-2.0/src/xml.h:146:20: note: in instantiation of member function 'std::__1::multimap<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<const std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement> > >::find' requested here
_iter = _elements.find(_iterName);
^
/usr/include/c++/v1/map:648:29: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'iterator' (aka '__tree_iterator<value_type, __node_pointer, difference_type>') to 'const std::__1::__map_iterator<std::__1::__tree_iterator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement>, std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement>, void *> *, long> > &' for 1st argument
class _LIBCPP_TYPE_VIS_ONLY __map_iterator
^
/usr/include/c++/v1/map:1697:44: error: no viable conversion from 'iterator' (aka '__tree_iterator<value_type, __node_pointer, difference_type>') to 'iterator' (aka '__map_iterator<typename __base::iterator>')
iterator end() _NOEXCEPT {return __tree_.end();}
^~~~~~~~~~~~~
/home/db/ports/trustedqsl/work/tqsl-2.0/src/xml.h:152:25: note: in instantiation of member function 'std::__1::multimap<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<const std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement> > >::end' requested here
if (_iter == _elements.end())
^
/usr/include/c++/v1/map:648:29: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'iterator' (aka '__tree_iterator<value_type, __node_pointer, difference_type>') to 'const std::__1::__map_iterator<std::__1::__tree_iterator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement>, std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement>, void *> *, long> > &' for 1st argument
class _LIBCPP_TYPE_VIS_ONLY __map_iterator
^
/usr/include/c++/v1/map:1366:53: error: static_cast from 'pointer' (aka 'std::__1::__tree_node<std::__1::__value_type<int, tqsllib::XMLElement>, void *> *') to '__node_base_pointer' (aka 'std::__1::__tree_node_base<void *> *') is not allowed
__tree_.__insert_node_at(__parent, __child, static_cast<__node_base_pointer>(__h.get()));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/db/ports/trustedqsl/work/tqsl-2.0/src/location.cpp:999:16: note: in instantiation of member function 'std::__1::map<int, tqsllib::XMLElement, std::__1::less<int>, std::__1::allocator<std::__1::pair<const int, tqsllib::XMLElement> > >::operator[]' requested here
tqsl_page_map[page_num] = config_page;
^
In file included from /home/db/ports/trustedqsl/work/tqsl-2.0/src/location.cpp:29:
In file included from /home/db/ports/trustedqsl/work/tqsl-2.0/src/xml.h:15:
/usr/include/c++/v1/map:1219:16: error: static_cast from '__node_pointer' (aka 'std::__1::__tree_node<std::__1::__value_type<int, tqsllib::XMLElement>, void *> *') to '__node_base_pointer' (aka 'std::__1::__tree_node_base<void *> *') is not allowed
__parent = static_cast<__node_base_pointer>(__tree_.__end_node());
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/v1/map:1361:36: note: in instantiation of member function 'std::__1::map<int, tqsllib::XMLElement, std::__1::less<int>, std::__1::allocator<std::__1::pair<const int, tqsllib::XMLElement> > >::__find_equal_key' requested here
__node_base_pointer& __child = __find_equal_key(__parent, __k);
^
/home/db/ports/trustedqsl/work/tqsl-2.0/src/location.cpp:999:16: note: in instantiation of member function 'std::__1::map<int, tqsllib::XMLElement, std::__1::less<int>, std::__1::allocator<std::__1::pair<const int, tqsllib::XMLElement> > >::operator[]' requested here
tqsl_page_map[page_num] = config_page;
^
In file included from /home/db/ports/trustedqsl/work/tqsl-2.0/src/location.cpp:29:
In file included from /home/db/ports/trustedqsl/work/tqsl-2.0/src/xml.h:15:
/usr/include/c++/v1/map:1366:53: error: static_cast from 'pointer' (aka 'std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement>, void *> *') to '__node_base_pointer' (aka 'std::__1::__tree_node_base<void *> *') is not allowed
__tree_.__insert_node_at(__parent, __child, static_cast<__node_base_pointer>(__h.get()));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/db/ports/trustedqsl/work/tqsl-2.0/src/location.cpp:1013:17: note: in instantiation of member function 'std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<const std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement> > >::operator[]' requested here
tqsl_field_map[Id.first] = config_field;
^
In file included from /home/db/ports/trustedqsl/work/tqsl-2.0/src/location.cpp:29:
In file included from /home/db/ports/trustedqsl/work/tqsl-2.0/src/xml.h:15:
/usr/include/c++/v1/map:1219:16: error: static_cast from '__node_pointer' (aka 'std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement>, void *> *') to '__node_base_pointer' (aka 'std::__1::__tree_node_base<void *> *') is not allowed
__parent = static_cast<__node_base_pointer>(__tree_.__end_node());
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/v1/map:1361:36: note: in instantiation of member function 'std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<const std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement> > >::__find_equal_key' requested here
__node_base_pointer& __child = __find_equal_key(__parent, __k);
^
/home/db/ports/trustedqsl/work/tqsl-2.0/src/location.cpp:1013:17: note: in instantiation of member function 'std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<const std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement> > >::operator[]' requested here
tqsl_field_map[Id.first] = config_field;
^
In file included from /home/db/ports/trustedqsl/work/tqsl-2.0/src/location.cpp:29:
In file included from /home/db/ports/trustedqsl/work/tqsl-2.0/src/xml.h:15:
/usr/include/c++/v1/map:1081:60: error: no viable conversion from 'iterator' (aka '__tree_iterator<value_type, __node_pointer, difference_type>') to 'iterator' (aka '__map_iterator<typename __base::iterator>')
iterator find(const key_type& __k) {return __tree_.find(__k);}
^~~~~~~~~~~~~~~~~
/home/db/ports/trustedqsl/work/tqsl-2.0/src/location.cpp:1168:23: note: in instantiation of member function 'std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<const std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement> > >::find' requested here
if (tqsl_field_map.find(field.gabbi_name) == tqsl_field_map.end()) {
^
/usr/include/c++/v1/map:648:29: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'iterator' (aka '__tree_iterator<value_type, __node_pointer, difference_type>') to 'const std::__1::__map_iterator<std::__1::__tree_iterator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement>, std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement>, void *> *, long> > &' for 1st argument
class _LIBCPP_TYPE_VIS_ONLY __map_iterator
^
/usr/include/c++/v1/map:965:44: error: no viable conversion from 'iterator' (aka '__tree_iterator<value_type, __node_pointer, difference_type>') to 'iterator' (aka '__map_iterator<typename __base::iterator>')
iterator end() _NOEXCEPT {return __tree_.end();}
^~~~~~~~~~~~~
/home/db/ports/trustedqsl/work/tqsl-2.0/src/location.cpp:1168:64: note: in instantiation of member function 'std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<const std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement> > >::end' requested here
if (tqsl_field_map.find(field.gabbi_name) == tqsl_field_map.end()) {
^
/usr/include/c++/v1/map:648:29: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'iterator' (aka '__tree_iterator<value_type, __node_pointer, difference_type>') to 'const std::__1::__map_iterator<std::__1::__tree_iterator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement>, std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement>, void *> *, long> > &' for 1st argument
class _LIBCPP_TYPE_VIS_ONLY __map_iterator
^
/usr/include/c++/v1/map:965:44: error: no viable conversion from 'iterator' (aka '__tree_iterator<value_type, __node_pointer, difference_type>') to 'iterator' (aka '__map_iterator<typename __base::iterator>')
iterator end() _NOEXCEPT {return __tree_.end();}
^~~~~~~~~~~~~
/home/db/ports/trustedqsl/work/tqsl-2.0/src/location.cpp:1340:52: note: in instantiation of member function 'std::__1::map<int, tqsllib::XMLElement, std::__1::less<int>, std::__1::allocator<std::__1::pair<const int, tqsllib::XMLElement> > >::end' requested here
if (tqsl_page_map.find(page_num) == tqsl_page_map.end()) {
^
/usr/include/c++/v1/map:648:29: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'iterator' (aka '__tree_iterator<value_type, __node_pointer, difference_type>') to 'const std::__1::__map_iterator<std::__1::__tree_iterator<std::__1::__value_type<int, tqsllib::XMLElement>, std::__1::__tree_node<std::__1::__value_type<int, tqsllib::XMLElement>, void *> *, long> > &' for 1st argument
class _LIBCPP_TYPE_VIS_ONLY __map_iterator
^
/usr/include/c++/v1/map:961:46: error: no viable conversion from 'iterator' (aka '__tree_iterator<value_type, __node_pointer, difference_type>') to 'iterator' (aka '__map_iterator<typename __base::iterator>')
iterator begin() _NOEXCEPT {return __tree_.begin();}
^~~~~~~~~~~~~~~
/home/db/ports/trustedqsl/work/tqsl-2.0/src/location.cpp:1389:27: note: in instantiation of member function 'std::__1::map<int, tqsllib::XMLElement, std::__1::less<int>, std::__1::allocator<std::__1::pair<const int, tqsllib::XMLElement> > >::begin' requested here
for (pit = tqsl_page_map.begin(); pit != tqsl_page_map.end(); pit++) {
^
/usr/include/c++/v1/map:648:29: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'iterator' (aka '__tree_iterator<value_type, __node_pointer, difference_type>') to 'const std::__1::__map_iterator<std::__1::__tree_iterator<std::__1::__value_type<int, tqsllib::XMLElement>, std::__1::__tree_node<std::__1::__value_type<int, tqsllib::XMLElement>, void *> *, long> > &' for 1st argument
class _LIBCPP_TYPE_VIS_ONLY __map_iterator
^
/usr/include/c++/v1/map:1787:48: error: no viable conversion from 'iterator' (aka '__tree_iterator<value_type, __node_pointer, difference_type>') to 'iterator' (aka '__map_iterator<typename __base::iterator>')
iterator erase(const_iterator __p) {return __tree_.erase(__p.__i_);}
^~~~~~~~~~~~~~~~~~~~~~~
/home/db/ports/trustedqsl/work/tqsl-2.0/src/location.cpp:2088:11: note: in instantiation of member function 'std::__1::multimap<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<const std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement> > >::erase' requested here
ellist.erase(ep);
^
/usr/include/c++/v1/map:648:29: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'iterator' (aka '__tree_iterator<value_type, __node_pointer, difference_type>') to 'const std::__1::__map_iterator<std::__1::__tree_iterator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement>, std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement>, void *> *, long> > &' for 1st argument
class _LIBCPP_TYPE_VIS_ONLY __map_iterator
^
In file included from /home/db/ports/trustedqsl/work/tqsl-2.0/src/location.cpp:29:
In file included from /home/db/ports/trustedqsl/work/tqsl-2.0/src/xml.h:15:
In file included from /usr/include/c++/v1/map:423:
/usr/include/c++/v1/__tree:1985:19: error: static_cast from '__node_pointer' (aka 'std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement>, void *> *') to '__node_base_pointer' (aka 'std::__1::__tree_node_base<void *> *') is not allowed
static_cast<__node_base_pointer>(__np));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/v1/map:1787:56: note: in instantiation of member function 'std::__1::__tree<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement>, std::__1::__map_value_compare<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, true>, std::__1::allocator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement> > >::erase' requested here
iterator erase(const_iterator __p) {return __tree_.erase(__p.__i_);}
^
/home/db/ports/trustedqsl/work/tqsl-2.0/src/location.cpp:2088:11: note: in instantiation of member function 'std::__1::multimap<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<const std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement> > >::erase' requested here
ellist.erase(ep);
^
In file included from /home/db/ports/trustedqsl/work/tqsl-2.0/src/location.cpp:29:
In file included from /home/db/ports/trustedqsl/work/tqsl-2.0/src/xml.h:15:
In file included from /usr/include/c++/v1/map:423:
/usr/include/c++/v1/__tree:656:59: error: static_cast from '__node_pointer' (aka 'std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement>, void *> *') to '__node_base_pointer' (aka 'int') is not allowed
{__ptr_ = static_cast<__node_pointer>(__tree_next(static_cast<__node_base_pointer>(__ptr_)));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/v1/__tree:1978:5: note: in instantiation of member function 'std::__1::__tree_iterator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement>, std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement>, void *> *, long>::operator++' requested here
++__r;
^
/usr/include/c++/v1/map:1787:56: note: in instantiation of member function 'std::__1::__tree<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement>, std::__1::__map_value_compare<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, true>, std::__1::allocator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement> > >::erase' requested here
iterator erase(const_iterator __p) {return __tree_.erase(__p.__i_);}
^
/home/db/ports/trustedqsl/work/tqsl-2.0/src/location.cpp:2088:11: note: in instantiation of member function 'std::__1::multimap<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<const std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement> > >::erase' requested here
ellist.erase(ep);
^
In file included from /home/db/ports/trustedqsl/work/tqsl-2.0/src/location.cpp:29:
In file included from /home/db/ports/trustedqsl/work/tqsl-2.0/src/xml.h:15:
In file included from /usr/include/c++/v1/map:423:
/usr/include/c++/v1/__tree:656:19: error: cannot cast from type 'int' to pointer type '__node_pointer' (aka 'std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement>, void *> *')
{__ptr_ = static_cast<__node_pointer>(__tree_next(static_cast<__node_base_pointer>(__ptr_)));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/v1/__tree:157:14: error: member reference type 'int' is not a pointer
if (__x->__right_ != nullptr)
~~~ ^
/usr/include/c++/v1/__tree:656:47: note: in instantiation of function template specialization 'std::__1::__tree_next<int>' requested here
{__ptr_ = static_cast<__node_pointer>(__tree_next(static_cast<__node_base_pointer>(__ptr_)));
^
/usr/include/c++/v1/__tree:1978:5: note: in instantiation of member function 'std::__1::__tree_iterator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement>, std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement>, void *> *, long>::operator++' requested here
++__r;
^
/usr/include/c++/v1/map:1787:56: note: in instantiation of member function 'std::__1::__tree<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement>, std::__1::__map_value_compare<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, true>, std::__1::allocator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement> > >::erase' requested here
iterator erase(const_iterator __p) {return __tree_.erase(__p.__i_);}
^
/home/db/ports/trustedqsl/work/tqsl-2.0/src/location.cpp:2088:11: note: in instantiation of member function 'std::__1::multimap<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<const std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement> > >::erase' requested here
ellist.erase(ep);
^
In file included from /home/db/ports/trustedqsl/work/tqsl-2.0/src/location.cpp:29:
In file included from /home/db/ports/trustedqsl/work/tqsl-2.0/src/xml.h:15:
In file included from /usr/include/c++/v1/map:423:
/usr/include/c++/v1/__tree:160:20: error: member reference type 'int' is not a pointer
__x = __x->__parent_;
~~~ ^
/usr/include/c++/v1/__tree:161:17: error: member reference type 'int' is not a pointer
return __x->__parent_;
~~~ ^
/usr/include/c++/v1/__tree:68:24: error: member reference type 'int' is not a pointer
return __x == __x->__parent_->__left_;
~~~ ^
/usr/include/c++/v1/__tree:159:13: note: in instantiation of function template specialization 'std::__1::__tree_is_left_child<int>' requested here
while (!__tree_is_left_child(__x))
^
/usr/include/c++/v1/__tree:656:47: note: in instantiation of function template specialization 'std::__1::__tree_next<int>' requested here
{__ptr_ = static_cast<__node_pointer>(__tree_next(static_cast<__node_base_pointer>(__ptr_)));
^
/usr/include/c++/v1/__tree:1978:5: note: in instantiation of member function 'std::__1::__tree_iterator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement>, std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement>, void *> *, long>::operator++' requested here
++__r;
^
/usr/include/c++/v1/map:1787:56: note: in instantiation of member function 'std::__1::__tree<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement>, std::__1::__map_value_compare<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, true>, std::__1::allocator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement> > >::erase' requested here
iterator erase(const_iterator __p) {return __tree_.erase(__p.__i_);}
^
/home/db/ports/trustedqsl/work/tqsl-2.0/src/location.cpp:2088:11: note: in instantiation of member function 'std::__1::multimap<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<const std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tqsllib::XMLElement> > >::erase' requested here
ellist.erase(ep);
^
19 errors generated.
--- src/CMakeFiles/tqsllib.dir/location.cpp.o ---
*** [src/CMakeFiles/tqsllib.dir/location.cpp.o] Error code 1
make[3]: stopped in /home/db/ports/trustedqsl/work/tqsl-2.0
2 errors
make[3]: stopped in /home/db/ports/trustedqsl/work/tqsl-2.0
--- src/CMakeFiles/tqsllib.dir/all ---
*** [src/CMakeFiles/tqsllib.dir/all] Error code 2
make[2]: stopped in /home/db/ports/trustedqsl/work/tqsl-2.0
1 error
make[2]: stopped in /home/db/ports/trustedqsl/work/tqsl-2.0
--- all ---
*** [all] Error code 2
make[1]: stopped in /home/db/ports/trustedqsl/work/tqsl-2.0
1 error
make[1]: stopped in /home/db/ports/trustedqsl/work/tqsl-2.0
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1
Stop.
make: stopped in /home/db/ports/trustedqsl
# exit
Script done on Sat Feb 8 15:46:58 2014
The basic bug is
/usr/include/c++/v1/utility:254:9: error: field has incomplete type 'tqsllib::XM
LElement'
_T2 second;
^
It's possible updated clang will fix this too.
- Diane
--
- db@FreeBSD.org db@db.net http://www.db.net/~db
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.