building from an earlier fork/commit broken: `qh_version2' needs to compile with fPIC
mebbaid opened this issue · comments
I have tried to build the bipedal
framework against a branch in my fork in the ergocub-torso
. When i do make install
, the following error is thrown
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libqhullstatic_r.a(global_r.c.o): warning: relocation against `qh_version2' in read-only section `.text'
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libqhullstatic_r.a(global_r.c.o): relocation R_X86_64_PC32 against symbol `qh_version2' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: bad value
Things to note:
- This issue appeared after the recent superbuild update on the torso
- On my machine, this error is not reproducible.
- this error is triggered by either TSID or the Planners
The status of the robotologysuperbuild repos in machine is as follows
Click me
My machine status
-------------------------------------------
/home/mebbaid/robot-code/robotology-superbuild: master
2 months ago|Merge pull request #1406 from robotology/traversaro-patch-3|3590ac25f8928d19fb50a0df2c1a0002b6051819
## master...origin/master
--------------------------------------------
/home/mebbaid/robot-code/robotology-superbuild/src/bipedal-locomotion-framework/: HEAD
4 months ago|fix CMakeLists.txt copy /paste mistake|c50812d94f5ffbb5672af7d37883fec75583ee39
## HEAD (no branch)
?? .vscode/
?? src/ReducedModelControllers/include/BipedalLocomotion/ReducedModelControllers/AdaptiveCentroidalMPC.h
?? src/ReducedModelControllers/src/AdaptiveCentroidalMPC.cpp
?? src/ReducedModelControllers/tests/AdaptiveCentroidalMPCTest.cpp
--------------------------------------------
/home/mebbaid/robot-code/robotology-superbuild/src/BlockFactory/: HEAD
1 year, 5 months ago|Add new Matlab version to MATLAB_VERSIONS_MAPPING in FindMatlab (#66)|11b9a6ed18ca5b67fec690e2de1c48bfcc719dd8
## HEAD (no branch)
--------------------------------------------
/home/mebbaid/robot-code/robotology-superbuild/src/casadi/: HEAD
2 years, 3 months ago|Merge tag '3.5.5' into support_osqp_0.6.2|07e196b4f35cfaec28e2fd42c29dbda459b0a56c
## HEAD (no branch)
--------------------------------------------
/home/mebbaid/robot-code/robotology-superbuild/src/casadi-matlab-bindings/: HEAD
1 year, 5 months ago|Bump version to 3.5.5.2 (#8)|f43e8062bec91c90fa0cbd2c98ad830db47857b8
## HEAD (no branch)
--------------------------------------------
/home/mebbaid/robot-code/robotology-superbuild/src/CppAD/: HEAD
1 year, 2 months ago|stable/20220000: Advance to version 20220000.4.|9aeef77084458a87b3c672b028cd2868b55ee790
## HEAD (no branch)
--------------------------------------------
/home/mebbaid/robot-code/robotology-superbuild/src/GazeboYARPPlugins/: honda_proto3_hand
3 months ago|Merge branch 'robotology:master' into honda_proto3_hand|7b625736a20aaaf1e5f4df7a9be3d1bc71fe56ba
## honda_proto3_hand
--------------------------------------------
/home/mebbaid/robot-code/robotology-superbuild/src/HumanDynamicsEstimation/: HEAD
11 months ago|Bump human-dynamics-estimation version to 2.6.0|e0bb2cdb906571532f5dbebf53dd5280e29aee4d
## HEAD (no branch)
--------------------------------------------
/home/mebbaid/robot-code/robotology-superbuild/src/human-gazebo/: HEAD
11 months ago|Bump version to v1.1.0|021f91a31bd30df3c2ade8b223e6135120162d4e
## HEAD (no branch)
--------------------------------------------
/home/mebbaid/robot-code/robotology-superbuild/src/ICUB/: HEAD
11 months ago|Prepare for the release|bba71571f5d6c1a05e76dfc4d643836715f163ae
## HEAD (no branch)
--------------------------------------------
/home/mebbaid/robot-code/robotology-superbuild/src/ICUBcontrib/: HEAD
3 years, 1 month ago|added official maintainer|cd6352688c64aadc0a044925532d08fbcb688886
## HEAD (no branch)
--------------------------------------------
/home/mebbaid/robot-code/robotology-superbuild/src/icub-models/: master
6 months ago|merge master|427476f718a322be7daeefb8333b857c1e2cccc6
## master...origin/master [ahead 9]
--------------------------------------------
/home/mebbaid/robot-code/robotology-superbuild/src/iDynTree/: HEAD
11 months ago|Bump iDynTree version to 7.0.0 (#1026)|8c6596df687735f44ff8346e839d16d5d1755c69
## HEAD (no branch)
--------------------------------------------
/home/mebbaid/robot-code/robotology-superbuild/src/idyntree-yarp-tools/: HEAD
1 year, 2 months ago|Bump release to 0.0.5 (#31)|db62660bb04c369e075749a2dbd72a0631f57096
## HEAD (no branch)
--------------------------------------------
/home/mebbaid/robot-code/robotology-superbuild/src/LieGroupControllers/: HEAD
2 years ago|Bump project version from 0.0.1 to 0.1.1|44babb966eeb0f54e2ceea75df4bad07f7b39fee
## HEAD (no branch)
--------------------------------------------
/home/mebbaid/robot-code/robotology-superbuild/src/manif/: HEAD
2 years, 1 month ago|bump version to 0.0.4|496717aa792c1ff4b99049034e53f9fa0ac676a3
## HEAD (no branch)
--------------------------------------------
/home/mebbaid/robot-code/robotology-superbuild/src/matioCpp/: HEAD
1 year ago|Bump minor version for bugfix release|12022e5fae6127cea7b3f957899e32cf36a30882
## HEAD (no branch)
--------------------------------------------
/home/mebbaid/robot-code/robotology-superbuild/src/matlab-whole-body-simulator/: HEAD
11 months ago|Merge pull request #80 from ami-iit/Changing-Plane-Color|85234de9e2d3e8a46f5b4ab3df09de1cc0617652
## HEAD (no branch)
--------------------------------------------
/home/mebbaid/robot-code/robotology-superbuild/src/OpenVR/: HEAD
1 year, 4 months ago|Merge pull request #1 from prashanthr05/prashanthr05/patch|249d1336783a55cd7de295e2d9776c96456449f6
## HEAD (no branch)
M bin/linux64/libopenvr_api.so
diff --git a/bin/linux64/libopenvr_api.so b/bin/linux64/libopenvr_api.so
index 906f06d..3abff41 100755
Binary files a/bin/linux64/libopenvr_api.so and b/bin/linux64/libopenvr_api.so differ
--------------------------------------------
/home/mebbaid/robot-code/robotology-superbuild/src/OpenXR/: HEAD
1 year, 1 month ago|OpenXR SDK 1.0.24 (2022-06-23)|1ca7bec6b531185530c9b4f1e7a50e1fd55e7641
## HEAD (no branch)
--------------------------------------------
/home/mebbaid/robot-code/robotology-superbuild/src/osqp/: HEAD
2 years, 6 months ago|Allow vectors l and u to be NULL. This fixes the issue introduced in #215 that makes the matlab tests not pass. https://github.com/oxfordcontrol/osqp-matlab/pull/32|f9fc23d3436e4b17dd2cb95f70cfa1f37d122c24
## HEAD (no branch)
--------------------------------------------
/home/mebbaid/robot-code/robotology-superbuild/src/OsqpEigen/: HEAD
1 year, 6 months ago|Merge pull request #113 from robotology/release/0.7.0|83812bd0a56bbb656cac7016b307845e4a0ed11e
## HEAD (no branch)
--------------------------------------------
/home/mebbaid/robot-code/robotology-superbuild/src/osqp-matlab/: HEAD
1 year, 5 months ago|Merge pull request #7 from ami-iit/traversaro-patch-2|221e3c5e86e1decacd12c32fee502248836a3d63
## HEAD (no branch)
--------------------------------------------
/home/mebbaid/robot-code/robotology-superbuild/src/qhull/: HEAD
2 years, 11 months ago|Qhull 2020.2 2020/08/31 (8.0.2)|613debeaea72ee66626dace9ba1a2eff11b5d37d
## HEAD (no branch)
--------------------------------------------
/home/mebbaid/robot-code/robotology-superbuild/src/qpOASES/: HEAD
3 years, 6 months ago|Merge pull request #13 from robotology-dependencies/fix-matlab-2019b|90390fff9d9f111cb693deea42714237894fe1dc
## HEAD (no branch)
--------------------------------------------
/home/mebbaid/robot-code/robotology-superbuild/src/robometry/: HEAD
11 months ago|Update CHANGELOG.md|8110ecdd6bbd2bcfdd4a78d64d23254750c51154
## HEAD (no branch)
--------------------------------------------
/home/mebbaid/robot-code/robotology-superbuild/src/robots-configuration/: HEAD
5 months ago|Merge pull request #29 from ami-iit/ami_fork/devel_ergoCubSN000_500Hz|fd89424951bd22b12e69718af98e74efa0fc3026
## HEAD (no branch)
--------------------------------------------
/home/mebbaid/robot-code/robotology-superbuild/src/UnicyclePlanner/: master
5 months ago|Merge pull request #59 from robotology/backwardMultiplier|f9db393b73ef92b2bf93ceac91da7a1db607f707
## master...origin/master
--------------------------------------------
/home/mebbaid/robot-code/robotology-superbuild/src/walking-controllers/: HEAD
10 months ago|Bumped minor version before release|771f8466eeb0b995c64a2dfd42446121444e28ab
## HEAD (no branch)
--------------------------------------------
/home/mebbaid/robot-code/robotology-superbuild/src/walking-teleoperation/: hmf_hand
3 months ago|Merge branch 'master' of https://github.com/robotology/walking-teleoperation into hmf_hand|7bbded34fa37893a0e9640aadc6e1c3ce18bb16d
## hmf_hand...mebbaid_fork/hmf_hand [ahead 1, behind 1]
--------------------------------------------
/home/mebbaid/robot-code/robotology-superbuild/src/WBToolbox/: HEAD
1 year, 6 months ago|Bump version number and release 5.5.0 (#230)|f3caaf8d509c0ed5595cf1749efc66e2a1e5b4f3
## HEAD (no branch)
--------------------------------------------
/home/mebbaid/robot-code/robotology-superbuild/src/wearables/: HEAD
1 year, 2 months ago|Bump wearables version to 1.4.0 (#157)|a0fba771c079065ccd08fb0ad96ced665bf82f81
## HEAD (no branch)
--------------------------------------------
/home/mebbaid/robot-code/robotology-superbuild/src/whole-body-controllers/: HEAD
1 year, 7 months ago|Merge pull request #141 from traversaro/fix140|2c667599be621a281017ba560179fbf141d86274
## HEAD (no branch)
--------------------------------------------
/home/mebbaid/robot-code/robotology-superbuild/src/whole-body-estimators/: master
5 months ago|update changelog for v0.9.1|9992ffc50b60ff7434f94d6fd542d2ed638c7421
## master...origin/master
--------------------------------------------
/home/mebbaid/robot-code/robotology-superbuild/src/YARP/: HEAD
1 year, 1 month ago|YARP 3.7.1|99a95bd876b4c35b3d9fed9c79d1d0d9594ff4ce
## HEAD (no branch)
--------------------------------------------
/home/mebbaid/robot-code/robotology-superbuild/src/yarp-device-openxrheadset/: HEAD
1 year, 2 months ago|Merge pull request #18 from ami-iit/trackers|e51f925b0998e043ac9a20032923de20130acf93
## HEAD (no branch)
--------------------------------------------
/home/mebbaid/robot-code/robotology-superbuild/src/yarp-devices-forcetorque/: HEAD
1 year, 2 months ago|Fix compatibility with YARP 3.7 (#30)|13a07b25944528e6595b0b6dc8fccae75c18cb40
## HEAD (no branch)
--------------------------------------------
/home/mebbaid/robot-code/robotology-superbuild/src/yarp-matlab-bindings/: HEAD
1 year ago|Merge pull request #91 from robotology/onlylinkrequiredmatlablibraries|4e797d36ef0e1d64b6ac7beed02a749407cefb05
## HEAD (no branch)
--------------------------------------------
/home/mebbaid/robot-code/robotology-superbuild/src/yarp-openvr-trackers/: HEAD
1 year, 2 months ago|Merge pull request #9 from HosameldinMohamed/updateDoc|e6694adeb30d18f279fabd06fd867d76b44b3415
## HEAD (no branch)
--------------------------------------------
/home/mebbaid/robot-code/robotology-superbuild/src/YCM/: HEAD
1 year, 1 month ago|Merge pull request #414 from robotology/fixgraphviz3|2583228ed11f0fe5ba32497943b112099cd1af81
## HEAD (no branch)
--------------------------------------------
Any help would be appreciated @GiulioRomualdi @S-Dafarra @traversaro
Have you tried with a clean build?
Have you tried with a clean build?
yeah I have tried with a clean build.
In the end, to run the experiment I have to use my machine, but I would rather be able to test on the torso.
Which version of Ubuntu are you running on your machine?
If you do not need it, I think you can disable FRAMEWORK_USES_PCL or a similar option, the problem may be related to the qhull conflict problem we have on the camera bridge PR.
The Ubuntu version is 20 as discussed f2f. I will disable that option tomorrow since I just left the lab and check how things work. Thanks @traversaro
@traversaro it seems that the option FRAMEWORK_USES_PCL
is actually disabled by default in the bipedal (at least the version in the torso).
Following the discussion of the camera bridge PR, I will try to enable only PCL and disable qhull and see if that works (once the robot is available again)
The Ubuntu version is 20 as discussed f2f. I will disable that option tomorrow since I just left the lab and check how things work. Thanks @traversaro
In ergocub-torso we have ubuntu 22.04 no 20 🤔
Following the discussion of the camera bridge PR, I will try to enable only PCL and disable qhull and see if that works (once the robot is available again)
Disabling qhull you will not have the access to planners
In ergocub-torso we have ubuntu 22.04 no 20
Yeah, I was just answering Stefano who was wondering about my own machine
Disabling qhull you will not have the access to planners
Aha, got it, thanks @GiulioRomualdi , in this case will investigate more
One thing that changed is the superbuild. If I'm not mistaken in the previous version installed in the torso, qhull was compiled by src while now it is installed by app (I had to rerun the apt installation script)
@isorrentino cleaned the build and everything is compiling, she also noticed that the current date of the torso is old
Indeed date
returns
Mon Mar 20 15:49:28 UTC 2023
while it should be
lun 24 lug 2023, 11:37:41, CEST
Associated issue: robotology/icub-tech-support#1611
In the end, to successfuly build, I had to clone the qhull
repo inside the robotology-superbuild
and then compile it from source with the following fPIC
option
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
Finally reconfigure the fork of bipedal to look for that version of qhull
.
Once ended the experiment, i switched bipedal
back to master with the default qhull
installed by apt
.
Note that the bipedal
master also compiles against qhull
compiled from source with the fPIC
option on.
Is that the torso of ergoCub ?
Is that the torso of ergoCub ?
yeah.
[Edited to add] what i see for the short term (next couple of weeks ICRA deadline) is to keep both versions of qhull
in the torso - i know this is a bad practice in general - and to run needed experiments I simply switch and then restore repos state once done. After this period is finished I will clean the repos to default status.
Let me know if that is ok @traversaro and we can proceed with closing this issue.
What is the status now? I would like to check the issue if the torso is on your branch (b.t.w., can you link the offending branch)?
[Edited to add] what i see for the short term (next couple of weeks ICRA deadline) is to keep both versions of qhull in the torso - i know this is a bad practice in general - and to run needed experiments I simply switch and then restore repos state once done. After this period is finished I will clean the repos to default status.
Sure, whatever is need for ICRA is fine.
What is the status now? I would like to check the issue if the torso is on your branch (b.t.w., can you link the offending branch)?
the offending branch is https://github.com/mebbaid/bipedal-locomotion-framework/tree/feature/CentroidalMPC
What is the status now?
I switched back everything to master and qhull
to the one installed by apt.
I think to solve the issue you just need to cherry-pick (or copy manually, it is just a line) the fix in mebbaid@d1a905e , xref: #565 .
Thanks, we applied the fix and make uninstall
the qhull
compiled from source on the torso and it the fix works. I am closing this issue.