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