HELP! Libraries are not recognized (schematic symbols)

This must be another OSx speciality. Neither windows nor Linux KiCad installations use scripts to handle libraries nor do they provide a pop-up message for updating libraries. Libs are only updated together with a KiCad release on these platforms.
Some Linux distros split the Libs in separate packages but these are still installed like any other software package by use of the distro dependent package managers like apt or dnf.


Maybe read the advanced section of my tutorial on how to use git to manage the official libs. That way you do not rely on the strange OSx specialities that seem to be present with the KiCad installer.

Last time I’ve installed KiCad on MacOS Catalina, I had to manually copy the libraries to /library/application support/KiCAD/ .
There’s no installer for Mac that is for Windows, the installation is totally different:

  • you download drive image (*.dmg) file,
  • MacOS automatically mounts the downloaded drive image, after uses acknowledges the risks involved to “unknown sources” Finder opens the window with the drive contents,
  • you’re instructed to drag (Finder’s file copy operation) the folders to specific locations, by default it’s Applications for Kicad’s executables and /library/Application support for the libraries.
    But there’s no automatic step for this. The user needs to do it manually.
1 Like

If that is indeed true then i would argue KiCad has no right to claim that it is supported on Mac. (Even unsupported linux distros have a fully automatic installer)

I am also a bit confused as the official installation instructions do not mention anything like this https://kicad.org/download/osx/. So either the instructions are even worse than the installer or the current unified installer is better than you explained above. (I have no Mac so i can not test it)

Don’t know the official installation manual, in my case the procedure looks like described below:
https://kicad.txplore.com/index-p=56.html
“The installation archive contains two folders that must be copied to two locations”
The only help is that the drive’s Finder window displays nice background image with the hint on what to do, and shows the “drop” targets (links to /Applications and /Library/Application support).

@adamwolf you are the Mac support guy, is it really the case that users need to manually copy stuff around on Mac? Is there no way to automate this? And if so then it should really be documented on the official download page.

Not sure why you say that. The installer must be a set of scripts. But its unimportant - something in KiCAD did it for me. Call it what you wish. As to the update message - this was a long time ago, and i remember it only vaguely. It was involved with an update from 5 to 5.something. Unimportant now - they went in one place and KiCAD thought they were in a different one. So it had not reference data when it opened schematics.

Now, the real question is,: “can I/ how can I get them into dropboxes so that any changes made in one library are replicated into the other(s)”

Are we still talking about the official libs? You don’t want them in a dropbox. You only want your personal libs in a dropbox. This is because you should not change the official libs as that will lock you into the current release of the libs (getting updates when you modified the libs is not going to be fun otherwise).

For the official libs you can use git directly if you want quicker updates than the official release cycle or if you want to use gits delta updates to conserve download volume.
This would even allow you to make your own personal branch where you introduce your own stuff but be aware that merging is then also part of your responsibility.

OK, that’s great input. I think, not knowing better, that i have added a few components and modifications to some footprints in the “official” libraries. That is why i thought i might move them to a synchronized environment. But i hear you, and will simply put all those in a personal library. I don’t use project specific libraries at all - i do keep a set of footprints that met my needs. I might modify/add some spice models once spice is less torturous to use.

Thanks for the quick reply - i wont have time to digest everything you and others wrote overnight until after work.

Adam has told that he doesn’t spend time in the forum and even avoids it. I can understand that, he seems to be very busy. The project really needs a helping hand with Mac packaging. (The same is of course true for libraries and documentation and…)

I made a question on the mailing list. I still hope that @fred4u is wrong and there is no need to copy files manually.

@Rene_Poschl it’s kind of normal course of action on the Mac with this “*.dmg” install. Lots of Mac software is installed this way, by distributing pre-configured data structures intended to be copied by the user.
The only difference is most apps just require a single copy to Applications folder, while KiCad requires two copy actions (one to Applications, and one to /Library/Application support), and the other one reuqires authorization (kind of “protected folder” OS feature).
The other way to install on Mac would be to prepare a *.pkg package which is kind of “Installer” able to perform the install in more automatic/customized way (e.g. you could choose components to install) but that’s an additional effort.

