robotology-legacy / codyco-superbuild Goto Github PK
View Code? Open in Web Editor NEWSoftware repository for FP7 project CoDyCo - Whole-body Compliant Dynamical Contacts in Cognitive Humanoids - http://www.codyco.eu
Software repository for FP7 project CoDyCo - Whole-body Compliant Dynamical Contacts in Cognitive Humanoids - http://www.codyco.eu
On Windows If you try to download&compile Yarp thought the codyco-superbuild, the compilation fails with this error message:
4> Build FAILED.
4>
4> "C:\Users\traversaro\Documents\GitHub\codyco-superbuild\build\external\YARP\ALL_BUILD.vcxproj" (default target) (1) ->
4> "C:\Users\traversaro\Documents\GitHub\codyco-superbuild\build\external\YARP\src\yarpmanager\gybuilder\gyarpbuilder.vcxproj" (default target) (25) ->
4> (Link target) ->
4>LINK : fatal error LNK1104: cannot open file 'TinyXML::tinyxml-NOTFOUND.obj' [C:\Users\traversaro\Documents\GitHub\codyco-superbuild\build\external\YARP\src\yarpmanager\gybuilder\gyarpbuilder.vcxproj]
4>
4>
4> "C:\Users\traversaro\Documents\GitHub\codyco-superbuild\build\external\YARP\ALL_BUILD.vcxproj" (default target) (1) ->
4> "C:\Users\traversaro\Documents\GitHub\codyco-superbuild\build\external\YARP\src\yarpmanager\gymanager\gyarpmanager.vcxproj" (default target) (26) ->
4>LINK : fatal error LNK1104: cannot open file 'TinyXML::tinyxml-NOTFOUND.obj' [C:\Users\traversaro\Documents\GitHub\codyco-superbuild\build\external\YARP\src\yarpmanager\gymanager\gyarpmanager.vcxproj]
4>
4>
4> "C:\Users\traversaro\Documents\GitHub\codyco-superbuild\build\external\YARP\ALL_BUILD.vcxproj" (default target) (1) ->
4> "C:\Users\traversaro\Documents\GitHub\codyco-superbuild\build\external\YARP\src\yarpmanager\ymanager\yarpmanager.vcxproj" (default target) (33) ->
4>LINK : fatal error LNK1104: cannot open file 'TinyXML::tinyxml-NOTFOUND.obj' [C:\Users\traversaro\Documents\GitHub\codyco-superbuild\build\external\YARP\src\yarpmanager\ymanager\yarpmanager.vcxproj]
4>
4>
4> "C:\Users\traversaro\Documents\GitHub\codyco-superbuild\build\external\YARP\ALL_BUILD.vcxproj" (default target) (1) ->
4> "C:\Users\traversaro\Documents\GitHub\codyco-superbuild\build\external\YARP\src\yarpscope\src\yarpscope.vcxproj" (default target) (36) ->
4>LINK : fatal error LNK1104: cannot open file 'TinyXML::tinyxml-NOTFOUND.obj' [C:\Users\traversaro\Documents\GitHub\codyco-superbuild\build\external\YARP\src\yarpscope\src\yarpscope.vcxproj]
4>
4> 0 Warning(s)
4> 4 Error(s)
Hi, I'm having a problem of not founding TinyXML during the installation:
CMake Error at /home/yue/codyco-superbuild/build/install/lib/cmake/iDynTree/iDynTreeConfig.cmake:18 (find_package):
By not providing "FindTinyXML.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "TinyXML", but
CMake did not find one.
Could not find a package configuration file provided by "TinyXML" with any
of the following names:
TinyXMLConfig.cmake
tinyxml-config.cmake
Add the installation prefix of "TinyXML" to CMAKE_PREFIX_PATH or set
"TinyXML_DIR" to a directory containing one of the above files. If
"TinyXML" provides a separate development package or SDK, be sure it has
been installed.
Call Stack (most recent call first):
libraries/wbInterface/CMakeLists.txt:14 (find_package)
Cmake version 2.8.12.2
After updating yarp and iCub, when compiling the superbuild I get the following errors in linking the paramHelp library:
Linking CXX shared library lib/libparamhelp.dylib
Undefined symbols for architecture x86_64:
"yarp::os::PortWriter::~PortWriter()", referenced from:
yarp::os::PortWriterBuffer<yarp::os::Bottle>::create(yarp::os::PortWriterBufferManager&, void*) in paramHelperClient.cpp.o
yarp::os::PortWriterBufferAdaptor<yarp::os::Bottle>::~PortWriterBufferAdaptor() in paramHelperClient.cpp.o
yarp::os::PortWriterBufferAdaptor<yarp::os::Bottle>::~PortWriterBufferAdaptor() in paramHelperClient.cpp.o
yarp::os::PortWriterBuffer<yarp::os::Bottle>::create(yarp::os::PortWriterBufferManager&, void*) in paramHelperServer.cpp.o
yarp::os::PortWriterBufferAdaptor<yarp::os::Bottle>::~PortWriterBufferAdaptor() in paramHelperServer.cpp.o
yarp::os::PortWriterBufferAdaptor<yarp::os::Bottle>::~PortWriterBufferAdaptor() in paramHelperServer.cpp.o
"yarp::os::Contactable::~Contactable()", referenced from:
yarp::os::BufferedPort<yarp::os::Bottle>::BufferedPort() in paramHelperClient.cpp.o
yarp::os::BufferedPort<yarp::os::Bottle>::~BufferedPort() in paramHelperClient.cpp.o
yarp::os::BufferedPort<yarp::os::Bottle>::BufferedPort() in paramHelperServer.cpp.o
yarp::os::BufferedPort<yarp::os::Bottle>::~BufferedPort() in paramHelperServer.cpp.o
"yarp::os::NetworkBase::exists(yarp::os::ConstString const&, bool)", referenced from:
paramHelp::ParamHelperClient::init(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yarp::os::Bottle&) in paramHelperClient.cpp.o
"yarp::os::NetworkBase::connect(yarp::os::ConstString const&, yarp::os::ConstString const&, yarp::os::ConstString const&, bool)", referenced from:
paramHelp::ParamHelperClient::init(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yarp::os::Bottle&) in paramHelperClient.cpp.o
...
If I compile the iCub repo as shared library, then I get the same kind of error, so it seems to have something to do with static/dynamic library.
When running cmake on the latest codyco-superbuild I get this weird error:
CMake Error at cmake/modules/CoDyCoFindDependencies.cmake:43 (find_package):
By not providing "FindiDynTree.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "iDynTree",
but CMake did not find one.
Could not find a package configuration file provided by "iDynTree" with any
of the following names:
iDynTreeConfig.cmake
idyntree-config.cmake
Add the installation prefix of "iDynTree" to CMAKE_PREFIX_PATH or set
"iDynTree_DIR" to a directory containing one of the above files. If
"iDynTree" provides a separate development package or SDK, be sure it has
been installed.
Call Stack (most recent call first):
CMakeLists.txt:40 (include)
I am on Ubuntu 12.04, I have yarp and icub compiled from sources, I already updated yarp, iCub and kdl-codyco.
The codyco-superbuild was broken by this icub-main PR:
robotology/icub-main#120
Anyone can look into fix it? It should just be a bunch of namespace changes (and probably require the latest version of YARP in the CMake ).
We need some graphical visualization tools for balancing experiments.
For example:
Should we integrate those tools in the iCub_GUI? Or make new tools?
Or use matlab?
I installed from zero the codyco-superbuild.
When trying to run the wholeBodyDynamicsTree it seems that it does not find the yarpWholeBodyInterface.ini
A file search showed that this file does not exists anywhere within the codyco-superbuild folder/subfolders.
icub@tomlinson:~/Desktop$ wholeBodyDynamicsTree --headV2 --autoconnect
||| clearing context
||| adding context [wholeBodyDynamicsTree]
||| configuring
||| no policy found
||| default config file specified as wholeBodyDynamicsTree.ini
||| checking [/home/icub/Desktop/wholeBodyDynamicsTree.ini] (pwd)
||| checking [/home/icub/.config/yarp/robots/iCubDarmstadt01] (robot YARP_CONFIG_HOME)
||| checking [/home/icub/.local/share/yarp/robots/iCubDarmstadt01] (robot YARP_DATA_HOME)
||| checking [/etc/xdg/xdg-ubuntu/yarp/robots/iCubDarmstadt01] (robot YARP_CONFIG_DIRS)
||| checking [/usr/share/upstart/xdg/yarp/robots/iCubDarmstadt01] (robot YARP_CONFIG_DIRS)
||| checking [/etc/xdg/yarp/robots/iCubDarmstadt01] (robot YARP_CONFIG_DIRS)
||| checking [robots/iCubDarmstadt01] (robot YARP_DATA_DIRS)
||| checking [/home/icub/software/codyco-superbuild/build/install/share/codyco/robots/iCubDarmstadt01] (robot YARP_DATA_DIRS)
||| checking [config/path.d] (robot path.d YARP_DATA_DIRS)
||| checking [/home/icub/software/codyco-superbuild/build/install/share/codyco/config/path.d] (robot path.d YARP_DATA_DIRS)
||| checking [/home/icub/.config/yarp/contexts/wholeBodyDynamicsTree] (context YARP_CONFIG_HOME)
||| checking [/home/icub/.local/share/yarp/contexts/wholeBodyDynamicsTree] (context YARP_DATA_HOME)
||| checking [/etc/xdg/xdg-ubuntu/yarp/contexts/wholeBodyDynamicsTree] (context YARP_CONFIG_DIRS)
||| checking [/usr/share/upstart/xdg/yarp/contexts/wholeBodyDynamicsTree] (context YARP_CONFIG_DIRS)
||| checking [/etc/xdg/yarp/contexts/wholeBodyDynamicsTree] (context YARP_CONFIG_DIRS)
||| checking [contexts/wholeBodyDynamicsTree] (context YARP_DATA_DIRS)
||| checking [/home/icub/software/codyco-superbuild/build/install/share/codyco/contexts/wholeBodyDynamicsTree] (context YARP_DATA_DIRS)
||| found /home/icub/software/codyco-superbuild/build/install/share/codyco/contexts/wholeBodyDynamicsTree
||| checking [/home/icub/software/codyco-superbuild/build/install/share/codyco/contexts/wholeBodyDynamicsTree/wholeBodyDynamicsTree.ini] (context)
||| found /home/icub/software/codyco-superbuild/build/install/share/codyco/contexts/wholeBodyDynamicsTree/wholeBodyDynamicsTree.ini
yarp: Port /wholeBodyDynamicsTree/rpc:i active at tcp://10.0.0.51:10710
||| finding file [wbi_conf_file]
||| checking [/home/icub/Desktop/yarpWholeBodyInterface.ini] (pwd)
||| checking [/home/icub/software/codyco-superbuild/build/install/share/codyco/contexts/wholeBodyDynamicsTree/yarpWholeBodyInterface.ini] (context)
||| checking [/home/icub/.config/yarp/yarpWholeBodyInterface.ini] (YARP_CONFIG_HOME)
||| checking [/home/icub/.local/share/yarp/yarpWholeBodyInterface.ini] (YARP_DATA_HOME)
||| checking [/etc/xdg/xdg-ubuntu/yarp/yarpWholeBodyInterface.ini] (YARP_CONFIG_DIRS)
||| checking [/usr/share/upstart/xdg/yarp/yarpWholeBodyInterface.ini] (YARP_CONFIG_DIRS)
||| checking [/etc/xdg/yarp/yarpWholeBodyInterface.ini] (YARP_CONFIG_DIRS)
||| checking [yarpWholeBodyInterface.ini] (YARP_DATA_DIRS)
||| checking [/home/icub/software/codyco-superbuild/build/install/share/codyco/yarpWholeBodyInterface.ini] (YARP_DATA_DIRS)
||| did not find yarpWholeBodyInterface.ini
yarp: cannot read from
[ERR] loadIdListFromConfig error: requested list ROBOT_DYNAMIC_MODEL_JOINTS not found
[ERR] loadIdListFromConfig error: requested list ROBOT_DYNAMIC_MODEL_JOINTS not found
[ERR] wholeBodyDynamicsModule: impossible to load wbiId joint list with name ROBOT_DYNAMIC_MODEL_JOINTS
Module failed to open
icub@tomlinson:~/Desktop$
Even if there was no modification.
codyco-superbuild readme is the entry point for codyco software, so we should mention how to install the wbi-toolbox in it.
Reported by @jeljaik .
cc @jeljaik @barrelback
Hi everyone @robotology/codyco-admins @robotology/codyco-developers ,
finally we are ready to merge the version 0.2 of the codyco software (the one contained in the new_wbi_ID
branches) in master
.
We will proceed shortly and the users shouldn’t notice particular differences, at least from the simulink (WBI-Toolbox) level. However there are a few changes that could cause problems, so please pay attention at the first time you update the superbuild.
To get more information about what have changed in v0.2, please check the README of WBI-Toolbox for the new version v0.2 : https://github.com/robotology-playground/WBI-Toolbox/blob/dd77704262242963fd67835e63ac04c2425f1f23/README.md
If you where developing in C++ using the wholeBodyInterface, please check the migration guide for
moving from the wbi v0.1 to wbi v0.2 :
If for any reason you will need the legacy version of the codyco software, please note that the codyco-superbuild will have a special branch named v0.1
with everything necessary to build the legacy version of the codyco software.
I think we should add a section in the README.md
file in which we describe which package we build (and the link to the corresponding repository).
At the same time we should add in each sub-repository the list of the dependencies in case someone does not want to use the superbuild build system.
Also we should enable travis for each sub-repository.
When compiling from a clean build I get this error message:
[100%] Building CXX object CMakeFiles/uTest.dir/src/test/uTest.cpp.o
Linking CXX executable bin/uTest
lib/libparamhelp.so.0.0.1: undefined reference to `yarp::os::Port::includeNodeInName(bool)'
lib/libparamhelp.so.0.0.1: undefined reference to `yarp::os::Port::setAdminReader(yarp::os::PortReader&)'
collect2: ld returned 1 exit status
make[5]: *** [bin/uTest] Error 1
make[4]: *** [CMakeFiles/uTest.dir/all] Error 2
make[3]: *** [all] Error 2
make[2]: *** [libraries/paramHelp/CMakeFiles/YCMStamp/paramHelp-build] Error 2
make[1]: *** [CMakeFiles/paramHelp.dir/all] Error 2
make: *** [all] Error 2
I'm using YARP with Gazebo's clock, for which I set the corresponding environmental variable YARP_CLOCK=/clock and start my gzserver with the clock plugin. Everything seems to be working fine, except for when I try to stop my thread after I use the method yarp::os::Network::fini(). The thread thus hangs on termination with the following message:
yarp: Removing input from /clock to /10.255.37.177:60693
I guess that @francesco-romano , @nunoguedelha or @iron76 can address this.
cc @azadm
Documentation :
Installation :
rFSM
. It is a pure Lua library, so it is easy to prepare a standard compliant debian package or a LuaRocks
package.I already did some work in https://github.com/robotology-playground/codyco-superbuild/blob/travis_separate_osx_generators/.travis.yml , but there are still some problems.
The error seems to be something related to icub-main
, but it does not happens in icub-main Travis builds (perhaps the build setup is different).
Check:
While installing codyco-superbuild in iCubHeidelberg01 icubsrv (so with yarp and icub-main used from their build directories) I have an issue with codyco-modules binaries, namely the output of ldd for (for example) wholeBodyDynamicsTree is :
icub@icubsrv:~$ ldd /usr/local/src/robot//codyco-superbuild/build-x86_64/install/bin/wholeBodyDynamicsTree
linux-vdso.so.1 => (0x00007ffff1dfe000)
libYARP_OS.so.1 => not found
libYARP_sig.so.1 => not found
libYARP_math.so.1 => not found
libYARP_init.so.1 => not found
libidyntree.so.0.0.1 => /usr/local/src/robot//codyco-superbuild/build-x86_64/install/lib/libidyntree.so.0.0.1 (0x00007f3cfa673000)
libwhole-body-interface.so.0.2 => /usr/local/src/robot//codyco-superbuild/build-x86_64/install/lib/libwhole-body-interface.so.0.2 (0x00007f3cfa468000)
libyarpwholebodyinterface.so.0.2.0 => /usr/local/src/robot//codyco-superbuild/build-x86_64/install/lib/libyarpwholebodyinterface.so.0.2.0 (0x00007f3cfa141000)
libkdl-codyco.so.0.1 => /usr/local/src/robot//codyco-superbuild/build-x86_64/install/lib/libkdl-codyco.so.0.1 (0x00007f3cf9ea4000)
liborocos-kdl.so.1.2 => /usr/local/src/robot//codyco-superbuild/build-x86_64/install/lib/liborocos-kdl.so.1.2 (0x00007f3cf9c20000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f3cf991c000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f3cf9705000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f3cf933f000)
libYARP_OS.so.1 => /usr/local/src/robot/yarp/build-x86_64/lib/libYARP_OS.so.1 (0x00007f3cf8f6f000)
libYARP_sig.so.1 => /usr/local/src/robot/yarp/build-x86_64/lib/libYARP_sig.so.1 (0x00007f3cf8d3b000)
libYARP_math.so.1 => /usr/local/src/robot/yarp/build-x86_64/lib/libYARP_math.so.1 (0x00007f3cf8b27000)
libkdl-format-io.so.0.0 => /usr/local/src/robot//codyco-superbuild/build-x86_64/install/lib/../lib/libkdl-format-io.so.0.0 (0x00007f3cf88f1000)
liburdfdom_world.so.0.3 => /usr/local/src/robot//codyco-superbuild/build-x86_64/install/lib/../lib/liburdfdom_world.so.0.3 (0x00007f3cf86c5000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f3cf83bf000)
/lib64/ld-linux-x86-64.so.2 (0x00007f3cfabae000)
libYARP_dev.so.1 => not found
libACE-6.0.3.so => /usr/lib/libACE-6.0.3.so (0x00007f3cf804b000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f3cf7e42000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f3cf7c24000)
libgsl.so.0 => /usr/lib/libgsl.so.0 (0x00007f3cf77c4000)
libgslcblas.so.0 => /usr/lib/libgslcblas.so.0 (0x00007f3cf7577000)
libtinyxml.so.2.6.2 => /usr/lib/x86_64-linux-gnu/libtinyxml.so.2.6.2 (0x00007f3cf7362000)
liburdfdom_model.so.0.3 => /usr/local/src/robot//codyco-superbuild/build-x86_64/install/lib/../lib/../lib/liburdfdom_model.so.0.3 (0x00007f3cf7129000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f3cf6f25000)
Please notice that libYARP_OS.so.1
is both found
and not found
, violating a lot of my personal assumptions on the logic governing this universe.
I guess it is something related to rpath, so it would be nice if @francesco-romano can check this issue when he's back.
I'm trying to use Qt Creator with the superbuild and I think I'm almost there, but not quite yet.
First I tried giving to Qt Creator the CMakeList.txt of codyco-modules, but that didn't work because it cannot find iDynTree (and also other things I guess).
Then I tried using the CMakeList.txt of codyco-superbuild, and that worked, meaning that I managed to compile everything with Qt Creator in a new build directory. The problem is that my Qt Creator project doesn't contain any cpp/h file, so it is quite useless.
Is anybody aware of a way to make this work?
There are several tasks that should be done for all subprojects of the superbuild, for which we need volunteers ( : ) ). This tasks are also a good way of getting in touch with all the codebase and all the build system) : @naveenoid @nunoguedelha @rbonghi .
When you switch to the branch new_wbi_ID
in codyco-supebuild
for example, if you wanna get certain repositories from their new_wbi_ID
branch, you're supposed to define a tag in ProjectsTags.cmake
as set(wholeBodyInterface_TAG new_wbi_ID)
. What I expect is that after making these changes, doing make update-all
will pull all these repos from their new_wbi_ID
branch. However, this is not the case. They are all pulled from their master
branch and then you're forced to switch branch in each repository independently.
cc @hu-yue
To investigate.
Hi everyone, we will now push an updated version of the iDynTree library, that removed the dependency on kdl_codyco/kdl_format_io (all this libraries are now merged in iDynTree, for better readability, mantenability and dissemination) and fix a few bugs.
Update should be smooth, just remember to:
git pull
cd build
make update-all
The first time you update the software.
Please report any issue, thanks.
cc @robotology/codyco-admins @robotology/codyco-developers @rlober @robertocalandra @darwinlau @rueckert
The configuration file of wholeBodyDynamicsTree, i.e. wholeBodyDynamicsTree.ini, does not allow the user to load a specific joint list. For the time being, this list is loaded from the yarpWholeBodyInterface.ini as ROBOT_DYNAMIC_MODEL_JOINTS
For experiments with iCubParis02 we need to model the URDF model of the robot.
The upper part (torso+arms+head) of the robot is a standard iCub v2, that in turns is quite similar to the upper part of the iCub v1 (see http://eris.liralab.it/wiki/ICubFowardKinematics_right) , so we can use the usual model generated from icub-model-generator
that we use in iCubGenova01 at least for preliminary testing of balancing.
The legs are instead quite different both from the iCub v1 legs (iCubGenova03, and that can be generated using icub-model-generator
) and iCub v2.5 legs (iCubGenova01, iCubDarmstad01, iCubHeidelberg01, that can be directly generated from CAD using the new simmechanics-to-urdf
tool, procedure that has been done for iCubHeidelberg01 ).
We then need to extract somehow the model for iCub v2 legs (iCubParis02 has some different electronics and sensors with respect to the "standard" iCub v2 model, but this differences do not affect in a relevant way the kinematics and dynamics of the model).
The error message is:
Performing configure step for 'codycoCommons'
Not searching for unused variables given on the command line.
-- Using iCub from install
Looking for KDL in: /Users/makaveli/Documents/IIT/programs/local
Looking for KDL in: /Users/makaveli/Documents/IIT/programs/local
-- Configuring done
CMake Error in CMakeLists.txt:
Imported target "iDynTree::idyntree" includes non-existent path
"/Users/makaveli/Documents/IIT/programs/local/include /usr/local/Cellar/tinyxml/2.6.2/include /Users/makaveli/Documents/IIT/programs/local/include"
in its INTERFACE_INCLUDE_DIRECTORIES. Possible reasons include:
* The path was deleted, renamed, or moved to another location.
* An install or uninstall procedure did not complete successfully.
* The installation package was faulty and references files it does not
provide.
CMake Error in CMakeLists.txt:
Imported target "iDynTree::idyntree" includes non-existent path
"/Users/makaveli/Documents/IIT/programs/local/include /usr/local/Cellar/tinyxml/2.6.2/include /Users/makaveli/Documents/IIT/programs/local/include"
in its INTERFACE_INCLUDE_DIRECTORIES. Possible reasons include:
* The path was deleted, renamed, or moved to another location.
* An install or uninstall procedure did not complete successfully.
* The installation package was faulty and references files it does not
provide.
CMake Error in CMakeLists.txt:
Imported target "iDynTree::idyntree" includes non-existent path
"/Users/makaveli/Documents/IIT/programs/local/include /usr/local/Cellar/tinyxml/2.6.2/include /Users/makaveli/Documents/IIT/programs/local/include"
in its INTERFACE_INCLUDE_DIRECTORIES. Possible reasons include:
* The path was deleted, renamed, or moved to another location.
* An install or uninstall procedure did not complete successfully.
* The installation package was faulty and references files it does not
provide.
Probably is something related to iDynTree
INTERFACE_INCLUDE_DIRECTORIES that are not correctly passed.
@jeljaik @naveenoid
You had the same idea! Here the issue to implement it. : )
@mingxing-liu @rlober @darwinlau
I have added the codyco-isir repository https://github.com/robotology-playground/codyco-isir to the codyco-superbuild.
It should be downloaded by default, and you can disable compilation of software that depend on Eigen 3.2.0 setting to off the CODYCO_USES_EIGEN_320 cmake variable, as explained in the installation guide. Let me know if you are able to get the superbuild working. You have write access to both the codyco-superbuild and (obviously) to the codyco-isir repository, feel free to fix any issue or bugs that you find.
Now that ycm
works perfectly on Xcode, what about codyco-superbuild
?
(I mean: it does not work, so because I don't know yet the superbuild infrastructure I was wondering if we have to do something in order to update ourself to the last revision of ycm)
We are starting to have a lot of Matlab-dependent packages (WBI-Toolbox, mex-wholebodymodel, now qpOASES bindings). Given that the main two possible user configuration are "build everything except what requires Matlab" or "build everything, including what requires Matlab", we should simplify things. To streamline installation, I guess it would make sense to drop the project specific superbuild options (CODYCO_USES_WBI_TOOLBOX
, CODYCO_USES_MEX_WHOLEBODYMODEL
, etc.. ) and just have a single CODYCO_USES_MATLAB
(suggestions for a better name are welcome) that enables download/compilation of everything that requires Matlab.
Eventually we can automatically check if Matlab is available and enable this option if Matlab is found.
What is the best way to use in all subprojects some set of CMake macros?
Do we need to create a "cmake-only" repository for them? Can some of them be integrated into ycm
(if they are useful for other projects of course).
Example: https://github.com/robotology/gazebo-yarp-plugins/blob/development/cmake/AddDebugMacro.cmake
https://github.com/robotology/gazebo-yarp-plugins/blob/development/cmake/AddDebugWarnings.cmake
@drdanz @traversaro
Issue to solve:
@mikearagao better move the discussion here.
I guess you have a problem with cmake cache, can you try deleting the .../codyco-superbuild/build/kdl_format_io
directory and try again?
I was trying to compile the codyco super-build and I receive the following compilation error:
In file included from /usr/local/src/robot/codyco-superbuild/libraries/kdl_format_io/src/converters/iKin_export.cpp:38:0:
/usr/local/src/robot/codyco-superbuild/libraries/kdl_format_io/include/kdl_format_io/iKin_export.hpp:46:31: fatal error: iCub/iKin/iKinFwd.h: No such file or directory
compilation terminated.
make[5]: *** [CMakeFiles/kdl-format-io.dir/src/converters/iKin_export.cpp.o] Error 1
make[4]: *** [CMakeFiles/kdl-format-io.dir/all] Error 2
make[3]: *** [all] Error 2
make[2]: *** [libraries/kdl_format_io/CMakeFiles/YCMStamp/kdl_format_io-build] Error 2
make[1]: *** [CMakeFiles/kdl_format_io.dir/all] Error 2
make: *** [all] Error 2
The configuration file of wholeBodyDynamicsTree, i.e. wholeBodyDynamicsTree.ini, does not allow the user to load a specific joint list. For the time being, this list is loaded from the yarpWholeBodyInterface.ini as ROBOT_DYNAMIC_MODEL_JOINTS
The mex-wholebodymodel is now alive and kicking, I guess it is a good idea to properly integrate it in the codyco-superbuild. It should be quite easy, a stub is already present and the only thing left to do is to properly set up cmake options. It could also be cool to have an option CODYCO_USES_MATLAB for building all the software in the superbuild that depend on Matlab, namely WBI-Toolbox and mex-wholebodymodel.
@naveenoid you want to take care of it for getting some hand on experience of CMake?
cc @barrelback
I guess it makes sense to move the codyco-superbuild repository to the robotology account, given it is now the entry-point for all codyco software. cc @drdanz
The problem does not appear after the second superbuild make. Probably worth adding a check on travis.
cc @hu-yue
Currently we enforce dependency on Eigen 3.2 in the superbuild.
Unfortunately some ISIR users (@darwinlau @mingxing-liu @rlober) are forced by the XDE dependency to just use Eigen 3.0.5.
I'll add a flag that disable the compilation of software that requires Eigen 3.1+ , to enable them to develop their software using yarp-wholebodyinterface and the codyco-superbuild, while continuining to use just Eigen 3.0.5 .
When building I get this error (ubuntu 12.04, yarp, icub, kdl_codyco compiled from source):
Linking CXX shared library lib/libidyntree.so
/usr/bin/ld: cannot find -lYARP::YARP_OS
/usr/bin/ld: cannot find -lYARP::YARP_sig
/usr/bin/ld: cannot find -lYARP::YARP_math
/usr/bin/ld: cannot find -lYARP::YARP_dev
/usr/bin/ld: cannot find -lYARP::YARP_name
/usr/bin/ld: cannot find -lYARP::YARP_init
collect2: ld returned 1 exit status
make[5]: *** [lib/libidyntree.so.0.0.1] Error 1
make[4]: *** [CMakeFiles/idyntree.dir/all] Error 2
make[3]: *** [all] Error 2
make[2]: *** [libraries/iDynTree/CMakeFiles/YCMStamp/iDynTree-build] Error 2
make[1]: *** [CMakeFiles/iDynTree.dir/all] Error 2
make: *** [all] Error 2
l_foot_dh_frame
, r_foot_dh_frame
, used for expressing contact information and for the iCubGui . We added them manually on the generated model in robotology-legacy/yarp-wholebodyinterface@d02a03b , but we should add them on the original CAD as SCSYS and import them from CAD.torso_subtree
when the robot is standing is the chest
link, but no convention is used for now on the frame to use for expressing chest contact information (this will be addressed in a issue that will be opened in icub-main).simmechanics-to-urdf
script (explicitly defining this as a workflow step at each model generation is also important).l_sole
frame. Unfortunately this is a problem because the l_sole
position on the model generated used the old generation procedure it broken. iCubHeidelberg0
uses the right orientation for l_sole
, and the software should use an appropriate frame for representing the worldA lot of fixed and workaround have been committed to the https://github.com/robotology/codyco-modules/tree/heidelberg , we should streamline the fixed as soon as possible so @hu-yue can switch back to master.
(Actually a meta issue, but opening here because it affects mostly people in our team).
For generating URDF models of the iCub, we rely now on two different systems:
For now the only robot that can use the new generation system is iCubHeidelberg01, because for all the other robots we still don't have full simmechanisms model.
Related to this, we need to document all the modification we do to the URDF models so that we can replicate this modifications:
Both today while try to install codyco-superbuild on a Wheezy machine and this evening when tryng to install it on a Ubuntu 14.04 virtual machine, I got the same error when boostraping YCM:
osboxes@osboxes:~/src/codyco-superbuild/build$ cmake ..
-- The C compiler identification is GNU 4.8.2
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- YCM not found. Bootstrapping it.
-- Downloading YCMEPHelper.cmake
CMake Error at cmake/IncludeUrl.cmake:245 (message):
Downloading YCMEPHelper.cmake - ERROR 1: "unsupported protocol"
Call Stack (most recent call first):
cmake/YCMBootstrap.cmake:105 (include_url)
CMakeLists.txt:40 (include)
Then, I try to manually install YCM, and on both machines I got the same Eigen related error:
[ 76%] Downloading file COPYING.BSD from Eigen mercurial repository (ref e9712d1)
CMake Error at /home/osboxes/src/ycm/build/3rdparty/CMakeFiles/3rdparty-eigen.dir/ycm_download_COPYING_BSD.cmake:13 (message):
Cannot download file
https://bitbucket.org/eigen/eigen/raw/e9712d1/COPYING.BSD
Network problem.
Both machines are correctly connected to the network, and the superbuild works fine after installing ycm with the offline tarballs.
cc @drdanz
CMake Warning (dev) at cmake/Buildorocos_kdl.cmake:12 (get_target_property):
Policy CMP0045 is not set: Error on non-existent target in
get_target_property. Run "cmake --help-policy CMP0045" for policy details.
Use the cmake_policy command to set the policy and suppress this warning.
get_target_property() called with non-existent target "orocos_kdl".
Call Stack (most recent call first):
build/install/share/YCM/modules/FindOrBuildPackage.cmake:169 (include)
cmake/Buildkdl_format_io.cmake:5 (find_or_build_package)
build/install/share/YCM/modules/FindOrBuildPackage.cmake:169 (include)
CMakeLists.txt:41 (find_or_build_package)
This warning is for project developers. Use -Wno-dev to suppress it.
CMake Warning (dev) at cmake/Buildorocos_kdl.cmake:21 (get_target_property):
Policy CMP0045 is not set: Error on non-existent target in
get_target_property. Run "cmake --help-policy CMP0045" for policy details.
Use the cmake_policy command to set the policy and suppress this warning.
get_target_property() called with non-existent target "orocos_kdl".
Call Stack (most recent call first):
build/install/share/YCM/modules/FindOrBuildPackage.cmake:169 (include)
cmake/Buildkdl_format_io.cmake:5 (find_or_build_package)
build/install/share/YCM/modules/FindOrBuildPackage.cmake:169 (include)
CMakeLists.txt:41 (find_or_build_package)
This warning is for project developers. Use -Wno-dev to suppress it.
CMake Warning (dev) at cmake/Buildorocos_kdl.cmake:22 (get_target_property):
Policy CMP0045 is not set: Error on non-existent target in
get_target_property. Run "cmake --help-policy CMP0045" for policy details.
Use the cmake_policy command to set the policy and suppress this warning.
get_target_property() called with non-existent target "orocos_kdl".
Call Stack (most recent call first):
build/install/share/YCM/modules/FindOrBuildPackage.cmake:169 (include)
cmake/Buildkdl_format_io.cmake:5 (find_or_build_package)
build/install/share/YCM/modules/FindOrBuildPackage.cmake:169 (include)
CMakeLists.txt:41 (find_or_build_package)
This warning is for project developers. Use -Wno-dev to suppress it.
I switched the codyco-superbuild to the new_wbi_ID branch and get errors while compiling.
The error occurs on motorFrictionIdentification and torqueBalancing. Did I miss something that I should have taken care of after switching branch?
[ 54%] Building CXX object src/modules/motorFrictionIdentification/CMakeFiles/motorFrictionIdentification.dir/src/motorFrictionIdentificationModule.cpp.o
[ 57%] Building CXX object src/modules/motorFrictionExcitation/CMakeFiles/motorFrictionExcitation.dir/src/motorFrictionExcitationModule.cpp.o
/home/yue/iCubSW/codyco-superbuild/main/codyco-modules/src/modules/motorFrictionIdentification/src/motorFrictionIdentificationModule.cpp: In member function ‘virtual bool motorFrictionIdentification::MotorFrictionIdentificationModule::configure(yarp::os::ResourceFinder&)’:
/home/yue/iCubSW/codyco-superbuild/main/codyco-modules/src/modules/motorFrictionIdentification/src/motorFrictionIdentificationModule.cpp:105:54: error: ‘PARAM_ID_JOINT_NAMES_LIST’ was not declared in this scope
jointNamesList.resize(paramHelper->getParamProxy(PARAM_ID_JOINT_NAMES_LIST)->size);
^
[ 60%] Building CXX object src/modules/torqueBalancing/CMakeFiles/torqueBalancing.dir/src/ReferenceGeneratorInputReaderImpl.cpp.o
make[5]: *** [src/modules/motorFrictionIdentification/CMakeFiles/motorFrictionIdentification.dir/src/motorFrictionIdentificationModule.cpp.o] Error 1
make[5]: *** Waiting for unfinished jobs....
[ 63%] Building CXX object src/modules/torqueBalancing/CMakeFiles/torqueBalancing.dir/src/MinimumJerkTrajectoryGenerator.cpp.o
[ 66%] Building CXX object src/modules/torqueBalancing/CMakeFiles/torqueBalancing.dir/src/config.cpp.o
make[4]: *** [src/modules/motorFrictionIdentification/CMakeFiles/motorFrictionIdentification.dir/all] Error 2
make[4]: *** Waiting for unfinished jobs....
[ 69%] [ 72%] Building CXX object src/modules/torqueBalancing/CMakeFiles/torqueBalancing.dir/src/Reference.cpp.o
Building CXX object src/modules/motorFrictionExcitation/CMakeFiles/motorFrictionExcitation.dir/src/motorFrictionExcitationThread.cpp.o
[ 75%] Building CXX object src/modules/torqueBalancing/CMakeFiles/torqueBalancing.dir/src/main.cpp.o
Linking CXX executable ../../../bin/torqueBalancing
[ 75%] Built target torqueBalancing
Linking CXX executable ../../../bin/motorFrictionExcitation
[ 75%] Built target motorFrictionExcitation
make[3]: *** [all] Error 2
make[2]: *** [main/codyco-modules/CMakeFiles/YCMStamp/codyco-modules-build] Error 2
make[1]: *** [CMakeFiles/codyco-modules.dir/all] Error 2
make: *** [all] Error 2
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.