plasmodic/ecto

Unable to build on OS X Yosemite 10.10 (Error building plasm_loader)

uclatommy opened this issue · 2 comments

Here's my cmake output:

Hyperion:build tkchen$ cmake ..
-- The C compiler identification is AppleClang 6.1.0.6020053
-- The CXX compiler identification is AppleClang 6.1.0.6020053
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Using CATKIN_DEVEL_PREFIX: /Users/tkchen/ecto_kitchen/ecto/build/devel
-- Using CMAKE_PREFIX_PATH: /Users/tkchen/ros_catkin_ws/install_isolated
-- This workspace overlays: /Users/tkchen/ros_catkin_ws/install_isolated
-- Found PythonInterp: /Library/Frameworks/Python.framework/Versions/2.7/bin/python (found version "2.7.10") 
-- Using PYTHON_EXECUTABLE: /Library/Frameworks/Python.framework/Versions/2.7/bin/python
-- Using default Python package layout
-- Found PY_em: /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/em.pyc  
-- Using empy: /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/em.pyc
-- Using CATKIN_ENABLE_TESTING: ON
-- Call enable_testing()
-- Using CATKIN_TEST_RESULTS_DIR: /Users/tkchen/ecto_kitchen/ecto/build/test_results
-- Found gtest: gtests will be built
-- Using Python nosetests: /Library/Frameworks/Python.framework/Versions/2.7/bin/nosetests-2.7
-- catkin 0.6.14
-- Boost version: 1.58.0
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - found
-- Found Threads: TRUE  
-- Found PythonLibs: /usr/lib/libpython2.7.dylib (found version "2.7.10") 
-- Boost version: 1.58.0
-- Found the following Boost libraries:
--   date_time
--   python
--   regex
--   serialization
--   system
--   thread
-- Boost version 1.58.0
-- ECTO_EXCEPTION_SHARED_POINTERS_ARE_CONST: FALSE
-- ECTO_EXCEPTION_DIAGNOSTIC_IMPL_TAKES_CHARSTAR: TRUE
-- ECTO_EXCEPTION_RELEASE_RETURNS_VOID: FALSE
-- ECTO_EXCEPTION_TAG_TYPE_NAME_RETURNS_STRING: TRUE
-- ECTO_EXCEPTION_TYPE_INFO_NESTED: TRUE
-- ECTO_EXCEPTION_CONTAINER_WITHOUT_CLONE: FALSE
-- Found Git: /usr/local/bin/git (found version "2.4.6") 
-- ecto commit:       e6113f619680a7b51fcb3af149103115349ed271
-- ecto tag (long):   0.6.9
-- ecto tag (short):  0.6.9
-- ecto last_mod:     Fri, 8 May 2015 11:48:46 +0200
-- Configuring done
CMake Warning (dev):
  Policy CMP0042 is not set: MACOSX_RPATH is enabled by default.  Run "cmake
  --help-policy CMP0042" for policy details.  Use the cmake_policy command to
  set the policy and suppress this warning.

  MACOSX_RPATH is not specified for the following targets:

   cells_ectomodule
   ecto
   ecto_X_ectomodule
   ecto_examples_ectomodule
   ecto_lifecycle_ectomodule
   ecto_main_ectomodule
   ecto_overview_ectomodule
   ecto_test_ectomodule
   hello_ecto_ectomodule
   tutorial_ectomodule

This warning is for project developers.  Use -Wno-dev to suppress it.

-- Generating done
-- Build files have been written to: /Users/tkchen/ecto_kitchen/ecto/build

Here's the make output:

Hyperion:build tkchen$ make
Scanning dependencies of target ecto
[  1%] Building CXX object src/lib/CMakeFiles/ecto.dir/abi.cpp.o
[  1%] Building CXX object src/lib/CMakeFiles/ecto.dir/cell.cpp.o
/Users/tkchen/ecto_kitchen/ecto/src/lib/cell.cpp:266:3: warning: control reaches
      end of non-void function [-Wreturn-type]
  }
  ^