This is to Fred and Rene, since below you have some back and forth on this.

This is the normal mac install procedure, but I believe that the “*.dmg” installer automatically creates the library folder – most installers do.

let’s begin with basics. “dmg” is simple a disk image. Anything can go on/in that image. By convention, Mac applications are “packages” (*.pkg") sets of code that only appear to be one program, and icon). They can be files on the hard disk or delivered on an image. or by carrier pigeons (see RFC 2549). You drag it to the applications folder and it does the rest. Everything works this way including Microsoft office and every two-bit app not sold through the app store.

There is no limitation to what the logic in these installers might perform. The can place the libraries in other locations. Office does. In fact almost all do, at minimum they place preferences in the preferences folder. So does KiCAD for the record.

hen i installed on my MacBook air (the machine in question) I am almost certain i was not asked to place the libraries anywhere. That said, I might have been asked to place the (schematic & layout) library update i mentioned in the UNIX/Mac “library” folder. But, as i recall, i only went for an update because the libraries were broken (we now can guess they did not match their path in the table). If so, in that case i could have been the culprit. As i began, a zillion posts back, the norm on mac is that application support files go in the /Users/me/Library/Application Support folder – unless they are intended to be system wide and multi-user. However, the KiCAD library table (which i now know more about than i ever wished to or ought to) points eeschema and layout to the root library folder: “/Library/Application Support” folder. Subtly different and rarely used, and ONLY used for programs that will be shared by multiple users on one laptop - a rare occurrence.

Its fine, but this point needs to be made clear or this will be a common error beyond a very few sophisticated users. You may think I am UN-knowledgeable, but in reality i just want to treat this as a toaster - an appliance that i never look inside. I’ve got a desk full of thank-you trinkets from Apple when i solved the problems they could not. And yet I made the mistake (maybe).

I really think that users need to be told:

  1. “libraries are put here, don’t touch them unless they don’t work”.

  2. You also ought to tell people hat this location is specified in the libraries table and how to edit it if they need to (i have asked four times and still don’t know BTW).

  3. Finally tell them that they can add 3rd party or personal libraries anywhere they wish, and must point to them (“add” is a technically incorrect word - you are not adding, you are creating a pointer to their pre-existing path in the directory tree). This is accomplished with the “manage symbol/footprint libraries” dialog under Preferences. “hover over” dialogs ought to be on the icons since they are otherwise mysterious.

Remember you have “expert’s disease” — you are too close and know too much to see these things as users do. I tell this to my staff all the time - “don’t let me write the copy!” especially users who just want a tool for some part-time projects that just might go somewhere, so i’ll invest in learning a tool that might have legs.

In reality I have had to answer all my own questions, do I don’t need he original help any longer. I would appreciate and simple pointers as to how to best accomplish what i have described, but I think i also know that answer.

Please take to heart that this program is not easy to use and the documentation is sometimes tough to follow. Maybe worst, there are no “contextual pointers” associated with menu items, dialogs, buttons etc. that point confused users to a KB entry specific to that function. I only figured KiCAD out with the help of 3rd party stuff on Youtube and other sites.

on the other hand its a program with a growing user base, support, and some powerful (if maddeningly documented) features. So there’s much value to making it easier to adopt.

I hope this is all helpful.
G

I’ll ask one simple question. If i:

  1. take my personal library out of the protected folder, and place it in my personal dropbox.
  2. delete its entry from the table in the manage libraries dialog (how?)
  3. add it to the table using the add button in the manage libraries dialog
  4. Do the same on other machines

Will i be good to go?

Also, for ease of backing up, is there one place i can change to path to the protected libraries from /library-blah to /Users/Me/library-blah?

G

Then the setup is at least cleaned up. If it solves all your problems remains to be seen. (We can not really know what all you tried so you might have damaged your setup in ways we do not expect)

In the library manager (which one depends on the asset type).
Next to the add library via browser button there is a button for deleting the currently selected library (looks like a wastebasket)

You can however also just update the path in the library table to point to your new location. Click in the path cell and a browse button will appear at the right of it. Clicking that allows you to change the path with a file browser like tool.

If Mac uses the default library tables as other platforms then all of your library table entries should contain a path variable. Point that variable to wherever your library is located.
However, remember it might not be wise to move around the official lib without having a really good reason. There really is no need to make personal backups as the library is in a git repo on github so its full history is preserved.
So my suggestion would therefore be that instead of copying your installed lib you switch over to the advanced setup via git clone as described in Library management in KiCad version 5 (Sections “Personalized setup for the official library” and " Using a local git repository")


I did not read your very long previous comment but i noticed some things are formatted differently which is why i suspect they are the important part.

No real need to tell users this. All platforms (except possibly Mac) set KiCad up such that these are placed in a write protected area of the disk. Which means it is not really possible to manipulate them.

The user would need to run KiCad as admin which is an absolute no-go and well users who run software as admin are on their own. Or the user would need to change the file protections in the file system and both windows and Linux make this rather hard so again something where a user will realize that they are on a non-standard path. If this is different on Mac then possibly a “known issues” page specifically for Mac might be a good idea.

And i pointed you to the FAQ article that has this info multiple times.

Again is in the FAQ article and i even quoted the specific sections in a past answer.
And i disagree that “add” is the wrong word. It is after all adding a library to the library table. Remember the library managers are really only needed for advanced workflows (so we can expect that users read a tutorial or manual before they end up there).
Normally you use the footprint or symbol editors to create or import single libraries and that workflow kind of hides the lib tables from you (It adds an abstraction layer such that you do not need to worry about the library tables).

You know exactly what I did:

  1. before the trouble, absolutely nothing. Not one thing, except install KiCAD initially
  2. After it complained that there were no libraries - only one thing - re-install per the KiCAD instructions
  3. Once nothing worked, I (see above) looked at the paths int he table, found they did not match reality, and fixed it. Now it works just fine - thanks only to me.

On the other stuff, i tried very hard to give you a user’s opinion. You continue to disagree.

By the way i (and anyone else) can move protected files on any platform i like. Easily. And when the system install is broken, we ought to be able to. Knowledge is power.

for the record, moving to Dropbox and simply updating the paths longhand works perfectly. That, of course, would be a total PITA for the dozens of included libraries, but for now i plan to leave them where they are.

Why do you still insist on sharing the DEFAULT libraries?
As @Rene_Poschl and others already explained, you should not touch them.
Install KiCad on any number of machines you want, and put the defaul libs in their default place which is the protected /Library/Application_support on the Mac install.
Now for your private libraries (or modified default libs, which become your private ones once you modify them), keep them stored in your Dropbox so you can access them from as many machines as you want.
On top of that, you can add project-related Libs under particular Project’s data location.
This way, each machine accessess the “built-in/default” libraries from their default local read-only location; and your own libraries from your shared dropbox folder.
There’s really no benefit of sharing a single set of default libs among multilple machines. Because as soon as you start to modify them in their original location, you can get into trouble with every Kicad libraries update.

I Dont. I said i was not: “but for now i plan to leave them where they are.”

I absolutely want to share through dropbox my own customized footprints, etc. I also noted that i may add spice data to existing libraries so that would be a reason to share them, but not at the moment since spice is pretty embryonic on KiCAD.

But remember, thorough some error in the installer, mine were not where they ought to be. I had to find and move them.

But users need to be able to fix stuff - like this.

G

There’s no error in the installer, as there’s no installer “per se”.

Kind of reminds me the old cheesy-joke meme:

(don’t intend to offend anyone).

All the “installer” prompts is to copy these folders here (binaries to Applications), and these files there (libriaries to /Library/Application_support). So what have been done, was performed manually.

And sure, grab the default libs, change them to your taste and keep separated in your shared folder - that is the intended workflow.

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