-
Notifications
You must be signed in to change notification settings - Fork 48
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add robot-log-visualizer package, its dependencies and rob_sup_pure_python_ycm_ep_helper CMake function to add pure Python packages #1069
Conversation
I were not sure were those commands were running, so I did for test:
and the result is:
We just need to understand how to get the source directory to pass to pip. |
From https://github.com/robotology/ycm/blob/3971712471a684b486b808b255b8b3187e098202/build-modules/BuildGtkDatabox.cmake#L18 I guess it is |
Two problems: pip install options and installation locationSo, there are two variants that could work for us, but none that works out of the box. Use of --target optionThe one that we have now is:
That (on Ubuntu/apt) installs files in:
With this the Python package would be found without modifying the Use of --prefix optionThe alternative is:
That install files in (on Ubuntu/apt):
With this variant, the executable could be find without modification of I found no combination of options that permit to install both the executable and the python library exactly were we usually put them in the superbuild. DependenciesIdeally, I would prefer to install all the possible dependencies with apt and the remaining one with the superbuild, so we can just use the existing After a first check, the one that are either not available on Ubuntu 20.04 or not sufficiently recent are:
Probably it is reasonable to just package them as well in the superbuild (perhaps with a simplified macro so that their |
apt deps: |
I decided to go for the |
541bed4
to
17b5d84
Compare
The version installed by apt on ubuntu 20.04 seems ok.
Apparently this is not required? |
and Windows (conda): There is an icon problem, but apparently that is a known problem that is currently being worked on (@GiulioRomualdi I do not think there is an issue, in case there is feel free to drop a link). Beside that, the PR is working. The only remain thing to check is to try to build some conda packages, I will trigger a job for doing that. |
868f11d
to
c38ac6e
Compare
@GiulioRomualdi I did the modifications for the conda packages, should we had the numix icons as a dependency? |
Conda packages generation worked fine, see https://github.com/robotology/robotology-superbuild/runs/6023302790 . I think the PR is ready for review. @GiulioRomualdi should we add the numix dependendencies? Which packages in particular? |
f05b00c
to
f8cb8d0
Compare
All conda jobs are failing with error:
Probably some regression related to recent CMake version (or connected to robotology/ycm-cmake-modules#50) that creates problems if one passes As a workaround probably we can just specify a command that just exits with success an all operating systems, such as |
The workaround worked fine. |
@GiulioRomualdi friendly ping |
For the time being the visualizer do not depend on numix so we can avoid to add the dependency. |
Ack, I think that we can merge then. Not sure about the icon situation, but we can always debug once it has been merged. |
@GiulioRomualdi agreed to merge in person. |
This PR adds the
robot-log-visualizer
package and its dependencies to the robotology-superbuild, if the optionROBOTOLOGY_USES_PYTHON
andROBOTOLOGY_ENABLE_DYNAMICS_FULL_DEPS
are enabled.As the
robot-log-visualizer
has many dependencies, for apt this dependencies were not added to theapt.txt
that is installed by./script/install_apt_dependencies.sh
. Instead, we provided a newapt-python.txt
that is installed by./script/install_apt_python_dependencies.sh
. Similarly, for what regard conda the dependencies are not the one listed in the main conda documentation, but we instead updated the documentation on the dependencies that are required byROBOTOLOGY_USES_PYTHON
in https://github.com/robotology/robotology-superbuild/blob/master/doc/cmake-options.md#python .Furthermore, as
robot-log-visualizer
is a pure Python package, the PR also adds arob_sup_pure_python_ycm_ep_helper
CMake helper function to simply the process or writingBuild<package>.cmake
scripts for pure Python packages. As an example, this is theBuildobot-log-visualizer.cmake
script: