Library directories, hardwired defaults create IO errors

recently updated to 4.0.7 64bit on Windows10 without installing libraries (since I had all I need already). The variable KISYSMOD is properly set to the correct path but not standard value. When trying to search for footprints f.i. in the footprint browser I get the following message:
“IO_ERROR: footprint library path ‘C:\Program Files\KiCad\share\kicad\modules/semiconductor’ does not exist
from kicad_plugin.cpp : FootprintEnumerate() : line 1801”

The definition in “kicad_common” is correct (obviously a different working directory.
Where is the wrong directory (as listed in the error message) defined and how can I make sure that Kicad uses the proper customized definition?

Thanks
m

Preferences->Footprint Libraries Manager shows a table of what footprint libraries will be loaded. KISYSMOD is only relevant if the library paths use that macro name,

new project
pcbnew -> preferences -> configure path shows the correct paths
pcbnew -> preferences -> foorprint libraries manager shows the hardwired path

only if I delete them in the project and define newly the error goes away, albeit for this project only

Don’t know if this is a typo in your message or in the real path.
modules/semiconductor instead of modules\semiconductor

I can’t try to reproduce the error, I’m using Linux.

Ok, you need to make the the table point to the correct path. KISYSMOD is just a shortcut, it does not do anything by itself

Therefore, if your library is in C:\myfiles\library.pretty, then you need that path in the table. If your KISYSMOD also happens to point to c:\myfiles, only then can you use it as a shortcut, e.g. ${KISYSMOD}\library.pretty

I don’t bother with KISYSMOD, it doesn’t really help much and it adds an extra layer of confusion.

In KiCad, I don’t think \ vs / matters, KiCad handles both, but that may depend on version.

2 Likes

I modified the paths in “pcbnew ->preferences -> configure paths” . In this menu they show up properly even when creating a new project.
When I then go to "pcbnew -> foorprint libraries manager " on the bottom of the window there is a table (non editable there) showing the path substitutions. Here the hardwired paths (erroneously) show up being empty or non existent cause the error as shown above.

It might help if you could provide screenshots.

I don’t have the 4.0.7 + Win10 combination, but have a look at \users\myname\appdata\roaming\kicad\fp-lib-table with a text editor

I had to de/re-install Kicad in order to solve the problem. Part of the problems might have been that in the first installation I deleted the “program files\kicad\share” directory entirely as I do not need the stuff in there and my actual goal is to have all data (payload and config) in a seperate directory say “Users\myname\hardware_dev” so back-up (and restore if necessary) becomes simple task.

Does anybody know the meaning/purpose of the definition “working directory” in “kicad_common” is?
(F.y.i. I know enough english to be able to translate these two words…)

Also the directory entries C:\program files\kicad\share\kicad\libray as well as …\template are rather sticky, can not be removed within the project noir have I found a config file where I can eliminate them.

Thanks all for your help

I think that is used to restore the last current directory for things like file open dialogs.

Those paths are hardcoded in KiCad v4, the symbol library path will change in v5 to be more similar to the way footprint paths are handled.

The path for templates deleivered with KiCad is also hardcoded, but there is also an environment variable KICAD_PTEMPLATES which can be used to select “user” templates.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.