ami-iit / bipedal-locomotion-framework

Suite of libraries for achieving bipedal locomotion on humanoid robots

Home Page:https://ami-iit.github.io/bipedal-locomotion-framework/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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 d1a905e, xref: #565 .

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.