Uploaded image for project: 'Qpid'
  1. Qpid
  2. QPID-6135

build failure in qpid-cpp-0.30/src/tests/txshift.cpp

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.30
    • 0.31
    • C++ Broker
    • None
    • Linux Fedora 21 on s390 (32-bit)

    Description

      build fails with
      ...
      CMakeFiles/txshift.dir/txshift.cpp.o: In function `boost::program_options::value_semantic* qpid::optValue<unsigned long>(unsigned long&, char const*)':
      /builddir/build/BUILD/qpid-cpp-0.30/src/qpid/Options.h:77: undefined reference to `boost::program_options::value_semantic* qpid::create_value<unsigned long>(unsigned long&, std::string const&)'
      collect2: error: ld returned 1 exit status

      for a full please see build.log at http://s390.koji.fedoraproject.org/koji/taskinfo?taskID=1579517

      The reason is that the workers atribute is declared as size_t and size_t is defined as unsigned long (as opposed to the usual unsigned int) and there is no instance of qpid::optValue() for size_t/unsigned long. The solution would be to add

      template QPID_COMMON_EXTERN po::value_semantic* create_value(size_t& val, const std::string& arg);
      in src/qpid/Options.cpp, but I think it would conflict with existing create_value() functions, at least I recolled such problems from other projects.

      The workaround is to declare workers as uint in txshift.cpp.

      Attachments

        Activity

          People

            mcpierce Darryl Pierce
            sharkcz Dan Horák
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: