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

Downstream tbb-related linking problem #121

Closed
traversaro opened this issue Feb 15, 2022 · 2 comments
Closed

Downstream tbb-related linking problem #121

traversaro opened this issue Feb 15, 2022 · 2 comments

Comments

@traversaro
Copy link
Contributor

traversaro commented Feb 15, 2022

In the past days this was hidden by other CI failures, but I noticed in a downstream CI that linking an actual executable fails with (see https://github.com/robotology/gazebo-yarp-plugins/runs/5193937684?check_suite_focus=true):

2022-02-15T03:04:25.8893539Z [112/116] Linking CXX executable bin/ClockTest
2022-02-15T03:04:25.8894227Z FAILED: bin/ClockTest 
2022-02-15T03:04:25.8915444Z : && /usr/share/miniconda/envs/test/bin/x86_64-conda-linux-gnu-c++ -fvisibility-inlines-hidden -std=c++17 -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /usr/share/miniconda/envs/test/include -O3 -DNDEBUG -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,-rpath,/usr/share/miniconda/envs/test/lib -Wl,-rpath-link,/usr/share/miniconda/envs/test/lib -L/usr/share/miniconda/envs/test/lib tests/CMakeFiles/tiny-process-library.dir/__/_deps/tinyprocesslibrary-src/process.cpp.o tests/CMakeFiles/tiny-process-library.dir/__/_deps/tinyprocesslibrary-src/process_unix.cpp.o tests/clock/CMakeFiles/ClockTest.dir/ClockTest.cc.o -o bin/ClockTest -L/usr/share/miniconda/envs/test/lib/gazebo-11/plugins -Wl,-rpath,/usr/share/miniconda/envs/test/lib/gazebo-11/plugins:/home/runner/work/gazebo-yarp-plugins/gazebo-yarp-plugins/build/lib  -lBulletSoftBody  -lBulletDynamics  -lBulletCollision  -lLinearMath  /usr/share/miniconda/envs/test/lib/libgazebo.so  /usr/share/miniconda/envs/test/lib/libgazebo_client.so  /usr/share/miniconda/envs/test/lib/libgazebo_gui.so  /usr/share/miniconda/envs/test/lib/libgazebo_sensors.so  /usr/share/miniconda/envs/test/lib/libgazebo_rendering.so  /usr/share/miniconda/envs/test/lib/libgazebo_physics.so  /usr/share/miniconda/envs/test/lib/libgazebo_ode.so  /usr/share/miniconda/envs/test/lib/libgazebo_transport.so  /usr/share/miniconda/envs/test/lib/libgazebo_msgs.so  /usr/share/miniconda/envs/test/lib/libgazebo_util.so  /usr/share/miniconda/envs/test/lib/libgazebo_common.so  /usr/share/miniconda/envs/test/lib/libgazebo_gimpact.so  /usr/share/miniconda/envs/test/lib/libgazebo_opcode.so  /usr/share/miniconda/envs/test/lib/libgazebo_opende_ou.so  /usr/share/miniconda/envs/test/lib/libprotobuf.so  -lpthread  -lOgreBites  /usr/share/miniconda/envs/test/lib/libSDL2main.a  /usr/share/miniconda/envs/test/lib/libSDL2.so  -lpthread  -lOgreHLMS  -lOgreMeshLodGenerator  -lOgreOverlay  -lOgrePaging  -lOgreProperty  -lOgreRTShaderSystem  -lOgreTerrain  -lOgreVolume  -lOgreMain  -lOgreTerrain  -lOgrePaging  /usr/share/miniconda/envs/test/lib/libgazebo_test_fixture.a  lib/libgyp-gazebo-classic-gtest.a  /usr/share/miniconda/envs/test/lib/libprotobuf.so  -lpthread  lib/libgazebo_yarp_singleton.so  /usr/share/miniconda/envs/test/lib/libYARP_robotinterface.so.3.6.0  -lBulletSoftBody  -lBulletDynamics  -lBulletCollision  -lLinearMath  /usr/share/miniconda/envs/test/lib/libSimTKsimbody.so.3.7  /usr/share/miniconda/envs/test/lib/libdart.so.6.12.1  /usr/share/miniconda/envs/test/lib/libgazebo.so  /usr/share/miniconda/envs/test/lib/libgazebo_client.so  /usr/share/miniconda/envs/test/lib/libgazebo_gui.so  /usr/share/miniconda/envs/test/lib/libgazebo_sensors.so  /usr/share/miniconda/envs/test/lib/libgazebo_rendering.so  /usr/share/miniconda/envs/test/lib/libgazebo_physics.so  /usr/share/miniconda/envs/test/lib/libgazebo_ode.so  /usr/share/miniconda/envs/test/lib/libgazebo_transport.so  /usr/share/miniconda/envs/test/lib/libgazebo_msgs.so  /usr/share/miniconda/envs/test/lib/libgazebo_util.so  /usr/share/miniconda/envs/test/lib/libgazebo_common.so  /usr/share/miniconda/envs/test/lib/libgazebo_gimpact.so  /usr/share/miniconda/envs/test/lib/libgazebo_opcode.so  /usr/share/miniconda/envs/test/lib/libgazebo_opende_ou.so  /usr/share/miniconda/envs/test/lib/libprotobuf.so  -lpthread  /usr/share/miniconda/envs/test/lib/libsdformat9.so.9.3.0  -lOgreBites  /usr/share/miniconda/envs/test/lib/libSDL2main.a  /usr/share/miniconda/envs/test/lib/libSDL2.so  -lpthread  -lOgreHLMS  -lOgreMeshLodGenerator  -lOgreOverlay  -lOgrePaging  -lOgreProperty  -lOgreRTShaderSystem  -lOgreTerrain  -lOgreVolume  -lOgreMain  -lOgreTerrain  -lOgrePaging  /usr/share/miniconda/envs/test/lib/libignition-common3-graphics.so.3.13.2  /usr/share/miniconda/envs/test/lib/libboost_thread.so.1.74.0  /usr/share/miniconda/envs/test/lib/libboost_system.so.1.74.0  /usr/share/miniconda/envs/test/lib/libboost_filesystem.so.1.74.0  /usr/share/miniconda/envs/test/lib/libboost_program_options.so.1.74.0  /usr/share/miniconda/envs/test/lib/libboost_regex.so.1.74.0  /usr/share/miniconda/envs/test/lib/libboost_iostreams.so.1.74.0  /usr/share/miniconda/envs/test/lib/libboost_date_time.so.1.74.0  /usr/share/miniconda/envs/test/lib/libSimTKmath.so.3.7  /usr/share/miniconda/envs/test/lib/libSimTKcommon.so.3.7  /usr/share/miniconda/envs/test/lib/libblas.so  /usr/share/miniconda/envs/test/lib/liblapack.so  -ldl  /usr/share/miniconda/envs/test/lib/libdart-external-odelcpsolver.so.6.12.1  /usr/share/miniconda/envs/test/lib/libccd.so.2.0  -lm  /usr/share/miniconda/envs/test/lib/libfcl.so  /usr/share/miniconda/envs/test/lib/libassimp.so  /usr/share/miniconda/envs/test/lib/liboctomap.so.1.9.7  /usr/share/miniconda/envs/test/lib/liboctomath.so.1.9.7  /usr/share/miniconda/envs/test/lib/libprotobuf.so  -lOgreBites  /usr/share/miniconda/envs/test/lib/libSDL2main.a  /usr/share/miniconda/envs/test/lib/libSDL2.so  -lOgreHLMS  -lOgreMeshLodGenerator  -lOgreOverlay  -lOgreProperty  -lOgreRTShaderSystem  -lOgreVolume  -lOgreMain  /usr/share/miniconda/envs/test/lib/libignition-transport8.so.8.1.0  /usr/share/miniconda/envs/test/lib/libignition-fuel_tools4.so.4.4.0  /usr/share/miniconda/envs/test/lib/libignition-msgs5.so.5.7.0  /usr/share/miniconda/envs/test/lib/libignition-math6.so.6.10.0  /usr/share/miniconda/envs/test/lib/libprotobuf.so  /usr/share/miniconda/envs/test/lib/libignition-common3.so.3.13.2  -lpthread  -lrt  /usr/share/miniconda/envs/test/lib/libuuid.so  /usr/share/miniconda/envs/test/lib/libuuid.so  /usr/share/miniconda/envs/test/lib/libopencv_gapi.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_stitching.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_alphamat.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_aruco.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_barcode.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_bgsegm.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_bioinspired.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_ccalib.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_cvv.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_dnn_objdetect.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_dnn_superres.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_dpm.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_face.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_freetype.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_fuzzy.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_hdf.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_hfs.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_img_hash.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_intensity_transform.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_line_descriptor.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_mcc.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_quality.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_rapid.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_reg.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_rgbd.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_saliency.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_stereo.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_structured_light.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_phase_unwrapping.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_superres.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_optflow.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_surface_matching.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_tracking.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_highgui.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_datasets.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_plot.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_text.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_videostab.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_videoio.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_wechat_qrcode.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_xfeatures2d.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_ml.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_shape.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_ximgproc.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_video.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_xobjdetect.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_imgcodecs.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_objdetect.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_calib3d.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_dnn.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_features2d.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_flann.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_xphoto.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_photo.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_imgproc.so.4.5.5  /usr/share/miniconda/envs/test/lib/libopencv_core.so.4.5.5  /usr/share/miniconda/envs/test/lib/libYARP_dev.so.3.6.0  /usr/share/miniconda/envs/test/lib/libYARP_math.so.3.6.0  /usr/share/miniconda/envs/test/lib/libYARP_sig.so.3.6.0  /usr/share/miniconda/envs/test/lib/libYARP_init.so.3.6.0  /usr/share/miniconda/envs/test/lib/libYARP_os.so.3.6.0  -lpthread && :
2022-02-15T03:04:25.8929502Z /usr/share/miniconda/envs/test/bin/../lib/gcc/x86_64-conda-linux-gnu/9.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: tests/clock/CMakeFiles/ClockTest.dir/ClockTest.cc.o: undefined reference to symbol '_ZN3tbb6detail2r17destroyERNS0_2d118task_group_contextE'
2022-02-15T03:04:25.8930475Z /usr/share/miniconda/envs/test/bin/../lib/gcc/x86_64-conda-linux-gnu/9.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: /usr/share/miniconda/envs/test/lib/libtbb.so.12: error adding symbols: DSO missing from command line
2022-02-15T03:04:25.8930923Z collect2: error: ld returned 1 exit status
2022-02-15T03:04:39.9375043Z [113/116] Building CXX object tests/CMakeFiles/ControlBoardControlTest.dir/ControlBoardControlTest.cc.o
2022-02-15T03:04:41.0978507Z [114/116] Building CXX object tests/robotinterface/CMakeFiles/RobotInterfaceTest.dir/RobotInterfaceTest.cc.o
2022-02-15T03:04:41.0980164Z ninja: build stopped: subcommand failed.
2022-02-15T03:04:41.1011309Z ##[error]Process completed with exit code 1.
@traversaro
Copy link
Contributor Author

See https://stackoverflow.com/questions/19901934/libpthread-so-0-error-adding-symbols-dso-missing-from-command-line for a background. Basically since #115, downstream projects needs to link tbb as well.

@traversaro
Copy link
Contributor Author

Fixed by #124 .

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