pkgsrc-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
pkg/48147: boost-libs header file missing include of assert.h - maybe G++ related problem
>Number: 48147
>Category: pkg
>Synopsis: boost-libs header file missing include of assert.h - maybe G++
>related problem
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: pkg-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Thu Aug 22 08:15:00 +0000 2013
>Originator: Dr. Wolfgang Stukenbrock
>Release: NetBSD 6.1
>Organization:
Dr. Nagler & Company GmbH
>Environment:
System: NetBSD s047 6.1 NetBSD 6.1 (GENERIC) #3: Fri Aug 16 13:44:51 CEST 2013
wgstuken@s012:/export/NetBSD-6.1/N+C-build/.OBJDIR_amd64/export/NetBSD-6.1/src/sys/arch/amd64/compile/GENERIC
amd64
Architecture: x86_64
Machine: amd64
>Description:
While compiling Rstudio we got the following error message from G++:
In file included from /usr/pkg/include/boost/unordered/unordered_map.hpp:17:0,
from /usr/pkg/include/boost/unordered_map.hpp:16,
from
/usr/local/Rstudio/src/build-src/src/cpp/r/include/r/RSourceManager.hpp:23,
from
/usr/local/Rstudio/src/build-src/src/cpp/r/RSourceManager.cpp:14:
/usr/pkg/include/boost/unordered/detail/equivalent.hpp: In copy constructor
'boost::unordered::detail::grouped_node<A, T>::grouped_node(const
boost::unordered::detail::grouped_node<A, T>&)':
/usr/pkg/include/boost/unordered/detail/equivalent.hpp:56:25: error: there are
no arguments to 'assert' that depend on a template parameter, so a declaration
of 'assert' must be available
/usr/pkg/include/boost/unordered/detail/equivalent.hpp:56:25: note: (if you use
'-fpermissive', G++ will accept your code, but allowing the use of an
undeclared name is deprecated)
/usr/pkg/include/boost/unordered/detail/equivalent.hpp: In copy constructor
'boost::unordered::detail::grouped_ptr_node<T>::grouped_ptr_node(const
boost::unordered::detail::grouped_ptr_node<T>&)':
/usr/pkg/include/boost/unordered/detail/equivalent.hpp:103:25: error: there are
no arguments to 'assert' that depend on a template parameter, so a declaration
of 'assert' must be available
The problem seems to be that some "assert(false)" are used in the
template class and assert is still not defined.
The problem seems to be "new" with the gcc shipped with NetBSD 6.1 or
the latest boost libs installed with pkgsrc-2013Q3.
Everything was fine with NetBSD-5.1.2 and pkgsrc-2012Q2.
remark: Rstudio is not in pkgsrc and needs some "adjustments" to
compile and run on NetBSD. So if you whan to test with
this source, feel free to contact me. I will send you theese
"adjustments" and the source-version I'm useing here.
>How-To-Repeat:
Get or create some source that uses boost libs and the "equivalent.hpp"
header file.
If you compile it, on NetBSD 6.1 it will fail.
>Fix:
Not 100% shure about the correct way.
I've added "include <assert.h>" into the
boost/unordered/detail/equivalent.hpp headerfile and everything seems to be
fine.
So the following patch solves this problem - at least for Rstudio
compilation ...
--- /tmp/x 2013-08-22 10:10:44.000000000 +0200
+++ /usr/pkg/include/boost/unordered/detail/equivalent.hpp 2013-08-22
10:10:56.000000000 +0200
@@ -14,6 +14,8 @@
#include <boost/unordered/detail/table.hpp>
#include <boost/unordered/detail/extract_key.hpp>
+#include <assert.h>
+
namespace boost { namespace unordered { namespace detail {
template <typename A, typename T> struct grouped_node;
>Unformatted:
Home |
Main Index |
Thread Index |
Old Index