1 warning generated.
[  2%] Building CXX object src/lib/CMakeFiles/ecto.dir/edge.cpp.o
[  3%] Building CXX object src/lib/CMakeFiles/ecto.dir/tendril.cpp.o
[  4%] Building CXX object src/lib/CMakeFiles/ecto.dir/tendrils.cpp.o
[  5%] Building CXX object src/lib/CMakeFiles/ecto.dir/plasm.cpp.o
[  6%] Building CXX object src/lib/CMakeFiles/ecto.dir/plasm/impl.cpp.o
[  7%] Building CXX object src/lib/CMakeFiles/ecto.dir/util.cpp.o
[  8%] Building CXX object src/lib/CMakeFiles/ecto.dir/log.cpp.o
[ 10%] Building CXX object src/lib/CMakeFiles/ecto.dir/except.cpp.o
[ 11%] Building CXX object src/lib/CMakeFiles/ecto.dir/parameters.cpp.o
[ 12%] Building CXX object src/lib/CMakeFiles/ecto.dir/profile.cpp.o
[ 13%] Building CXX object src/lib/CMakeFiles/ecto.dir/python.cpp.o
[ 13%] Building CXX object src/lib/CMakeFiles/ecto.dir/registry.cpp.o
[ 14%] Building CXX object src/lib/CMakeFiles/ecto.dir/rethrow.cpp.o
[ 15%] Building CXX object src/lib/CMakeFiles/ecto.dir/serialization.cpp.o
[ 16%] Building CXX object src/lib/CMakeFiles/ecto.dir/scheduler.cpp.o
[ 17%] Building CXX object src/lib/CMakeFiles/ecto.dir/graph/utilities.cpp.o
/Users/tkchen/ecto_kitchen/ecto/src/lib/graph/utilities.cpp:167:9: warning: 
      expression result unused [-Wunused-value]
    for(iter; iter != names.end(); ++iter) {
        ^~~~
1 warning generated.
[ 19%] Building CXX object src/lib/CMakeFiles/ecto.dir/strand.cpp.o
[ 20%] Building CXX object src/lib/CMakeFiles/ecto.dir/test.cpp.o
[ 21%] Building CXX object src/lib/CMakeFiles/ecto.dir/time.cpp.o
Linking CXX shared library ../../devel/lib/libecto.dylib
[ 21%] Built target ecto
Scanning dependencies of target ecto_main_ectomodule
[ 22%] Building CXX object src/pybindings/CMakeFiles/ecto_main_ectomodule.dir/cell.cpp.o
[ 23%] Building CXX object src/pybindings/CMakeFiles/ecto_main_ectomodule.dir/cells/BlackBox.cpp.o
[ 24%] Building CXX object src/pybindings/CMakeFiles/ecto_main_ectomodule.dir/cells/ether.cpp.o
[ 25%] Building CXX object src/pybindings/CMakeFiles/ecto_main_ectomodule.dir/ecto.cpp.o
[ 26%] Building CXX object src/pybindings/CMakeFiles/ecto_main_ectomodule.dir/except.cpp.o
[ 28%] Building CXX object src/pybindings/CMakeFiles/ecto_main_ectomodule.dir/plasm.cpp.o
[ 29%] Building CXX object src/pybindings/CMakeFiles/ecto_main_ectomodule.dir/parameters.cpp.o
[ 30%] Building CXX object src/pybindings/CMakeFiles/ecto_main_ectomodule.dir/ptime.cpp.o
[ 31%] Building CXX object src/pybindings/CMakeFiles/ecto_main_ectomodule.dir/registry.cpp.o
[ 31%] Building CXX object src/pybindings/CMakeFiles/ecto_main_ectomodule.dir/schedulers.cpp.o
[ 32%] Building CXX object src/pybindings/CMakeFiles/ecto_main_ectomodule.dir/strand.cpp.o
[ 33%] Building CXX object src/pybindings/CMakeFiles/ecto_main_ectomodule.dir/streambuf.cpp.o
[ 34%] Building CXX object src/pybindings/CMakeFiles/ecto_main_ectomodule.dir/tendril.cpp.o
[ 35%] Building CXX object src/pybindings/CMakeFiles/ecto_main_ectomodule.dir/tendrils.cpp.o
Linking CXX shared library ../../devel/lib/python2.7/site-packages/ecto/ecto_main.so
[ 35%] Built target ecto_main_ectomodule
Scanning dependencies of target cells_ectomodule
[ 35%] Building CXX object src/pybindings/cells/CMakeFiles/cells_ectomodule.dir/And.cpp.o
[ 37%] Building CXX object src/pybindings/cells/CMakeFiles/cells_ectomodule.dir/Constant.cpp.o
[ 38%] Building CXX object src/pybindings/cells/CMakeFiles/cells_ectomodule.dir/Counter.cpp.o
[ 39%] Building CXX object src/pybindings/cells/CMakeFiles/cells_ectomodule.dir/Dealer.cpp.o
[ 40%] Building CXX object src/pybindings/cells/CMakeFiles/cells_ectomodule.dir/If.cpp.o
[ 41%] Building CXX object src/pybindings/cells/CMakeFiles/cells_ectomodule.dir/module.cpp.o
[ 42%] Building CXX object src/pybindings/cells/CMakeFiles/cells_ectomodule.dir/Passthrough.cpp.o
[ 43%] Building CXX object src/pybindings/cells/CMakeFiles/cells_ectomodule.dir/PassthroughN.cpp.o
[ 44%] Building CXX object src/pybindings/cells/CMakeFiles/cells_ectomodule.dir/PassthroughTendrils.cpp.o
[ 46%] Building CXX object src/pybindings/cells/CMakeFiles/cells_ectomodule.dir/tendril_mux.cpp.o
[ 47%] Building CXX object src/pybindings/cells/CMakeFiles/cells_ectomodule.dir/TrueEveryN.cpp.o
Linking CXX shared library ../../../devel/lib/python2.7/site-packages/ecto/cells.so
[ 47%] Built target cells_ectomodule
Scanning dependencies of target ecto_examples_ectomodule
[ 48%] Building CXX object doc/doc_errata/src/CMakeFiles/ecto_examples_ectomodule.dir/module.cpp.o
[ 49%] Building CXX object doc/doc_errata/src/CMakeFiles/ecto_examples_ectomodule.dir/Example01.cpp.o
[ 49%] Building CXX object doc/doc_errata/src/CMakeFiles/ecto_examples_ectomodule.dir/EnumAsInt.cpp.o
[ 50%] Building CXX object doc/doc_errata/src/CMakeFiles/ecto_examples_ectomodule.dir/EnumAsEnum.cpp.o
Linking CXX shared library ../../../devel/lib/python2.7/site-packages/ecto/ecto_examples.so
[ 50%] Built target ecto_examples_ectomodule
Scanning dependencies of target ecto_overview_ectomodule
[ 51%] Building CXX object doc/doc_errata/overview/CMakeFiles/ecto_overview_ectomodule.dir/module.cpp.o
[ 52%] Building CXX object doc/doc_errata/overview/CMakeFiles/ecto_overview_ectomodule.dir/cell.cpp.o
[ 53%] Building CXX object doc/doc_errata/overview/CMakeFiles/ecto_overview_ectomodule.dir/nop.cpp.o
[ 55%] Building CXX object doc/doc_errata/overview/CMakeFiles/ecto_overview_ectomodule.dir/interface.cpp.o
Linking CXX shared library ../../../devel/lib/python2.7/site-packages/ecto/ecto_overview.so
[ 55%] Built target ecto_overview_ectomodule
Scanning dependencies of target ecto_lifecycle_ectomodule
[ 56%] Building CXX object doc/doc_errata/usage/tutorials/srcs/CMakeFiles/ecto_lifecycle_ectomodule.dir/LifeCycle.cpp.o
Linking CXX shared library ../../../../../devel/lib/python2.7/site-packages/ecto/ecto_lifecycle.so
[ 56%] Built target ecto_lifecycle_ectomodule
Scanning dependencies of target tutorial_ectomodule
[ 57%] Building CXX object doc/doc_errata/usage/tutorials/srcs/CMakeFiles/tutorial_ectomodule.dir/tutorial.cpp.o
[ 58%] Building CXX object doc/doc_errata/usage/tutorials/srcs/CMakeFiles/tutorial_ectomodule.dir/Hello.cpp.o
[ 59%] Building CXX object doc/doc_errata/usage/tutorials/srcs/CMakeFiles/tutorial_ectomodule.dir/Increment.cpp.o
[ 60%] Building CXX object doc/doc_errata/usage/tutorials/srcs/CMakeFiles/tutorial_ectomodule.dir/Add.cpp.o
Linking CXX shared library ../../../../../devel/lib/python2.7/site-packages/ecto/tutorial.so
[ 60%] Built target tutorial_ectomodule
Scanning dependencies of target ecto_test_ectomodule
[ 61%] Building CXX object test/cells/CMakeFiles/ecto_test_ectomodule.dir/Accumulator.cpp.o
[ 62%] Building CXX object test/cells/CMakeFiles/ecto_test_ectomodule.dir/Add.cpp.o
[ 64%] Building CXX object test/cells/CMakeFiles/ecto_test_ectomodule.dir/BpObjectToCellPtr.cpp.o
[ 64%] Building CXX object test/cells/CMakeFiles/ecto_test_ectomodule.dir/CantCallMeFromTwoThreads.cpp.o
[ 65%] Building CXX object test/cells/CMakeFiles/ecto_test_ectomodule.dir/ConfigureCalledOnce.cpp.o
[ 66%] Building CXX object test/cells/CMakeFiles/ecto_test_ectomodule.dir/DontCallMeFromTwoThreads.cpp.o
[ 67%] Building CXX object test/cells/CMakeFiles/ecto_test_ectomodule.dir/DoOverFor.cpp.o
[ 68%] Building CXX object test/cells/CMakeFiles/ecto_test_ectomodule.dir/EmitAndAccept.cpp.o
[ 69%] Building CXX object test/cells/CMakeFiles/ecto_test_ectomodule.dir/ExceptInConstructor.cpp.o
[ 70%] Building CXX object test/cells/CMakeFiles/ecto_test_ectomodule.dir/FileIO.cpp.o
[ 71%] Building CXX object test/cells/CMakeFiles/ecto_test_ectomodule.dir/Multiply.cpp.o
[ 73%] Building CXX object test/cells/CMakeFiles/ecto_test_ectomodule.dir/Quitter.cpp.o
[ 74%] Building CXX object test/cells/CMakeFiles/ecto_test_ectomodule.dir/QuitAfter.cpp.o
[ 75%] Building CXX object test/cells/CMakeFiles/ecto_test_ectomodule.dir/Increment.cpp.o
[ 76%] Building CXX object test/cells/CMakeFiles/ecto_test_ectomodule.dir/LatticeSleep.cpp.o
[ 76%] Building CXX object test/cells/CMakeFiles/ecto_test_ectomodule.dir/Printer.cpp.o
[ 77%] Building CXX object test/cells/CMakeFiles/ecto_test_ectomodule.dir/Ping.cpp.o
[ 78%] Building CXX object test/cells/CMakeFiles/ecto_test_ectomodule.dir/Metrics.cpp.o
[ 79%] Building CXX object test/cells/CMakeFiles/ecto_test_ectomodule.dir/Gather.cpp.o
[ 80%] Building CXX object test/cells/CMakeFiles/ecto_test_ectomodule.dir/Generate.cpp.o
[ 82%] Building CXX object test/cells/CMakeFiles/ecto_test_ectomodule.dir/RequiredInput.cpp.o
[ 83%] Building CXX object test/cells/CMakeFiles/ecto_test_ectomodule.dir/RequiredParam.cpp.o
[ 84%] Building CXX object test/cells/CMakeFiles/ecto_test_ectomodule.dir/RequiredIO.cpp.o
[ 85%] Building CXX object test/cells/CMakeFiles/ecto_test_ectomodule.dir/Passthrough.cpp.o
[ 86%] Building CXX object test/cells/CMakeFiles/ecto_test_ectomodule.dir/ParameterWatcher.cpp.o
[ 87%] Building CXX object test/cells/CMakeFiles/ecto_test_ectomodule.dir/Sleep.cpp.o
[ 88%] Building CXX object test/cells/CMakeFiles/ecto_test_ectomodule.dir/SleepPyObjectAbuser.cpp.o
[ 88%] Building CXX object test/cells/CMakeFiles/ecto_test_ectomodule.dir/StartStopCounter.cpp.o
[ 89%] Building CXX object test/cells/CMakeFiles/ecto_test_ectomodule.dir/Throttle.cpp.o
[ 91%] Building CXX object test/cells/CMakeFiles/ecto_test_ectomodule.dir/ThrowAfter.cpp.o
[ 92%] Building CXX object test/cells/CMakeFiles/ecto_test_ectomodule.dir/Uniform01.cpp.o
[ 93%] Building CXX object test/cells/CMakeFiles/ecto_test_ectomodule.dir/throws_in_handler.cpp.o
[ 94%] Building CXX object test/cells/CMakeFiles/ecto_test_ectomodule.dir/gil_exercise.cpp.o
[ 95%] Building CXX object test/cells/CMakeFiles/ecto_test_ectomodule.dir/ecto_test.cpp.o
Linking CXX shared library ../../devel/lib/python2.7/site-packages/ecto/ecto_test.so
[ 95%] Built target ecto_test_ectomodule
Scanning dependencies of target plasm_loader
[ 96%] Building CXX object test/cpp/CMakeFiles/plasm_loader.dir/plasm_loader.cpp.o
Linking CXX executable ../../devel/lib/ecto/plasm_loader
Undefined symbols for architecture x86_64:
  "void ecto::plasm::load<boost::archive::binary_iarchive>(boost::archive::binary_iarchive&, unsigned int)", referenced from:
      void boost::serialization::access::member_load<boost::archive::binary_iarchive, ecto::plasm>(boost::archive::binary_iarchive&, ecto::plasm&, unsigned int) in plasm_loader.cpp.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [devel/lib/ecto/plasm_loader] Error 1
make[1]: *** [test/cpp/CMakeFiles/plasm_loader.dir/all] Error 2
make: *** [all] Error 2

thx for reporting. I believe I fixed it. Can you please update to trunk and see if that works for you ? Thx.

Success! Thanks.