I have a library problem!

Ever since I started working with version(5.1.0)-1 release build, I have been seeing errors in the library , many times “?” will pop up in many symbols.
With time I have figured out how to address the issue: by reselecting the library & updating in the “properties” line
But this morning all hell broke loose.
I have made it worse…due to an imporper understanding of the workings of the library.
So during the hottest delivery time, I am under deep deep waters- standing still.
It all started by reading how Symbol Tables are handled in this version. I have been adding a path of a “library” which had .pretty added to it in the previous version. I have been adding all symbols into this folder. Wrongly of course but nothing else would come up where to save a new symbol.
So in order to fix it for good, I made a folder where I transferred all .lib, .dcm files. Leaving intact the .mod files in the original folder with extension .pretty
Hoping I would be able to “import” them one at a time into library with same name & path which I will add in the Symbol librayr table.
But of course, it does not happen that way.
So how do I create a “.lib” file or folder where all my own symbols will be located?
Until I get that done correctly & add it into Config path & in the symbol table list, I can no longer work!
I read the Symbol library chapter but could not figure out how to transfer all my .lib & .dcm items in what the tool will consider to being a Library
Any help will be highly appreciated!
thnx
robin

KiCad does not care where you put your libs. As long as it has read access to the place. Even keeping them inside a .pretty folder should work. But i would not really recommend it as .pretty denotes the footprint library and should hold .kicad_mod footprint files.
Tested it in 5.1.2 under windows. Meaning you might have a different root problem.

But kicad will not automatically add them to the tables no whether where you place them. You always need to use the library managers to do it. A very detailed writeup about library management (focusing on the word management rather than “adding libs to kicad”) is found in Library management in KiCad version 5

The .lib/dcm pairs are already your libraries.


In general if you get question marks than two problems are at play. You lost the cache lib or it is damaged and the symbol is not found under the name referenced. The reference consists (since version 5) of the pair “library nickname”:“symbol name” which means if either of these two changed in the lib then kicad can not find the symbol there.


The cache lib file is a special file found in the project directory. It has the name “project name”-cache.lib. That file should have an entry for every symbol you used in the project. If a symbol is no longer found in the libs then kicad will prompt the rescue dialog where it tells you that a symbol is now only found in the library table. It asks if you want to rescue that symbol which will result in the symbol being copied from the cache lib to a newly created rescue lib and all references will be updated to the new lib. The rescue lib is then added to the local library table.


If both the cache lib and original lib are missing then no dialog will appear and you get a question mark. (The most you can get is a message that a library file is not found but that would only come up if your lib tables are setup and you delete a file afterwards not if the library has changed name for example)

are they really .mod or .kicad_mod. .mod is from at least two major versions ago. (version 4 used .kicad_mod files per footprint in a library directory with .pretty entry)


Where you on version 4 or older before? You might run into trouble because you did not properly transfer your projects over. This might help Converting KiCad version 4 projects to version 5 (Remap a project)

So I went to symbol library to “edit”.
Inserted lib of the same name INTCONN_GANDRVR( I see "it exists//overwrite?..I said yes)
hoping it will be a legit INTCONN_GANDRVR( is the name case sensitive?..does not look like)
& then started "importing " .lib symbols from the folder which I now named as xxxx_old_folder
But attached screenshot will show you what is happenig. I see completely wrong symbols showing up. If i had edited a part from KiCAD supplied lib ( e.g. ADCCMP600), I see a whole bunch of them adding in. A symbol I have in my PCB( GS66508.lib) shown up as a +15v symbol
etc etc.
How have I gone into this mess?
I cannot send out any gerbers if my package of sch, BOM & pcb are not complete & useful.
Any ideas to clarify my mind as to how it all works?
thnx muchNEW_LIB_IMPORT_SCREEN.pdf (408.6 KB)

My guess: your symbol has aliases. I show how to work with them and also how to copy between libs as part of Tutorial: How to make a symbol (KiCad v5.1.x)

OK: thnx again, Rene.
Let me get on reading about it & hope to do my best to fix all these issues.
Yes, my libraries I think are all screwed up from version 4 days when I saved a whole library when I made 1 symbol. Thus I have no idea now what .lib contains what. Unless each .lib has exactly 1 symbol- which is unlikely.
let me try …

The import function always takes the first symbol and only that from a .lib file as it assumes you used export to create it. Use the library manager found in the preference menu or file add library (both in the symbol editor) to add all symbols of. Library to the kicad setup. From that point on will you be able to copy paste between libs what ever you want to do.

Rene:
So I created a new lib as you can see in the attached pdf of the screenshot. I kept the name “New_library” just keep it clear.
Of course, I cannot add anything into it because no way I can do so.
So I opened the Symbol library. I want to add the symbol one can see in the screenshot in the new library “New_library”.
But there is nothing to use–no “copy-paste” or anything else available to add it there.
I am sure I can make a new symbol & it will be there…but that will be a lot of work to do so. My search is for recovering the symbols into an organized formally defined library so that I can be sure my documentation is complete & useful down the road.
What is missing in my understanding or my system that is just seems to be unable to follow through?new_lib_no_add.pdf (516.0 KB)

Just as I suspected, I can make a new symbol and it will appear in the New_lib created.
See attached. See attached.new_lib_new_add.pdf (282.7 KB)

So that part I do seem to have understood.
We have to find out why the process of adding existing symbols does not have any way to implement.
I suspect there is a disconnect between what the intentions are vs what really happens in an installation.
If all else fails, maybe I just take a day of hard-labor to redo each symbol!
& that will be the lesson learned. The only caveat is: how do I recover if this happens when I have hundreds of new symbols?
scary.
r

Did you work through my tutorial? Because it does sound like it would benefit you greatly as it will answer most of the questions you have here.

I highly recommend you upgrade to the latest stable, or maybe even better, a nightly 5.1 build (not a 6.0 nightly).

I may have run into the same problem in the past. Remember to save with some form of version control.

  1. Rename the Rescue Library so that KiCad can’t find it.
  2. Use the Symbol Library Reference Tool to assign the Symbols to any other library than the Rescue Library; unfortunately this is time consuming.

If needed (because the Symbol may only be in the Rescue Library):
a) Assign the re-named Rescue Library to the Manage Symbol Libraries Tool in the Symbol Editor.
b) Duplicate the Symbols that are only in the Rescue Library and move them into one of the other active libraries.
c) Remove the Rescue Library from the Global and Project Specific lists.

