Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Windows/Conda and macOS/Homebrew build failed on Stable and Unstable branches #693

Closed
traversaro opened this issue Apr 22, 2021 · 4 comments

Comments

@traversaro
Copy link
Member

It seems that the changes in robotology/icub-basic-demos#32 broke the compilation on:

  • Windows/Conda
  • macOS/Homebrew

Probably this is due to some Gazebo/problem bug, as instead the compilation (with Gazebo enabled) of Windows/vcpkg and macOS/Conda is working fine. Also, the CMake in gazebo-yarp-plugins seems to be working fine instead on those platforms, see https://github.com/robotology/gazebo-yarp-plugins/blob/40ef333672b9cc85cdf50255d229b6bb462237cb/CMakeLists.txt#L49 and https://github.com/robotology/gazebo-yarp-plugins/blob/40ef333672b9cc85cdf50255d229b6bb462237cb/plugins/controlboard/CMakeLists.txt#L42 .

@traversaro
Copy link
Member Author

Example failure (see https://github.com/robotology/robotology-superbuild/actions/runs/772709209):

Windows/Conda

fatal error LNK1181: cannot open input file 'OgreBites.lib

2021-04-22T03:45:33.6354634Z C:\Miniconda\envs\test\Library\include\gazebo-11\gazebo/physics/Link.hh(691,52): warning C4251: 'gazebo::physics::Link::dataPtr': class 'std::unique_ptr<gazebo::physics::LinkPrivate,std::default_delete<gazebo::physics::LinkPrivate>>' needs to have dll-interface to be used by clients of class 'gazebo::physics::Link' [D:\a\robotology-superbuild\robotology-superbuild\build\src\icub-basic-demos\demoRedBall\demoRedBall-world.vcxproj] [D:\a\robotology-superbuild\robotology-superbuild\build\icub-basic-demos.vcxproj]
2021-04-22T03:45:33.6358949Z   C:\Miniconda\envs\test\Library\include\gazebo-11\gazebo/physics/Link.hh(691): message : see declaration of 'std::unique_ptr<gazebo::physics::LinkPrivate,std::default_delete<gazebo::physics::LinkPrivate>>' [D:\a\robotology-superbuild\robotology-superbuild\build\src\icub-basic-demos\demoRedBall\demoRedBall-world.vcxproj]
2021-04-22T03:45:33.6372625Z   C:\Miniconda\envs\test\Library\include\boost/bind.hpp(41): message : The practice of declaring the Bind placeholders (_1, _2, ...) in the global namespace is deprecated. Please use <boost/bind/bind.hpp> + using namespace boost::placeholders, or define BOOST_BIND_GLOBAL_PLACEHOLDERS to retain the current behavior. [D:\a\robotology-superbuild\robotology-superbuild\build\src\icub-basic-demos\demoRedBall\demoRedBall-world.vcxproj]
2021-04-22T03:45:37.3270206Z LINK : fatal error LNK1181: cannot open input file 'OgreBites.lib' [D:\a\robotology-superbuild\robotology-superbuild\build\src\icub-basic-demos\demoRedBall\demoRedBall-world.vcxproj] [D:\a\robotology-superbuild\robotology-superbuild\build\icub-basic-demos.vcxproj]
2021-04-22T03:45:37.4146747Z     Building Custom Rule D:/a/robotology-superbuild/robotology-superbuild/src/icub-basic-demos/demoYoga/CMakeLists.txt

macOS/Homebrew

2021-04-22T03:24:34.0531940Z ld: library not found for -lBulletSoftBody

2021-04-22T03:24:34.0092220Z [25/28] Building CXX object demoRedBall/CMakeFiles/demoRedBall-world.dir/src/world.cpp.o
2021-04-22T03:24:34.0194920Z [26/28] Linking CXX shared library lib/libdemoRedBall-world.dylib
2021-04-22T03:24:34.0297450Z FAILED: lib/libdemoRedBall-world.dylib 
2021-04-22T03:24:34.0416000Z : && /Applications/Xcode_12.4.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -O3 -DNDEBUG -isysroot /Applications/Xcode_12.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk -mmacosx-version-min=10.15 -dynamiclib -Wl,-headerpad_max_install_names  -o lib/libdemoRedBall-world.dylib -install_name @rpath/libdemoRedBall-world.dylib demoRedBall/CMakeFiles/demoRedBall-world.dir/src/world.cpp.o  -Wl,-rpath,/usr/local/lib -Wl,-rpath,/Users/runner/work/robotology-superbuild/robotology-superbuild/build/install/lib  -lBulletSoftBody  -lBulletDynamics  -lBulletCollision  -lLinearMath  /usr/local/lib/libSimTKsimbody.3.7.dylib  /usr/local/lib/libdart.6.9.5.dylib  /usr/local/lib/libgazebo.dylib  /usr/local/lib/libgazebo_client.dylib  /usr/local/lib/libgazebo_gui.dylib  /usr/local/lib/libgazebo_sensors.dylib  /usr/local/lib/libgazebo_rendering.dylib  /usr/local/lib/libgazebo_physics.dylib  /usr/local/lib/libgazebo_ode.dylib  /usr/local/lib/libgazebo_transport.dylib  /usr/local/lib/libgazebo_msgs.dylib  /usr/local/lib/libgazebo_util.dylib  /usr/local/lib/libgazebo_common.dylib  /usr/local/lib/libgazebo_gimpact.dylib  /usr/local/lib/libgazebo_opcode.dylib  /usr/local/lib/libgazebo_opende_ou.dylib  /usr/local/lib/libboost_system-mt.dylib  /usr/local/lib/libboost_filesystem-mt.dylib  /usr/local/lib/libboost_program_options-mt.dylib  /usr/local/lib/libboost_regex-mt.dylib  /usr/local/lib/libboost_iostreams-mt.dylib  /usr/local/lib/libprotobuf.dylib  /usr/local/lib/libsdformat9.9.5.0.dylib  /usr/local/Cellar/ogre1.9/1.9-20160714-108ab0bcc69603dba32c0ffd4bbbc39051f421c9_9/lib/libOgreMain.dylib  /usr/local/lib/libboost_thread-mt.dylib  /usr/local/lib/libboost_date_time-mt.dylib  /usr/local/Cellar/ogre1.9/1.9-20160714-108ab0bcc69603dba32c0ffd4bbbc39051f421c9_9/lib/libOgreTerrain.dylib  /usr/local/Cellar/ogre1.9/1.9-20160714-108ab0bcc69603dba32c0ffd4bbbc39051f421c9_9/lib/libOgrePaging.dylib  /usr/local/lib/libignition-common3-graphics.3.12.0.dylib  /Users/runner/work/robotology-superbuild/robotology-superbuild/build/install/lib/libYARP_init.3.4.3.dylib  /Users/runner/work/robotology-superbuild/robotology-superbuild/build/install/lib/libYARP_dev.3.4.3.dylib  /Users/runner/work/robotology-superbuild/robotology-superbuild/build/install/lib/libYARP_math.3.4.3.dylib  /usr/local/lib/libSimTKmath.3.7.dylib  /usr/local/lib/libSimTKcommon.3.7.dylib  -framework  Accelerate  -ldl  -lm  /usr/local/lib/libdart-external-odelcpsolver.6.9.5.dylib  /usr/local/lib/libccd.2.0.dylib  /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib/libm.tbd  /usr/local/Cellar/fcl/0.6.1/lib/libfcl.dylib  -lassimp.5  /usr/local/lib/liboctomap.1.9.6.dylib  /usr/local/lib/liboctomath.1.9.6.dylib  /usr/local/lib/libignition-transport8.8.2.0.dylib  /usr/local/lib/libignition-fuel_tools4.4.3.0.dylib  /usr/local/lib/libignition-msgs5.5.7.0.dylib  /usr/local/lib/libignition-math6.6.8.0.dylib  /usr/local/lib/libprotobuf.dylib  /usr/local/lib/libignition-common3.3.12.0.dylib  -lpthread  /Users/runner/work/robotology-superbuild/robotology-superbuild/build/install/lib/libYARP_sig.3.4.3.dylib  /Users/runner/work/robotology-superbuild/robotology-superbuild/build/install/lib/libYARP_os.3.4.3.dylib && :
2021-04-22T03:24:34.0531940Z ld: library not found for -lBulletSoftBody
2021-04-22T03:24:34.0634630Z clang: error: linker command failed with exit code 1 (use -v to see invocation)
2021-04-22T03:24:34.0721020Z [27/28] Building CXX object pf3dTracker/CMakeFiles/pf3dTracker.dir/src/pf3dTracker.cpp.o

@traversaro
Copy link
Member Author

I double checked, and indeed the library is built correctly on Windows/vcpkg and macOS/conda, it is not skipped or anything similar.

@traversaro
Copy link
Member Author

Given that in both cases the failure is due to a library not found, it is possible that the problem is a missing link_directories(${GAZEBO_LIBRARY_DIRS}) (see http://gazebosim.org/tutorials/?tut=plugins_hello_world).

@traversaro
Copy link
Member Author

Fixed by robotology/icub-basic-demos#33, see recent CI runs (see https://github.com/robotology/robotology-superbuild/actions/runs/779577429). The macOS/Conda failures are unrelated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant