Closed PeterBowman closed 5 years ago
TEO's PCs now run YARP 3.1.1. Note that teo-head is a Trusty system, whereas manipulation and locomotion already moved on to Xenial.
Tracked at https://github.com/roboticslab-uc3m/teo-main/issues/49.
Edit: teo-head done, too (running current YARP master because of https://github.com/robotology/yarp/issues/2009).
Since all blockers have been resolved, I'm going to gradually start enforcing the YARP 3.0+ requisite in several repositories. Please git pull
to the latest master
branch or check out YARP's v3.1.1 git tag. It is recommended to uninstall first.
cc @roboticslab-uc3m
Edit: v3.0.1 -> v3.1.1.
Since latest YARP master is now recommended, and YARP 3.1 was released shortly after YARP 3.0, I'm probably going to require YARP 3.1+ in a few repos (namely kin-dyn, openrave-yarp-plugins and yarp-devices). This will spare several version checks regarding features that had been added in v3.1 but weren't present at v3.0.x.
- Fix C++/CMake deprecation warnings (check Travis builds).
Notable changes:
yarp::os::ConstString
-> std::string
yarp::os::RateThread
-> yarp::os::PeriodicThread
setRate()
-> setPeriod()
VOCAB<N>
-> yarp::os::createVocab()
(YARP 3.1)IPositionControl2
-> IPositionControl
and so onaddInt()
-like methods (https://github.com/robotology/yarp/pull/1677)
grep -rnIP '(add|is|as|make)(Int|Double)' /path/to/src/root --exclude-dir={build,doc}
find /path/to/src/root -type f -exec sed -i -r 's/(add|is|as|make)Int/\1Int32/g' {} \+
find /path/to/src/root -type f -exec sed -i -r 's/(add|is|as|make)Double/\1Float64/g' {} \+
YARP_HAS_MATH_LIB
-> YARP_math_FOUND
(CMake code)Tag the last pre-v3.0 commit.
Done at most relevant repositories listed here, namely:
Nothing more to do here, closing.
Following https://github.com/roboticslab-uc3m/questions-and-answers/issues/65 (forward compat with YARP 3.x), https://github.com/roboticslab-uc3m/questions-and-answers/issues/78/https://github.com/roboticslab-uc3m/questions-and-answers/issues/82 (upgrade and require YCM v0.10+) and https://github.com/roboticslab-uc3m/questions-and-answers/issues/73 (migrating to Xenial builds in Travis), minimum required YARP version is going to be bumped from v2.3.70 to v3.0 soon enough. This issue will track code cleanup (remove pre-3.0 stuff), blockers and announcements.
TODOs
Drop
find_package(YARP 2.3.70 REQUIRED)
fallbacks (ref).List optional and required components (ref, see also https://github.com/roboticslab-uc3m/questions-and-answers/issues/65#issuecomment-405119846 and https://github.com/roboticslab-uc3m/speech/issues/27).
Update required YARP version in
doc/<repo>-install.md
.Remove version checks such as
#if YARP_VERSION_MAJOR != 3
in C++ and CMake code (e.g. https://github.com/roboticslab-uc3m/yarp-devices/commit/2af42cd5538f6be2d72b377efe1cc87c80e2a34f, https://github.com/roboticslab-uc3m/yarp-devices/issues/180).Fix C++/CMake deprecation warnings (check Travis builds).
Rename local C++ implementation files regarding motor interfaces (e.g. IControlMode2Impl.cpp would become IControlModeImpl.cpp).
Delete pre-v3.0 jobs in .travis.yml (delete the cache).
Explore YARP v3.0.0 and v3.0.1 release notes, adopt new features (conditionally enable v3.1.0 and v3.1.1).
Tag the last pre-v3.0 commit.
Upgrade robot on-board PCs.
Review install guides, e.g. some CMake options have been renamed, removed, made optional or changed defaults (ref).
Blockers (mostly related to a recent OpenNI2->RGBDSensor device migration, https://github.com/roboticslab-uc3m/vision/issues/83)