Thanks you all for coming to my rescue!
Yes, I think I got to follow a whole bunch of good practice advices given here.
It is approx 11pm here, and I think I am making progress.
Just got to change methods.
Sprig has given an idea that Rene has offered as well: in short, reuse Rescue , add it in the Manage Symbol lib, go to copy-paste to get them in formal lib
Slowly, I am recovering.
Good thing is my sch is all functional, PCb also is totally functional. Excepting I no longer have the interlink. When you select a footprint , it does not highlight the part in sch.
I can live with that for now.
robin

When I open nightlies I see:

Last Modified Size Key

2019-05-02T22:30:36.067Z 920.2 MB kicad-r12895.4d776034c-i686.exe
2019-05-02T22:31:45.306Z 918.7 MB kicad-r12895.4d776034c-x86_64.exe
2019-05-03T22:30:59.534Z 920.5 MB kicad-r12897.38f54b437-i686.exe
2019-05-03T22:32:19.299Z 918.8 MB kicad-r12897.38f54b437-x86_64.exe
2019-05-04T22:45:18.887Z 920.5 MB kicad-r12901.e0ada1379-i686.exe
2019-05-04T22:46:50.299Z 918.9 MB kicad-r12901.e0ada1379-x86_64.exe
2019-05-05T21:32:54.845Z 918.9 MB kicad-r12904.6d918ea1f-x86_64.exe
2019-05-05T23:27:43.408Z 920.4 MB kicad-r12967.b7e67073e-i686.exe
2019-05-05T23:29:11.653Z 918.9 MB kicad-r12967.b7e67073e-x86_64.exe
2019-05-06T22:48:03.739Z 920.5 MB kicad-r12981.a76bcc204-i686.exe
2019-05-06T22:49:10.873Z 918.8 MB kicad-r12981.a76bcc204-x86_64.exe
2019-05-07T22:30:43.406Z 920.6 MB kicad-r12998.a40367ce1-i686.exe
2019-05-07T22:31:43.677Z 918.9 MB kicad-r12998.a40367ce1-x86_64.exe
2019-05-08T22:31:05.350Z 920.6 MB kicad-r13008.3caa4376a-i686.exe
2019-05-08T22:32:12.461Z 918.9 MB kicad-r13008.3caa4376a-x86_64.exe
2019-05-09T22:57:26.389Z 919.0 MB kicad-r13012.5f4a6e33a-x86_64.exe
2019-05-09T23:00:31.293Z 920.6 MB kicad-r13013.2f782ac7a-i686.exe
2019-05-10T22:43:07.584Z 920.6 MB kicad-r13026.86d159277-i686.exe
2019-05-10T22:44:19.616Z 919.0 MB kicad-r13026.86d159277-x86_64.exe
2019-05-11T22:35:51.985Z 920.7 MB kicad-r13041.5c3952114-i686.exe
2019-05-11T22:37:22.715Z 919.0 MB kicad-r13041.5c3952114-x86_64.exe
2019-05-12T22:30:30.362Z 920.7 MB kicad-r13046.924a5e68f-i686.exe
2019-05-12T22:31:30.607Z 919.0 MB kicad-r13046.924a5e68f-x86_64.exe
2019-05-13T23:06:44.402Z 920.7 MB kicad-r13054.ef5c69167-i686.exe
2019-05-13T23:08:20.797Z 919.0 MB kicad-r13054.ef5c69167-x86_64.exe
2019-05-14T22:39:38.565Z 920.7 MB kicad-r13060.2aea26de1-i686.exe
2019-05-14T22:42:05.720Z 919.0 MB kicad-r13060.2aea26de1-x86_64.exe
2019-05-16T22:23:38.232Z 920.6 MB kicad-r13087.48fb78418-i686.exe
2019-05-16T22:24:43.187Z 919.0 MB kicad-r13087.48fb78418-x86_64.exe

