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

          Jimmy Jones created issue -
          Jimmy Jones made changes -
          Field Original Value New Value
          Component/s C++ Broker [ 12311395 ]
          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
          Jimmy Jones made changes -
          Link This issue duplicates QPID-4734 [ QPID-4734 ]
          Jimmy Jones made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Fix Version/s 0.22 [ 12324272 ]
          Resolution Fixed [ 1 ]
          Justin Ross made changes -
          Status Resolved [ 5 ] Closed [ 6 ]
          Transition Time In Source Status Execution Times Last Executer Last Execution Date
          Open Open Resolved Resolved
          4d 10h 50m 1 Jimmy Jones 10/Apr/13 21:06
          Resolved Resolved Closed Closed
          109d 22h 47m 1 Justin Ross 29/Jul/13 19:54

            People

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

              Dates

              • Created:
                Updated:
                Resolved:

                Development