← Back to team overview

kicad-developers team mailing list archive

Re: Symbol library table remapping question

 


On 12/06/2017 04:15 PM, Bernhard Stegmaier wrote:
> Hi Wayne,
> 
> Thanks for the explanation.
> 
>> On 6. Dec 2017, at 21:47, Wayne Stambaugh <stambaughw@xxxxxxxxx
>> <mailto:stambaughw@xxxxxxxxx>> wrote:
>>
>> This all depends on the symbol library list and symbol library path
>> configuration of the project being remapped.  Here is how the remapping
>> works:
>>
>> Attempt to find the symbol in a library from the project library list.
>> This is the list of symbol libraries stored in the project file found
>> using the project and default lookup paths.
>>
>> If the symbol is found in any library but the cache, reconstruct the
>> full path to the symbol library.
>>
>> Search the global footprint library table for an entry matching the full
>> path.
> 
> OK, I might have found the problem.
> 
> In the *.pro file there was:
> <<<
> LibDir=/Users/bstegmaier/10 - Projekte/KiCad/Library
> [eeschema/libraries]
> LibName1=AtmelCorporation
> LibName2=Connectors
> LibName3=Devices
> LibName4=Displays
> LibName5=Power
>>>>
> 
> I have 3 different machines, but with slightly different folder setup.
> To keep things simple, I used symlinks to make the library folder look
> the same.
> The path
>   /Users/bstegmaier/10 - Projekte/KiCad/Library
> Is what is used in all project files.
> It will be great to get rid of this by means of symbols-lib-table...
> 
> For the machine I used to test the remap the folder
>   /Users/bstegmaier/10 - Projekte/KiCad/Library
> Is actually a symlink to
>   /Volumes/OSXData/bstegmaier/10 - Projekte/KiCad
> 
> For the Devices library the remap-generated project table entry is
> <<<
> …
> (lib (name Devices1)(type Legacy)(uri "/Users/bstegmaier/10 -
> Projekte/KiCad/Library/Devices.lib")(options "")(descr ""))
> …
>>>>
> 
> My global table has
> <<<
> …
> (lib (name Displays)(type Legacy)(uri
> ${KICAD_SYMBOL_DIR}/Displays.lib)(options "")(descr "Display devices"))
> …
>>>>
> with ${KICAD_SYMBOL_DIR} being
>   /Volumes/OSXData/bstegmaier/10 - Projekte/KiCad/Library
> 
>> There a several reasons why this could happen depending your environment
>> variables, global system library table configuration, project symbol
>> library list, and any symbol library lookup paths added to the project.
> 
> So, I guess this won’t match as you said, or do you attempt to resolve
> the symlink for comparison?

No, the correct remap is to use the same library that was being used
prior to the remapping.  I think this makes the most sense.

> 
>> Is the full path and file name for Devices in the global symbol library
>> table the same as Devices1 in the project symbol library table?  If not,
>> then it's your configuration and the remapping is correct.  If the paths
>> are the same, then there is a bug in the remapping algorithm that I
>> missed.  If it's the latter, please file a bug report so I can fix it.
> 
> I did a quick check and set ${KICAD_SYMBOL_DIR} to
>   /Users/bstegmaier/10 - Projekte/KiCad/Library
> => the symlink to the real folder, the same as used in the *.pro file.
> 
> Remapping did work without problems then and didn’t create a project table.
> 
> If you consider this a bug, I can file a bug report for it…

I do not consider this a bug.  The remapping algorithm selected the
appropriate library.  I have the same issue on all of my systems because
I have so many versions of kicad installed simultaneously.  I suspect
this will be less of an issue for users who only have a single version
kicad installed.

> 
> 
> Thanks,
> Bernhard
> 
> 


Follow ups

References