Are some of them 6.0 and some 5.1 ?

This is the git commit hash. Check it against the history to see where it comes from. If there is no other clear indication on a previous site and you do not know what i mean with what i wrote above then nightlies (of any flavor) are probably not right for you.

@all: please stop suggesting nightlies for people not knowledgable about kicad in general and kicad release policy in particular. I know you mean well but neighter the users nor the devs are helped by misunderstandings here. (Running any form of nightly should really only be done by people who want to participate in bug hunting.)

If stable release nightlies are clearly separated from normal nightlies on the download pages then point users directly to the download site that only holds stable nightlies. Add a clear disclaimer that these are development snapshots.

You are right - I completelly don’t know what you mean but I think that:

  • nighties of 6.0 are not for me,
  • nighties of 5.1 I suppose could be good for me (there are less and less errors, and rather not new onces).

But I see access only for those nighties I don’t wont.
Since January I was using nighties but those time at nighties page were 5.1 nighties and not 6.0 and I have reported some bugs which were fixed or forwarded to 6.0 release.

I forget exactly what, but a couple of things were fixed in the V5.1.x nightly that I am currently using VS. the current V5.1.2 stable that is available; and these fixes were nice enough for me to now recommend using the V5.1.x nightlies.

@Rene_Poschl You are 100% correct that random nightly builds should not be recommended; I should have included the build that I have, the OS it uses, the link to the build, and the caution that while it seems to be working well for me that the use of a nightly build by any other user should mean that such user is using a well established version control system.

I really want to repeat that the current nightly I am using is the best version of KiCad that I’ve ever used. As such, it is hard for me to not recommend it to those that understand the FAQ:

ON EDIT: This is the link to the version I have been using without any apparent issues. Download and use at your own risk.

https://kicad-downloads.s3.cern.ch/windows/testing/5.1/kicad-5.1-jenkins-257-x86_64.exe

The newest V5.1.x nightly has nearly 3 more weeks of further development. It is:
https://kicad-downloads.s3.cern.ch/windows/testing/5.1/kicad-5.1-jenkins-277-x86_64.exe
I HAVE NOT TESTED THE ABOVE NIGHTLY - DOWNLOAD AND USE AT YOUR OWN RISK.

Fix a(1) bug, create three(3) more bugs!
Can happen.

Or:
Fix a(1) bug, create a more disastrous bug(1); one with much greater consequences in time to fix if not using a robust version control system.

No.

The 5.1.x nightlies are in a separate download directory.

OK.
I just didn’t noticed that from Download when I select nighties I am moved not to list of last nighties but in the directory structure where I can go up and select other directories.
I found windows / testing / 5.1.

Yesterday I found rather not important bug (https://bugs.launchpad.net/kicad/+bug/1829511). But was not sure if not fixed in last 5.1 nighties as I didn’t know where they are. So even being not sure I have reported it and went for dinner. When come back I was very, very surpised seeing “This bug affects you and 9 other people”. It have never happened before with any other bug I have reported :slight_smile:

In few days I plan to start my first serious PCB in KiCad (I am finishing with symbols and footprints of all elements I plan to use). I work at one PC with 5.1.2. But when I see bug I would like to install last 5.1 nightly at second PC, and check if it is still there before reporting it.
Now I know where from to get that nightlies. Thanks @Sprig.

If someone tells me that, then I understand and believe, but in my intuitive thinking I don’t assume such possibility. I think it is because I was first learning some programming in times when you had to do all what you can to avoid any bugs. When I had a program written I went to the room with perforing machines and perfored my program at paper cads. Then gaved them to computer staff and they told me - in two days we will have your program results :).

This might be possible in relatively small and simple, “one-man” projects. With more complex, team projects it happens that fixing a bug one introduces a regression that fires somewhere else in completely different part of code. Sometimes it’s 20% writing actual code, and 80% writing automated tests to ensure quality.
And I assume nightlies are about fixes and features, the difference between the nigtlies and “Stable” (production) being the exhaustive testing.