ros / ros-overlay

Gentoo Overlay for ROS packages
33 stars 30 forks source link

ros-melodic/liborocos-kdl installs into /opt/ros/melodic/lib64 not lib #892

Open MagmaiKH opened 4 years ago

MagmaiKH commented 4 years ago

Moving files into ../lib works-around issue.

/opt/ros/melodic/lib/liborocos-kdl.so -> liborocos-kdl.so.1.4 /opt/ros/melodic/lib/liborocos-kdl.so.1.4 -> liborocos-kdl.so.1.4.0 /opt/ros/melodic/lib/liborocos-kdl.so.1.4.0

allenh1 commented 4 years ago

Moving files into ../lib works-around issue.

I would not suggest doing that... That will confuse portage's tracking of the files, and is generally not a good approach. A better hack fix is to use symlinks instead.

@MagmaiKH What exactly is the issue you're referring to? Is a different package broken?

flabrosse commented 4 years ago

Similar issue with eigenpy that installs its pkg-config file in lib64:

/opt/ros/melodic/lib64/pkgconfig/eigenpy.pc

This means that pkg-config does not find it without also including the lib64 version of the path in the PKG_CONFIG_PATH environment variable. This needs to be added to /opt/ros/melodic/_setup_util.py (and the other versions of ROS I guess).

negril commented 4 years ago

Shouldn't all 64 bit libs be in /opt/ros/melodic/lib64? Analogous to /lib64 and /usr/lib64 etc?

flabrosse commented 4 years ago

Shouldn't all 64 bit libs be in /opt/ros/melodic/lib64? Analogous to /lib64 and /usr/lib64 etc?

I don't disagree, but the PKG_CONFIG_PATH needs to reflect that. At the moment it doesn't.

allenh1 commented 4 years ago

This means that pkg-config does not find it without also including the lib64 version of the path in the PKG_CONFIG_PATH environment variable. This needs to be added to /opt/ros/melodic/_setup_util.py (and the other versions of ROS I guess).

Yep, that would do it. Usually I handle such a thing by adding a patch to catkin (I think? I think it's catkin).

EDIT: Yes, it's catkin.