← Back to team overview

kicad-developers team mailing list archive

Re: RPATH issue on _pcbnew.so

 

What do you mean by a second target? Keep in mind that we don't want to
recompile everything twice just because of the kiface libraries. If you can
create a target which is dependent on the pcbnew stand-alone app and
which used the object files to create a shared library, that would be good.
I can't recall offhand if some object files would need to be rebuilt for
the kiface library, but that can be handled by CMake as well.

Regarding  KiCad using pcbnew.kiface directly, I suspect the intention was for
pcbnew to use that library regardless of whether it was run via the KiCad
application or as the pcbnew standalone application. On that topic I'd rather
do nothing until KiCad could be refactored to the point where a core pcb API
is completely independent of the GUI; at the moment there is such a tight
coupling between the GUI and operations on the PCB that it's difficult to
see how some things work.

Cirilo

On Sun, Feb 25, 2018 at 1:20 AM, hauptmech <hauptmech@xxxxxxxxx> wrote:
> I took a look at what approaches might work to fix this.
>
> I looked at removing the RPATH manually, in keeping with manual file
> manipulation approach used by the authors of this section of the CMake file.
> Shell tools to do this don't appear to be universal and it's not using the
> CMake way. So I moved on.
>
> The approach that looks the most promising to me is to create a second
> target for the scripting library with the same sources as pcbnew.kiface.
> Then CMakes install Target will remove the RPATH as expected. To reduce the
> impact on compile time one could use:
> https://cmake.org/Wiki/CMake/Tutorials/Object_Library
>
> In the CMake file, Dick Hollenbeck mentions a future plan to use the
> pcbnew.kiface file directly. Not sure what was involved with that.
>
> On 25/02/18 10:37, Carsten Schoenert wrote:
>>
>> Hello Wayne,
>>
>> Am 24.02.18 um 21:44 schrieb Wayne Stambaugh:
>>>
>>> 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.
>>
>> the build and installation is just fine, the issue is that this file has
>> a RUNPATH set to folder there it was compiled. It should have *no*
>> RUNPATH.
>>
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp


Follow ups

References