← Back to team overview

kicad-developers team mailing list archive

Re: rename of kiface to so

 

When multiple versions of kicad are installed in different install
paths, library versioning has to be correct or it's possible that the
wrong kiface gets linked.  I'm thinking more of users or developers who
build and install from source rather than packaged installs.  On linux,
I could install the stable version of kicad in /usr and my dev build in
/usr/local or /home.  If _pcbnew.so (kiface) exists in multiple ldconfig
paths with no or identical version information, how does ld know which
_pcbnew.so to use?

On 2/13/2017 9:30 AM, Chris Pavlina wrote:
> Can you explain why you think installing them as .so to /usr/lib changes
> in any way our responsibility for library versioning vs installing them
> as .kiface to /usr/bin? They still get installed with the whole package,
> reinstalled on upgrade, uninstalled on package removal, etc...
> 
> On Mon, Feb 13, 2017 at 09:21:26AM -0500, Wayne Stambaugh wrote:
>> I'm not opposed to this but once we head down this path, we will forever
>> be responsible for library versioning and any implications it has with
>> regard to multiple installed versions of kicad.  I'm not sure we are
>> ready to open that can of worms just yet.  Keep in mind that .kifaces
>> are not generic libraries, they can only be linked to a specific kicad
>> app.  Link to the wrong .kiface and your sure to have issues.
>>
>> On 2/12/2017 2:01 PM, Chris Pavlina wrote:
>>> Please!!:
>>>
>>> - Move .kiface into $PREFIX/lib on linux, and the equivalent place on
>>>   other systems
>>>
>>> - Rename them from _foo.kiface to foo.so on linux and osx and foo.dll on
>>>   windows
>>>
>>> - Stop installing them with the executable bit set on linux! Presumably
>>>   osx too. It's totally unnecessary for shared libs, and ESPECIALLY bad
>>>   if they're in $PREFIX/bin.
>>>
>>> On Mon, Feb 13, 2017 at 07:49:36AM +1300, Simon Wells wrote:
>>>> As the kifaces are just shared objects/libraries is there any reason
>>>> they must be named .kiface instead of .so (or other name used on
>>>> system for dynamic libs), It seems to just be making things more
>>>> difficult and confusing when people see .kiface and have no ideaa what
>>>> it means.
>>>>
>>>> These should really not be place in bin/ on linux systems either as
>>>> its really not designed for that sort of thing
>>>>
>>>> _______________________________________________
>>>> 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
>>>
>>> _______________________________________________
>>> 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
>>>
>>
>> _______________________________________________
>> 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