Qpid
  1. Qpid
  2. QPID-4722

qpid-cpp-0.22-rc1 doesnt compile on RHEL6

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 0.22
    • Fix Version/s: 0.22
    • Component/s: C++ Broker
    • Labels:
      None
    • Environment:

      RHEL6

      Description

      Freshly installed RHEL6.3 VM

      Compile (with automake) of http://people.apache.org/~jross/qpid-0.22-rc1/qpid-cpp-0.22-rc1.tar.gz fails unless -Werror is removed:

      make[3]: Entering directory `/home/jimmy/Downloads/qpidc-0.22/src'
      /bin/sh ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../include -I../include -I. -I=. -Werror -pedantic -Wall -Wextra -Wno-shadow -Wpointer-arith -Wcast-qual -Wcast-align -Wno-long-long -Wvolatile-register-var -Winvalid-pch -Wno-system-headers -Woverloaded-virtual -D_IN_QPID_BROKER -g -O2 -MT qpid/sys/libqpidbroker_la-SocketTransport.lo -MD -MP -MF qpid/sys/.deps/libqpidbroker_la-SocketTransport.Tpo -c -o qpid/sys/libqpidbroker_la-SocketTransport.lo `test -f 'qpid/sys/SocketTransport.cpp' || echo './'`qpid/sys/SocketTransport.cpp
      libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../include -I../include -I. -I=. -Werror -pedantic -Wall -Wextra -Wno-shadow -Wpointer-arith -Wcast-qual -Wcast-align -Wno-long-long -Wvolatile-register-var -Winvalid-pch -Wno-system-headers -Woverloaded-virtual -D_IN_QPID_BROKER -g -O2 -MT qpid/sys/libqpidbroker_la-SocketTransport.lo -MD -MP -MF qpid/sys/.deps/libqpidbroker_la-SocketTransport.Tpo -c qpid/sys/SocketTransport.cpp -fPIC -DPIC -o qpid/sys/.libs/libqpidbroker_la-SocketTransport.o
      cc1plus: warnings being treated as errors
      qpid/sys/SocketTransport.cpp: In constructor 'qpid::sys::SocketAcceptor::SocketAcceptor(bool, bool, uint32_t, qpid::sys::Timer&)':
      qpid/sys/SocketTransport.cpp:209: error: 'a2' is used uninitialized in this function
      /usr/include/boost/bind/bind_cc.hpp:72: note: 'a2' was declared here
      qpid/sys/SocketTransport.cpp:209: error: 'a2' is used uninitialized in this function
      /usr/include/boost/bind/bind.hpp:482: note: 'a2' was declared here
      qpid/sys/SocketTransport.cpp:209: error: 'a2' is used uninitialized in this function
      /usr/include/boost/bind/storage.hpp:244: note: 'a2' was declared here
      qpid/sys/SocketTransport.cpp:209: error: 'a2' is used uninitialized in this function
      /usr/include/boost/bind/storage.hpp:195: note: 'a2' was declared here
      qpid/sys/SocketTransport.cpp:209: error: 'a2' is used uninitialized in this function
      /usr/include/boost/bind/storage.hpp:129: note: 'a2' was declared here
      qpid/sys/SocketTransport.cpp:209: error: 'f' is used uninitialized in this function
      qpid/sys/SocketTransport.cpp:114: note: 'f' was declared here
      qpid/sys/SocketTransport.cpp:209: error: 'f' is used uninitialized in this function
      /usr/include/boost/function/function_template.hpp:722: note: 'f' was declared here
      qpid/sys/SocketTransport.cpp:209: error: 'f' is used uninitialized in this function
      /usr/include/boost/function/function_template.hpp:915: note: 'f' was declared here
      qpid/sys/SocketTransport.cpp:209: error: 'f' may be used uninitialized in this function
      /usr/include/boost/function/function_template.hpp:602: note: 'f' was declared here
      In file included from /usr/include/boost/bind/bind.hpp:1538,
      from /usr/include/boost/bind.hpp:22,
      from qpid/sys/SocketTransport.cpp:32:
      qpid/sys/SocketTransport.cpp: In function 'boost::_bi::bind_t<R, R (B1, B2, B3, B4, B5, B6), typename boost::_bi::list_av_6<A1, A2, A3, A4, A5, A6>::type> boost::bind(R (B1, B2, B3, B4, B5, B6), A1, A2, A3, A4, A5, A6) [with R = void, B1 = boost::shared_ptr<qpid::sys::Poller>, B2 = const qpid::sys::SocketTransportOptions&, B3 = qpid::sys::Timer*, B4 = const qpid::sys::Socket&, B5 = qpid::sys::ConnectionCodec::Factory*, B6 = const std::string&, A1 = boost::shared_ptr<qpid::sys::Poller>, A2 = qpid::sys::SocketTransportOptions, A3 = qpid::sys::Timer*, A4 = boost::arg<1>, A5 = qpid::sys::ConnectionCodec::Factory*, A6 = std::basic_string<char, std::char_traits<char>, std::allocator<char> >]':
      qpid/sys/SocketTransport.cpp:209: error: 'a2' is used uninitialized in this function
      /usr/include/boost/bind/bind_cc.hpp:83: note: 'a2' was declared here
      qpid/sys/SocketTransport.cpp:209: error: 'a2' may be used uninitialized in this function
      /usr/include/boost/bind/bind.hpp:551: note: 'a2' was declared here
      qpid/sys/SocketTransport.cpp:209: error: 'a2' may be used uninitialized in this function
      /usr/include/boost/bind/storage.hpp:276: note: 'a2' was declared here
      qpid/sys/SocketTransport.cpp:209: error: 'a2' may be used uninitialized in this function
      /usr/include/boost/bind/storage.hpp:227: note: 'a2' was declared here
      qpid/sys/SocketTransport.cpp:209: error: 'a2' may be used uninitialized in this function
      /usr/include/boost/bind/storage.hpp:195: note: 'a2' was declared here
      qpid/sys/SocketTransport.cpp:209: error: 'a2' may be used uninitialized in this function
      /usr/include/boost/bind/storage.hpp:129: note: 'a2' was declared here
      make[3]: *** [qpid/sys/libqpidbroker_la-SocketTransport.lo] Error 1
      make[3]: Leaving directory `/home/jimmy/Downloads/qpidc-0.22/src'

        Issue Links

          Activity

          Hide
          Fraser Adams added a comment -

          Have you tried to compile using cmake?

          I ask because you've probably seen that the automake build method is in the process of being deprecated.

          To be fair the automake build should work in 0.22 so if it doesn't then there's an issue, but it'd be good if you could also try with cmake to see how far you get with that.

          It's important to get any cmake gremlins ironed out ASAP so the more people trying out cmake builds the better.

          Show
          Fraser Adams added a comment - Have you tried to compile using cmake? I ask because you've probably seen that the automake build method is in the process of being deprecated. To be fair the automake build should work in 0.22 so if it doesn't then there's an issue, but it'd be good if you could also try with cmake to see how far you get with that. It's important to get any cmake gremlins ironed out ASAP so the more people trying out cmake builds the better.
          Hide
          Jimmy Jones added a comment -

          Hi Fraser! See QPID-4724 for my failed cmake build

          Show
          Jimmy Jones added a comment - Hi Fraser! See QPID-4724 for my failed cmake build

            People

            • Assignee:
              Unassigned
              Reporter:
              Jimmy Jones
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development