Bug #447

Factory.cpp compilation fails on MacOS Snow Leopard

Added by S. Wrede almost 13 years ago. Updated almost 13 years ago.

Status:ResolvedStart date:07/26/2011
Priority:NormalDue date:
Assignee:S. Wrede% Done:

100%

Category:C++
Target version:0.4

Description

Error message:

[  7%] Building CXX object src/CMakeFiles/RSBCore.dir/rsb/Exception.cpp.o
[  8%] Building CXX object src/CMakeFiles/RSBCore.dir/rsb/Factory.cpp.o
In file included from /Users/swrede/Workspace/RSB/src/rsb/Factory.cpp:20:
/Users/swrede/Workspace/RSB/src/rsb/Factory.h: In member function ‘std::vector<typename Factory::InterfaceType::Ptr, std::allocator<typename Factory::InterfaceType::Ptr> > rsb::Factory::createConnectors(const rsb::ParticipantConfig&)’:
/Users/swrede/Workspace/RSB/src/rsb/Factory.h:180: error: ‘class rsb::Factory::InterfaceType’ has not been declared
/Users/swrede/Workspace/RSB/src/rsb/Factory.h:180: error: invalid type in declaration before ‘;’ token
/Users/swrede/Workspace/RSB/src/rsb/Factory.h:210: error: ‘class rsb::Factory’ has no member named ‘createInst’

Associated revisions

Revision 85d531e0
Added by J. Moringen almost 13 years ago

Split Factory::createConnectors into 3 methods in src/rsb/Factory.{h,cpp}
refs #424 (should speed up compilation)
refs #447 (may fix the issue)
  • src/rsb/Factory.{h,cpp}: split template method
    Factory::createConnectors into non-template methods
    Factory::createInPullConnectors, Factory::createInPushConnectors and
    Factory::createOutConnectors; changed
    create{Listener,Reader,Informer} accordingly; moved includes and
    pairsToMap to Factory.cpp

History

#1 Updated by J. Moringen almost 13 years ago

The template method rsb::Factory::createConnectors has been added to avoid writing the same method three time. However, considering the amount of problems it causes, such as

  • increased compilation time due to Boost.TypeTraits and Boost.MPL dependencies
  • this issue
  • build failure on Windows

maybe we should just write the same method three times.

#2 Updated by J. Moringen almost 13 years ago

  • Status changed from New to Feedback

#3 Updated by S. Wrede almost 13 years ago

  • Status changed from Feedback to Resolved
  • Target version changed from rsb-0.10 to 0.4
  • % Done changed from 0 to 100

Great. This fixed it. Compilation against RSC and Boost 1.46 as well as protobuf installed via MacPorts and spread-4.1 installed manually works fine. The tests run correctly such that I assume RSB now works on MacOS.

Also available in: Atom PDF