You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Faycal El Karaa (Jira)" <ji...@apache.org> on 2021/01/05 04:46:00 UTC
[jira] [Updated] (PROTON-2316) Cannot build Qpid C++ 1.39
[ https://issues.apache.org/jira/browse/PROTON-2316?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Faycal El Karaa updated PROTON-2316:
------------------------------------
Description:
I am trying to build qpid 1.39.0 on Linux Mint 20 with gcc 9.3.0 and boost 1.75. The build fails with the following error:
[ 0%] Building CXX object src/CMakeFiles/qpidtypes.dir/qpid/types/Variant.cpp.o
[ 0%] Linking CXX shared library libqpidtypes.so
[ 0%] Built target qpidtypes
[ 1%] Building CXX object src/CMakeFiles/qpidcommon.dir/qpid/framing/MethodBodyDefaultVisitor.cpp.o
In file included from /home/faycal/Projects/qpid-cpp-1.39.0/src/qpid/framing/AMQMethodBody.h:26,
from /home/faycal/Projects/qpid-cpp-1.39.0/build/src/qpid/framing/ConnectionStartBody.h:30,
from /home/faycal/Projects/qpid-cpp-1.39.0/build/src/qpid/framing/all_method_bodies.h:30,
from /home/faycal/Projects/qpid-cpp-1.39.0/build/src/qpid/framing/MethodBodyDefaultVisitor.cpp:29:
/home/faycal/Projects/qpid-cpp-1.39.0/src/qpid/framing/ProtocolVersion.h: In member function ‘bool qpid::framing::ProtocolVersion::operator!=(qpid::framing::ProtocolVersion) const’:
/home/faycal/Projects/qpid-cpp-1.39.0/src/qpid/framing/ProtocolVersion.h:56:93: *{color:#FF0000}error{color}*: *implicitly-declared ‘constexpr qpid::framing::ProtocolVersion::ProtocolVersion(const qpid::framing::ProtocolVersion&)’ is deprecated [-Werror=deprecated-copy]*
*56 | QPID_COMMON_INLINE_EXTERN bool operator!=(ProtocolVersion p) const \{ return ! (*this == p); }*
| ^
/home/faycal/Projects/qpid-cpp-1.39.0/src/qpid/framing/ProtocolVersion.h:53:41: note: because ‘qpid::framing::ProtocolVersion’ has user-provided ‘qpid::framing::ProtocolVersion& qpid::framing::ProtocolVersion::operator=(qpid::framing::ProtocolVersion)’
53 | QPID_COMMON_EXTERN ProtocolVersion& operator=(ProtocolVersion p);
| ^~~~~~~~
/home/faycal/Projects/qpid-cpp-1.39.0/src/qpid/framing/ProtocolVersion.h:55:56: note: initializing argument 1 of ‘bool qpid::framing::ProtocolVersion::operator==(qpid::framing::ProtocolVersion) const’
55 | QPID_COMMON_EXTERN bool operator==(ProtocolVersion p) const;
| ~~~~~~~~~~~~~~~~^
In file included from /usr/local/include/boost/smart_ptr/detail/sp_thread_sleep.hpp:22,
from /usr/local/include/boost/smart_ptr/detail/yield_k.hpp:23,
from /usr/local/include/boost/smart_ptr/detail/spinlock_gcc_atomic.hpp:14,
from /usr/local/include/boost/smart_ptr/detail/spinlock.hpp:42,
from /usr/local/include/boost/smart_ptr/detail/spinlock_pool.hpp:25,
from /usr/local/include/boost/smart_ptr/shared_ptr.hpp:29,
from /usr/local/include/boost/shared_ptr.hpp:17,
from /home/faycal/Projects/qpid-cpp-1.39.0/src/qpid/framing/AMQMethodBody.h:29,
from /home/faycal/Projects/qpid-cpp-1.39.0/build/src/qpid/framing/ConnectionStartBody.h:30,
from /home/faycal/Projects/qpid-cpp-1.39.0/build/src/qpid/framing/all_method_bodies.h:30,
from /home/faycal/Projects/qpid-cpp-1.39.0/build/src/qpid/framing/MethodBodyDefaultVisitor.cpp:29:
/usr/local/include/boost/bind.hpp: At global scope:
/usr/local/include/boost/bind.hpp:36:1: note: #pragma message: The practice of declaring the Bind placeholders (_1, _2, ...) in the global namespace is deprecated. Please use <boost/bind/bind.hpp> + using namespace boost::placeholders, or define BOOST_BIND_GLOBAL_PLACEHOLDERS to retain the current behavior.
36 | BOOST_PRAGMA_MESSAGE(
| ^~~~~~~~~~~~~~~~~~~~
In file included from /home/faycal/Projects/qpid-cpp-1.39.0/src/qpid/RangeSet.h:25,
from /home/faycal/Projects/qpid-cpp-1.39.0/src/qpid/framing/SequenceSet.h:25,
from /home/faycal/Projects/qpid-cpp-1.39.0/src/qpid/framing/amqp_types_full.h:35,
from _/home/faycal/Projects/qpid-cpp-1.39.0/build/src/_../include/qpid/framing/Header.h:32,
from _/home/faycal/Projects/qpid-cpp-1.39.0/build/src/_../include/qpid/framing/amqp_structs.h:30,
from /home/faycal/Projects/qpid-cpp-1.39.0/build/src/qpid/framing/AMQP_ServerOperations.h:32,
from /home/faycal/Projects/qpid-cpp-1.39.0/build/src/qpid/framing/ConnectionStartBody.h:31,
from /home/faycal/Projects/qpid-cpp-1.39.0/build/src/qpid/framing/all_method_bodies.h:30,
from /home/faycal/Projects/qpid-cpp-1.39.0/build/src/qpid/framing/MethodBodyDefaultVisitor.cpp:29:
/home/faycal/Projects/qpid-cpp-1.39.0/src/qpid/InlineVector.h: In instantiation of ‘qpid::InlineVector<T, Max, Alloc>::InlineVector(const qpid::InlineVector<T, Max, Alloc>&) [with T = qpid::Range<qpid::framing::SequenceNumber>; long unsigned int Max = 3; Alloc = std::allocator<qpid::Range<qpid::framing::SequenceNumber> >]’:
/home/faycal/Projects/qpid-cpp-1.39.0/src/qpid/RangeSet.h:98:7: required from here
/home/faycal/Projects/qpid-cpp-1.39.0/src/qpid/InlineVector.h:62:15: *{color:#FF0000}error{color}*: *implicitly-declared ‘qpid::InlineVector<qpid::Range<qpid::framing::SequenceNumber>, 3, std::allocator<qpid::Range<qpid::framing::SequenceNumber> > >& qpid::InlineVector<qpid::Range<qpid::framing::SequenceNumber>, 3, std::allocator<qpid::Range<qpid::framing::SequenceNumber> > >::operator=(const qpid::InlineVector<qpid::Range<qpid::framing::SequenceNumber>, 3, std::allocator<qpid::Range<qpid::framing::SequenceNumber> > >&)’ is deprecated [-Werror=deprecated-copy]*
*62 | *this = x;*
*| ~~~~~~^~~*
/home/faycal/Projects/qpid-cpp-1.39.0/src/qpid/InlineVector.h:60:5: note: because ‘qpid::InlineVector<qpid::Range<qpid::framing::SequenceNumber>, 3, std::allocator<qpid::Range<qpid::framing::SequenceNumber> > >’ has user-provided ‘qpid::InlineVector<T, Max, Alloc>::InlineVector(const qpid::InlineVector<T, Max, Alloc>&) [with T = qpid::Range<qpid::framing::SequenceNumber>; long unsigned int Max = 3; Alloc = std::allocator<qpid::Range<qpid::framing::SequenceNumber> >]’
60 | InlineVector(const InlineVector& x) : Base() {
| ^~~~~~~~~~~~
cc1plus: all warnings being treated as errors
make[2]: *** [src/CMakeFiles/qpidcommon.dir/build.make:63: src/CMakeFiles/qpidcommon.dir/qpid/framing/MethodBodyDefaultVisitor.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1457: src/CMakeFiles/qpidcommon.dir/all] Error 2
make: *** [Makefile:163: all] Error 2
was:
I am trying to build qpid 1.39.0 on Linux Mint 20 with gcc 9.3.0 and boost 1.75. The build fails with the following error:
[ 0%] Building CXX object src/CMakeFiles/qpidtypes.dir/qpid/types/Variant.cpp.o
[ 0%] Linking CXX shared library libqpidtypes.so
[ 0%] Built target qpidtypes
[ 1%] Building CXX object src/CMakeFiles/qpidcommon.dir/qpid/framing/MethodBodyDefaultVisitor.cpp.o
In file included from /home/faycal/Projects/qpid-cpp-1.39.0/src/qpid/framing/AMQMethodBody.h:26,
from /home/faycal/Projects/qpid-cpp-1.39.0/build/src/qpid/framing/ConnectionStartBody.h:30,
from /home/faycal/Projects/qpid-cpp-1.39.0/build/src/qpid/framing/all_method_bodies.h:30,
from /home/faycal/Projects/qpid-cpp-1.39.0/build/src/qpid/framing/MethodBodyDefaultVisitor.cpp:29:
/home/faycal/Projects/qpid-cpp-1.39.0/src/qpid/framing/ProtocolVersion.h: In member function ‘bool qpid::framing::ProtocolVersion::operator!=(qpid::framing::ProtocolVersion) const’:
/home/faycal/Projects/qpid-cpp-1.39.0/src/qpid/framing/ProtocolVersion.h:56:93: error: implicitly-declared ‘constexpr qpid::framing::ProtocolVersion::ProtocolVersion(const qpid::framing::ProtocolVersion&)’ is deprecated [-Werror=deprecated-copy]
56 | QPID_COMMON_INLINE_EXTERN bool operator!=(ProtocolVersion p) const \{ return ! (*this == p); }
| ^
/home/faycal/Projects/qpid-cpp-1.39.0/src/qpid/framing/ProtocolVersion.h:53:41: note: because ‘qpid::framing::ProtocolVersion’ has user-provided ‘qpid::framing::ProtocolVersion& qpid::framing::ProtocolVersion::operator=(qpid::framing::ProtocolVersion)’
53 | QPID_COMMON_EXTERN ProtocolVersion& operator=(ProtocolVersion p);
| ^~~~~~~~
/home/faycal/Projects/qpid-cpp-1.39.0/src/qpid/framing/ProtocolVersion.h:55:56: note: initializing argument 1 of ‘bool qpid::framing::ProtocolVersion::operator==(qpid::framing::ProtocolVersion) const’
55 | QPID_COMMON_EXTERN bool operator==(ProtocolVersion p) const;
| ~~~~~~~~~~~~~~~~^
In file included from /usr/local/include/boost/smart_ptr/detail/sp_thread_sleep.hpp:22,
from /usr/local/include/boost/smart_ptr/detail/yield_k.hpp:23,
from /usr/local/include/boost/smart_ptr/detail/spinlock_gcc_atomic.hpp:14,
from /usr/local/include/boost/smart_ptr/detail/spinlock.hpp:42,
from /usr/local/include/boost/smart_ptr/detail/spinlock_pool.hpp:25,
from /usr/local/include/boost/smart_ptr/shared_ptr.hpp:29,
from /usr/local/include/boost/shared_ptr.hpp:17,
from /home/faycal/Projects/qpid-cpp-1.39.0/src/qpid/framing/AMQMethodBody.h:29,
from /home/faycal/Projects/qpid-cpp-1.39.0/build/src/qpid/framing/ConnectionStartBody.h:30,
from /home/faycal/Projects/qpid-cpp-1.39.0/build/src/qpid/framing/all_method_bodies.h:30,
from /home/faycal/Projects/qpid-cpp-1.39.0/build/src/qpid/framing/MethodBodyDefaultVisitor.cpp:29:
/usr/local/include/boost/bind.hpp: At global scope:
/usr/local/include/boost/bind.hpp:36:1: note: #pragma message: The practice of declaring the Bind placeholders (_1, _2, ...) in the global namespace is deprecated. Please use <boost/bind/bind.hpp> + using namespace boost::placeholders, or define BOOST_BIND_GLOBAL_PLACEHOLDERS to retain the current behavior.
36 | BOOST_PRAGMA_MESSAGE(
| ^~~~~~~~~~~~~~~~~~~~
In file included from /home/faycal/Projects/qpid-cpp-1.39.0/src/qpid/RangeSet.h:25,
from /home/faycal/Projects/qpid-cpp-1.39.0/src/qpid/framing/SequenceSet.h:25,
from /home/faycal/Projects/qpid-cpp-1.39.0/src/qpid/framing/amqp_types_full.h:35,
from _/home/faycal/Projects/qpid-cpp-1.39.0/build/src/_../include/qpid/framing/Header.h:32,
from _/home/faycal/Projects/qpid-cpp-1.39.0/build/src/_../include/qpid/framing/amqp_structs.h:30,
from /home/faycal/Projects/qpid-cpp-1.39.0/build/src/qpid/framing/AMQP_ServerOperations.h:32,
from /home/faycal/Projects/qpid-cpp-1.39.0/build/src/qpid/framing/ConnectionStartBody.h:31,
from /home/faycal/Projects/qpid-cpp-1.39.0/build/src/qpid/framing/all_method_bodies.h:30,
from /home/faycal/Projects/qpid-cpp-1.39.0/build/src/qpid/framing/MethodBodyDefaultVisitor.cpp:29:
/home/faycal/Projects/qpid-cpp-1.39.0/src/qpid/InlineVector.h: In instantiation of ‘qpid::InlineVector<T, Max, Alloc>::InlineVector(const qpid::InlineVector<T, Max, Alloc>&) [with T = qpid::Range<qpid::framing::SequenceNumber>; long unsigned int Max = 3; Alloc = std::allocator<qpid::Range<qpid::framing::SequenceNumber> >]’:
/home/faycal/Projects/qpid-cpp-1.39.0/src/qpid/RangeSet.h:98:7: required from here
/home/faycal/Projects/qpid-cpp-1.39.0/src/qpid/InlineVector.h:62:15: error: implicitly-declared ‘qpid::InlineVector<qpid::Range<qpid::framing::SequenceNumber>, 3, std::allocator<qpid::Range<qpid::framing::SequenceNumber> > >& qpid::InlineVector<qpid::Range<qpid::framing::SequenceNumber>, 3, std::allocator<qpid::Range<qpid::framing::SequenceNumber> > >::operator=(const qpid::InlineVector<qpid::Range<qpid::framing::SequenceNumber>, 3, std::allocator<qpid::Range<qpid::framing::SequenceNumber> > >&)’ is deprecated [-Werror=deprecated-copy]
62 | *this = x;
| ~~~~~~^~~
/home/faycal/Projects/qpid-cpp-1.39.0/src/qpid/InlineVector.h:60:5: note: because ‘qpid::InlineVector<qpid::Range<qpid::framing::SequenceNumber>, 3, std::allocator<qpid::Range<qpid::framing::SequenceNumber> > >’ has user-provided ‘qpid::InlineVector<T, Max, Alloc>::InlineVector(const qpid::InlineVector<T, Max, Alloc>&) [with T = qpid::Range<qpid::framing::SequenceNumber>; long unsigned int Max = 3; Alloc = std::allocator<qpid::Range<qpid::framing::SequenceNumber> >]’
60 | InlineVector(const InlineVector& x) : Base() {
| ^~~~~~~~~~~~
cc1plus: all warnings being treated as errors
make[2]: *** [src/CMakeFiles/qpidcommon.dir/build.make:63: src/CMakeFiles/qpidcommon.dir/qpid/framing/MethodBodyDefaultVisitor.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1457: src/CMakeFiles/qpidcommon.dir/all] Error 2
make: *** [Makefile:163: all] Error 2
> Cannot build Qpid C++ 1.39
> --------------------------
>
> Key: PROTON-2316
> URL: https://issues.apache.org/jira/browse/PROTON-2316
> Project: Qpid Proton
> Issue Type: Bug
> Components: cpp-binding
> Affects Versions: proton-c-0.33.0
> Environment: Linux Mint 20, gcc 9.3.0, boost 1.75
> Reporter: Faycal El Karaa
> Priority: Blocker
> Fix For: proton-c-0.34.0
>
>
> I am trying to build qpid 1.39.0 on Linux Mint 20 with gcc 9.3.0 and boost 1.75. The build fails with the following error:
> [ 0%] Building CXX object src/CMakeFiles/qpidtypes.dir/qpid/types/Variant.cpp.o
> [ 0%] Linking CXX shared library libqpidtypes.so
> [ 0%] Built target qpidtypes
> [ 1%] Building CXX object src/CMakeFiles/qpidcommon.dir/qpid/framing/MethodBodyDefaultVisitor.cpp.o
> In file included from /home/faycal/Projects/qpid-cpp-1.39.0/src/qpid/framing/AMQMethodBody.h:26,
> from /home/faycal/Projects/qpid-cpp-1.39.0/build/src/qpid/framing/ConnectionStartBody.h:30,
> from /home/faycal/Projects/qpid-cpp-1.39.0/build/src/qpid/framing/all_method_bodies.h:30,
> from /home/faycal/Projects/qpid-cpp-1.39.0/build/src/qpid/framing/MethodBodyDefaultVisitor.cpp:29:
> /home/faycal/Projects/qpid-cpp-1.39.0/src/qpid/framing/ProtocolVersion.h: In member function ‘bool qpid::framing::ProtocolVersion::operator!=(qpid::framing::ProtocolVersion) const’:
> /home/faycal/Projects/qpid-cpp-1.39.0/src/qpid/framing/ProtocolVersion.h:56:93: *{color:#FF0000}error{color}*: *implicitly-declared ‘constexpr qpid::framing::ProtocolVersion::ProtocolVersion(const qpid::framing::ProtocolVersion&)’ is deprecated [-Werror=deprecated-copy]*
> *56 | QPID_COMMON_INLINE_EXTERN bool operator!=(ProtocolVersion p) const \{ return ! (*this == p); }*
> | ^
> /home/faycal/Projects/qpid-cpp-1.39.0/src/qpid/framing/ProtocolVersion.h:53:41: note: because ‘qpid::framing::ProtocolVersion’ has user-provided ‘qpid::framing::ProtocolVersion& qpid::framing::ProtocolVersion::operator=(qpid::framing::ProtocolVersion)’
> 53 | QPID_COMMON_EXTERN ProtocolVersion& operator=(ProtocolVersion p);
> | ^~~~~~~~
> /home/faycal/Projects/qpid-cpp-1.39.0/src/qpid/framing/ProtocolVersion.h:55:56: note: initializing argument 1 of ‘bool qpid::framing::ProtocolVersion::operator==(qpid::framing::ProtocolVersion) const’
> 55 | QPID_COMMON_EXTERN bool operator==(ProtocolVersion p) const;
> | ~~~~~~~~~~~~~~~~^
> In file included from /usr/local/include/boost/smart_ptr/detail/sp_thread_sleep.hpp:22,
> from /usr/local/include/boost/smart_ptr/detail/yield_k.hpp:23,
> from /usr/local/include/boost/smart_ptr/detail/spinlock_gcc_atomic.hpp:14,
> from /usr/local/include/boost/smart_ptr/detail/spinlock.hpp:42,
> from /usr/local/include/boost/smart_ptr/detail/spinlock_pool.hpp:25,
> from /usr/local/include/boost/smart_ptr/shared_ptr.hpp:29,
> from /usr/local/include/boost/shared_ptr.hpp:17,
> from /home/faycal/Projects/qpid-cpp-1.39.0/src/qpid/framing/AMQMethodBody.h:29,
> from /home/faycal/Projects/qpid-cpp-1.39.0/build/src/qpid/framing/ConnectionStartBody.h:30,
> from /home/faycal/Projects/qpid-cpp-1.39.0/build/src/qpid/framing/all_method_bodies.h:30,
> from /home/faycal/Projects/qpid-cpp-1.39.0/build/src/qpid/framing/MethodBodyDefaultVisitor.cpp:29:
> /usr/local/include/boost/bind.hpp: At global scope:
> /usr/local/include/boost/bind.hpp:36:1: note: #pragma message: The practice of declaring the Bind placeholders (_1, _2, ...) in the global namespace is deprecated. Please use <boost/bind/bind.hpp> + using namespace boost::placeholders, or define BOOST_BIND_GLOBAL_PLACEHOLDERS to retain the current behavior.
> 36 | BOOST_PRAGMA_MESSAGE(
> | ^~~~~~~~~~~~~~~~~~~~
> In file included from /home/faycal/Projects/qpid-cpp-1.39.0/src/qpid/RangeSet.h:25,
> from /home/faycal/Projects/qpid-cpp-1.39.0/src/qpid/framing/SequenceSet.h:25,
> from /home/faycal/Projects/qpid-cpp-1.39.0/src/qpid/framing/amqp_types_full.h:35,
> from _/home/faycal/Projects/qpid-cpp-1.39.0/build/src/_../include/qpid/framing/Header.h:32,
> from _/home/faycal/Projects/qpid-cpp-1.39.0/build/src/_../include/qpid/framing/amqp_structs.h:30,
> from /home/faycal/Projects/qpid-cpp-1.39.0/build/src/qpid/framing/AMQP_ServerOperations.h:32,
> from /home/faycal/Projects/qpid-cpp-1.39.0/build/src/qpid/framing/ConnectionStartBody.h:31,
> from /home/faycal/Projects/qpid-cpp-1.39.0/build/src/qpid/framing/all_method_bodies.h:30,
> from /home/faycal/Projects/qpid-cpp-1.39.0/build/src/qpid/framing/MethodBodyDefaultVisitor.cpp:29:
> /home/faycal/Projects/qpid-cpp-1.39.0/src/qpid/InlineVector.h: In instantiation of ‘qpid::InlineVector<T, Max, Alloc>::InlineVector(const qpid::InlineVector<T, Max, Alloc>&) [with T = qpid::Range<qpid::framing::SequenceNumber>; long unsigned int Max = 3; Alloc = std::allocator<qpid::Range<qpid::framing::SequenceNumber> >]’:
> /home/faycal/Projects/qpid-cpp-1.39.0/src/qpid/RangeSet.h:98:7: required from here
> /home/faycal/Projects/qpid-cpp-1.39.0/src/qpid/InlineVector.h:62:15: *{color:#FF0000}error{color}*: *implicitly-declared ‘qpid::InlineVector<qpid::Range<qpid::framing::SequenceNumber>, 3, std::allocator<qpid::Range<qpid::framing::SequenceNumber> > >& qpid::InlineVector<qpid::Range<qpid::framing::SequenceNumber>, 3, std::allocator<qpid::Range<qpid::framing::SequenceNumber> > >::operator=(const qpid::InlineVector<qpid::Range<qpid::framing::SequenceNumber>, 3, std::allocator<qpid::Range<qpid::framing::SequenceNumber> > >&)’ is deprecated [-Werror=deprecated-copy]*
> *62 | *this = x;*
> *| ~~~~~~^~~*
> /home/faycal/Projects/qpid-cpp-1.39.0/src/qpid/InlineVector.h:60:5: note: because ‘qpid::InlineVector<qpid::Range<qpid::framing::SequenceNumber>, 3, std::allocator<qpid::Range<qpid::framing::SequenceNumber> > >’ has user-provided ‘qpid::InlineVector<T, Max, Alloc>::InlineVector(const qpid::InlineVector<T, Max, Alloc>&) [with T = qpid::Range<qpid::framing::SequenceNumber>; long unsigned int Max = 3; Alloc = std::allocator<qpid::Range<qpid::framing::SequenceNumber> >]’
> 60 | InlineVector(const InlineVector& x) : Base() {
> | ^~~~~~~~~~~~
> cc1plus: all warnings being treated as errors
> make[2]: *** [src/CMakeFiles/qpidcommon.dir/build.make:63: src/CMakeFiles/qpidcommon.dir/qpid/framing/MethodBodyDefaultVisitor.cpp.o] Error 1
> make[1]: *** [CMakeFiles/Makefile2:1457: src/CMakeFiles/qpidcommon.dir/all] Error 2
> make: *** [Makefile:163: all] Error 2
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org