ros-noetic icon indicating copy to clipboard operation
ros-noetic copied to clipboard

Ensure .dll files in Windows gets installed in %CONDA_PREFIX%/Library/bin and not %CONDA_PREFIX%/Library/lib

Open traversaro opened this issue 1 year ago • 6 comments

Solution to issue cannot be found in the documentation.

  • [X] I checked the documentation.

Issue

See https://github.com/RoboStack/ros-noetic/issues/374#issuecomment-1987329600 .

.dll files currently installed in lib:

  • [x] diagnostic_aggregator.dll (probably not necessary as it is a plugin: https://github.com/ros-perception/image_common/blob/21aac6a4b84017c10e8ed7ad86bc59826a77aa1f/image_transport/CMakeLists.txt#L44)
  • [ ] eigen_conversions.dll (already done upstream in https://github.com/ros/geometry/pull/214, but never released)
  • [x] image_transport.dll (probably not necessary as it is a plugin: https://github.com/ros-perception/image_common/blob/21aac6a4b84017c10e8ed7ad86bc59826a77aa1f/image_transport/CMakeLists.txt#L44)
  • [x] image_transport_plugins.dll (probably not necessary as it is a plugin: https://github.com/ros-perception/image_common/blob/21aac6a4b84017c10e8ed7ad86bc59826a77aa1f/image_transport/CMakeLists.txt#L44)
  • [ ] kdl_conversions.dll (already done upstream in https://github.com/ros/geometry/pull/214, but never released)
  • [ ] resource_retriever.dll (https://github.com/ros/resource_retriever/pull/91)
  • [ ] tf_conversions.dll (already done upstream in https://github.com/ros/geometry/pull/214, but never released)
  • [ ] srfdom.dll (https://github.com/ros-planning/srdfdom/pull/119)

traversaro avatar Mar 10 '24 18:03 traversaro

A specific case of this was reported in https://github.com/RoboStack/ros-noetic/issues/381 .

traversaro avatar Mar 10 '24 18:03 traversaro

Great investigation as always @traversaro, thanks a lot! I wonder whether we should include a test section in vinca that looks for any dlls installed in the wrong location, to avoid issues in the future? Also, do you think we have similar problems in ros-humble? It might be worth checking.

Tobias-Fischer avatar Mar 11 '24 04:03 Tobias-Fischer

I wonder whether we should include a test section in vinca that looks for any dlls installed in the wrong location, to avoid issues in the future?

Unfortunately it seems that some packages install their .dll in the form of plugin that are expected to be found in %CONDA_PREFIX%\Library\lib, as such location is declared in a .xml file to locate the plugin, so those are ok, so we can't just check that there are no .dll in %CONDA_PREFIX%\Library\lib, unless we have a test that we skip for some packages, but that is a bit more complex.

traversaro avatar Mar 11 '24 08:03 traversaro

Also, do you think we have similar problems in ros-humble? It might be worth checking.

Good point, installing ros-humble-desktop ros-humble-moveit there are two problematic files:

 Directory of C:\Users\straversaro\AppData\Local\miniforge3\envs\ros-humble\Library\lib

09/17/2023  06:18 AM            84,992 backward.dll
02/07/2023  08:17 PM            13,312 tf2_eigen_kdl.dll
               2 File(s)         98,304 bytes
               0 Dir(s)  443,462,447,104 bytes free

I will open a ros-humble issue to tackle those.

traversaro avatar Mar 11 '24 08:03 traversaro

For backward_dll, this was already fixed upstream in https://github.com/pal-robotics/backward_ros/commit/1ca04e3b895fe94449b8f11091e07a864b6e5650 .

traversaro avatar Mar 11 '24 08:03 traversaro

Reopening till packages are rebuilt

Tobias-Fischer avatar Mar 13 '24 19:03 Tobias-Fischer

Should be fixed with the rebuild - feel free to reopen if not.

Tobias-Fischer avatar Jan 10 '25 06:01 Tobias-Fischer