Global Footprints Lost in Upgrade form 4 to 5.0 on OSX - Page 1
Forum section: electronics / general

author: MaxFrister
author_rank: Regular Contributor
timestamp: September 19, 2018, 07:51:07 am
content: I've been running Kicad on a mac (Osx 10.13) successfully for a while. Since I have upgrade to 5.0 release I seem to have completely lost the "global" footprint libraries. They show as ghosts in footprint association and in pcb place but do not let me open or select them. The .pretty files appear to exist and be in the right location.The only footprints I can see and use are the ones that I created myself in Kicad 4 and are in a local directory.Is there some configuration setting/table that needs to be updated? I tried to right an early build of 5.0 and something might be left over but I have no idea where.

author: MaxFrister
author_rank: Regular Contributor
timestamp: September 19, 2018, 02:07:20 pm
content: Far from a fix, but here is how I got to see the standard footprints:1. Download the "kicad-footprints-master" directory from the download site.2. Manually overwrote /Library/Application Support/kicad/modules with that directory. Need to be superuser for that. I believe these were still version 4 footprints before.3. Copy the fp-lib-table contained in that directory to the directory containing the current project.Unfortunately, I will be required to copy the fp-lib-table to every new project and keep it up to date.There must be a better way to point to the "global" footprints.

author: hermit
author_rank: Frequent Contributor
timestamp: September 19, 2018, 03:05:27 pm
content: I don't know about MAC. In Linux I believe the recommendation is to set aside the configs. /home/me/.config/kicad The global table got remade on my first project.

author: MaxFrister
author_rank: Regular Contributor
timestamp: September 19, 2018, 06:20:13 pm
content: Thanks hermit.I believe I have a similar problem. Somewhere, somehow despite a clean install, Kicad 5.0 it is still picking up a stale config file, environment variable, etc. Unfortunately it is not in the OSX analog of the Linux location.I wish I could find it under OSX.

author: MaxFrister
author_rank: Regular Contributor
timestamp: September 19, 2018, 07:28:53 pm
content: Found it. What I was missing was the location of the "config directory".Apparently on OSX it is located at/Users/me/Library/Preferences/kicadwhere "me" is your short user name.Once I located it, I deleted the footprint and symbol tables. I then started kicad which recreated the correct ones.So to get a clean install from Kicad for OSX.1. Delete Kicad from the applications folder2. Delete /Library/kicad3. Delete /Users/me/Library/Application Support/kicad4. Delete /Users/me/Library/Preferences/kicadThen, and only then, install kicad 5.(IMHO, this is a non-obviously location. I never did find it in the documentation or forums. It is obscure, rarely used, and does not show under default search options).

author: Bassman59
author_rank: Super Contributor
timestamp: September 19, 2018, 07:55:04 pm
content: Quote from: MaxFrister on September 19, 2018, 06:20:13 pmOn macOS, the user footprint library table is stored in ~/Library/Preferences/kicad/fp-lib-tableThis directory also has the schematic library table sym-lib-table as well as sticky defaults for each of the Kicad applications (pcbnew, eeschema), etc.The libraries themselves live in ~/Library/Application Support/kicad/The library tables may also be in the global /Library/Preferences/kicad/ directory and the libraries may be in /Library/Application Support/kicad/ (note the lack of ~ in each case).On my Macs, the preferences and libraries are all in the user Library directory, not the system, even though when you install Kicad from the disk image it wants you to copy the libraries to the system directory.To complicate things even further, I just checked my laptop (the machine on which I type this) and from the Kicad project manager or from eeschema menu, I did a Preferences | Configure Paths ... and I see that all of the environment variables (such as KICAD_SYMBOL_DIR) use the global /Library/Application Support/kicad path for the symbol libraries but the user-specific /Users/andy/Library/Application Support/kicad/modules for the KISYSMOD variable.And to make it more confusing, in eeschema's Preferences | Manage Symbol Libraries, the symbol library entries in the table all have complete paths to each library, but in pcbnew, the footprint libraries table uses the KISYSMOD variable as a prefix for the location of the libraries.The environment variables are actually stored in the file ~/Library/Preferences/kicad_commonBut, I know why all of that is the case. I've been using Kicad for a few years now, and have migrated libraries from the older types and management to the latest, and as Kicad has changed its library system (for the better), my installation has remained the same. So my libraries are all in the ~/Library/Application Support/kicad directory instead of in the global version of that. When I created my sym-lib-table when that feature was first added, I told it that all of my directories are at the full-path location, not pointed at by the environment variable, and everything still works. If I had relied on the environment variable for the symbol library location, none of my libraries would be visible. None of this was all intentional on my part, I just added all of the libraries to the table without considering the environment variable.So, anyway, make sure the environment variables point to the actual locations of your libraries and you should be good. Edit the kicad_common file by hand or edit the location from menu item Preferences | Configure Paths.Aside: it's a personal computer, so I didn't see the point of having the libraries in the global (accessible to every user) /Library directory. Also, the user ~/Library directory tree is user-writable while the global /Library requires the user to be root to change. So I figured that updating libraries in the global /Library tree would be problematic (always needing to sudo) so I stuck with the user locations.