← Back to team overview

kicad-developers team mailing list archive

Re: RPATH issue on _pcbnew.so

 

Carsten,

On 02/24/2018 02:08 PM, Carsten Schoenert wrote:
Hi,

I guess it's not intended that the library / shared object _pcbnew.so
build in pcbnew/ set up a RPATH based on the build directory?

This is the kicad python scripting shared object which should get installed in the correct python library path. CMake installs it in the correct place on both my Debian and Ubuntu builds so I don't understand what the issue is here.


root@i5:/# ldd build/kicad-5.0.0~rc0+dfsg1/debian/build/pcbnew/_pcbnew.so | grep build
	libkicad_3dsg.so.2.0.0 => /build/kicad-5.0.0~rc0+dfsg1/debian/build/3d-viewer/3d_cache/sg/libkicad_3dsg.so.2.0.0 (0x00007f8188148000)

This causes that lintian (a big QS tool for Debian packaging) is writing
a error out on this. This package wouldn't be accepted from the FTP
master if I'd do a upload to NEW. And I need to upload to NEW as the
package structure will change.

This is the build path not the install path. By default on linux builds the shared object gets installed in /usr/local/lib/libkicad_3dsg.so.2.0.0. This is the 3D viewer plugin so I don't know if this the correct convention for plugins but as it is a shared object, it will get recognized by the os and load properly. If plugins should be installed in a different path, please let me know what that path should be and we can change the cmake install path for this shared object.


root@i5:/build/kicad-5.0.0~rc0+dfsg1# lintian -E
warning: the authors of lintian do not recommend running it with root privileges!
E: kicad: binary-or-shlib-defines-rpath usr/lib/python2.7/dist-packages/_pcbnew.x86_64-linux-gnu.so /build/kicad-5.0.0~rc0+dfsg1/debian/build/3d-viewer/3d_cache/sg


As visible this shared object is moved into
/usr/lib/python2.7/dist-packages/_pcbnew.x86_64-linux-gnu.so as an
Python module.

I don't know what has to be changed here so I'd like to ask someone who
is more experienced with the cmake world.
I could change this with chrpath but it's better if upstream would fix
this. Surprisingly the library _pcbnew.kiface hasn't this issue so I'm a
bit clueless.

I don't know that anything changed that I am aware of with _pcbnew.so. The 3D viewer plugin was introduced during this development cycle but I have been successfully building and installing from source on Debian during the entire current development cycle so I don't have any good answers for you.

Wayne


The Debian wiki has some extra information about the Rpath problematic.

https://wiki.debian.org/RpathIssue



Follow ups

References