roboticslab-uc3m / installation-guides

Centralized administration of dependency installation guides.
https://robots.uc3m.es/installation-guides/
70 stars 35 forks source link

[yarp] Add libace-dev and remove -DSKIP_ACE=ON everywhere #13

Closed jgvictores closed 6 years ago

jgvictores commented 7 years ago

I'd like to unify what we do in travis-ci and what we recommend here. Should we skip ace on install-yarp for linux (or alternatively, download ace on all travis builds)?

jgvictores commented 7 years ago

After commenting with @PeterBowman, we will add libace-dev and remove -DSKIP_ACE=ON throughout .travis.yml (e.g. here).

PeterBowman commented 6 years ago

On UNIX, ACE-less builds lead to the use of dlopen, which seems to choke on non-installed usage of YARP (which, in turn, involves playing with the YARP_DATA_DIRS and LD_LIBRARY_PATH environment variables, most notably the latter). Relevant lines: ref. Typical error on yarpdev --list with custom YARP devices: [WARNING]Wrong library name for plugin blah (Travis).

After commenting with @PeterBowman, we will add libace-dev and remove -DSKIP_ACE=ON throughout .travis.yml (e.g. here).

I can't recall the exact reason for proceeding with this (probably unification of YARP's install guides with ours). Given that this issue is quite old now, are we still enforcing the ACE approach?

Edit: ACE_DLL::open.

PeterBowman commented 6 years ago

Con: there is no libace-dev at https://github.com/travis-ci/apt-package-whitelist in case we ever want to switch to container-based CI builds (I planned to test them soon).

Related: https://github.com/travis-ci/apt-package-whitelist/issues/410, https://github.com/travis-ci/apt-package-whitelist/issues/4273.

jgvictores commented 6 years ago

Added the question label again, because I guess it's not clear...

My main concern is having the same recommended installation and Travis CI setup.

PeterBowman commented 6 years ago

Note to self: check this on newer YARP versions (yarp::os::impl::dlopen vs ::dlopen).

PeterBowman commented 6 years ago

Note to self: check this on newer YARP versions (yarp::os::impl::dlopen vs ::dlopen).

Actually, I ran previous test on YARP master via Docker containers on Trusty. Scoping issues got probably solved after https://github.com/robotology/yarp/commit/57d60a48acddec42f9cb4e1d3d0e60661d005bca#diff-2204d16d2a9544f6ed5646c512385ff5 anyway.

Edit: yarp::os::impl::dlopen and ::dlopen are the same thing (ref).

PeterBowman commented 6 years ago

On UNIX, ACE-less builds lead to the use of dlopen, which seems to choke on non-installed usage of YARP

Solved at https://github.com/roboticslab-uc3m/kinematics-dynamics/commit/ebcfb55df254d68ebbd3df28bbbdd7952d845a76 (see https://github.com/roboticslab-uc3m/questions-and-answers/issues/48#issuecomment-379345051). Just had to tweak the YARP_DATA_DIRS environment variable.

PeterBowman commented 6 years ago

Marking as blocked by https://github.com/roboticslab-uc3m/questions-and-answers/issues/48, but we have already concluded that dropping the ACE dependency is the way to go. YAML script files for Travis will be updated accordingly as a result of that issue.

See also https://github.com/robotology/yarp/issues/1637 (full no-ACE support in future YARP).