Faycal El Karaa created PROTON-2316:
---------------------------------------

             Summary: 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
             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: 
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



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to