[Solved] Missing schematic symbols even though they are there

Im working on a project using git and 2 different versions of KiCad. The one i started the project on and have done all of the development with is running 4.0.6 and now that Ive used newer versions built from source Im really starting to miss some of the new features. The problem is that because of the schematic symbol table changes, when I load up the schematic on a different machine running a newer version of KiCad, all of the built in default libraries are a bunch of question marks. The weird part is, is that there are libraries that are usable and i can replace the components with the same thing and they show up but since there is over 150 parts I really dont want to do that. I also dont want to upgrade on my older laptop and mess everything up if im not absolutely sure I can get it working

If messing around with the project helps, heres the link:
https://github.com/sgidel/USB-DAC

When first opening the schematic it does a symbol library table remap and here is the log from that:
https://gist.github.com/sgidel/ce02de6c5d2ae21adcfe177a5535f838

And finally what the schematic editor looks like:

I haven’t had to do this personally, but there is a question in the FAQ that deals with how to deal with the new format.

Is your cache file defect?
Is your newer version connected to the same libs as the old version?
Did you ignore the rescue dialog?
Why compile it your self? There are nightly builds.

I guess the first question that should be asked is what “new” version of KiCad are your using? I had a similar case with an older project. It was discussed here and resulted in a bug report. Supposedly it has been fixed, so if you download a fresh nightly built everything should work. The other option would be to copy your project into a separate folder and delete EVERYTHING except for your project file, schematics files and PCB files and then try to open that new project again. I would personally first go to EEschema and remove all the libraries and add again only the ones you are using, to simplify troubleshooting.

To answer as many questions as possible:

  • Im using the version from git last night (1/27/18) I dont know the exact commit number right now
  • I had to build from source because the fedora copr nightly builds are still broken as far as I can tell
  • The messages from the rescue dialog make sense but it doesnt really seem to actually be fixing the components like it shoud
  • the symptoms are different than the bug @ArtG mentioned
  • I have removed all cache file to try and regenerate them
  • the only non built in library Im using is in the project folder and still works fine
  • I tried removing everything from the library table and re adding it, still did not fix anything.

When I look a schematic symbol the before modifying it will just say something like POT_Dual, but if I replace it it will say Device:POT_Dual in the symbol field. it just seems like the remap isn’t actually doing anything

I actually had a look at that thread that @ArtG mentioned again, Ill have to try that when I get home. I didnt delete everything else, just the cache.

It does not work every day but there is a 4 day old build in https://copr.fedorainfracloud.org/coprs/g/kicad/kicad/
(A month ago the build from this repo worked for me.)

It should create a new rescue library containing all symbols that it can not assign otherwise.

This will result in the rescue stuff not working any more

Does it strike you, by looking at the picture, that his rescue “stuff” is working otherwise?

Clearly something isn’t working, but rescue and remap are two different things. To fix the problem we need to first work out which step failed.

You would think so, but when I was dealing with the issue I would get intermittent results. When you would open schematics the first time you could get all the symbols opened from the rescue library. If you quit at this point without saving and open it again you would get all question marks. All that was happening while the original libraries were added and available. I still can’t figure out the cup game that is happening on the background with renaming your libraries from the original name to the one with “1” at the end. Seems like a candidate for an obfuscation award.

So, the only thing that worked for me was to delete everything except for the files mentioned above and then open it with the new version of KiCad and let it do remapping.

Yes, I remember that because it was my advice :slight_smile:

Uh yes! Not ambiguous “start from a good state” advice :slight_smile:

To be fair, you probably only need to delete sym-lib-table from the old project. But when I was doing it, I would just clear everything out and start from “the good state”

I was wondering if rescue and remap were different things. Every time I open the file I get the remap dialog, it doesnt matter whether I have saved it or not but I havent seen the rescue dialog, at least on this project. I deleted sym-lib-table and it didnt seem to fix it

Are you keep trying to open the remapped project or you have a copy of the original project? I would get a copy of the original project, delete everything from it except for the .sch, kicad_pcb and .pro files open it with a release version of KiCad just to make sure that all the symbols open and libraries still there and only then try to open it with a new version and do a remap

Ive tried both. I have the original project and just use git to revert the changes. Ill have to try the delete everything approach.

I just tried opening your project from GitHub. First, you need to include your cache and all of the libraries. JACK_TRS_6PIN does not exist in the libraries you include and there is no symbol cache, so we lose that symbol and will need to update it once we find the library.

Other than that, your project remaps cleanly on my machine.

So, why did it break for you? Chances are that your symbol library table is invalid/incomplete. The line
Warning: No symbol "GND" found in symbol library table. should tip us off that your symbol library is not correct. You should back it up and replace it with the default that comes from https://kicad.github.io/symbols/

1 Like

Well, I might be a moron but then theres this in the .gitignore:
*-cache.lib
Hmm I wonder why stuff isnt importing correctly, definitely couldnt be missing files or anything :slight_smile:
Im actually fairly surprised @Seth_h got it to work, and he’s right too, there is no symbol cache

I fixed that part and now im getting the rescue dialogue when I open the project. Everything is still missing but I think that is down to how my component paths are set up. As far as the actual rescue process goes Im not sure how to do that yet.

I might should create a new thread for this but now the question is, is there a way to propagate the new library name once ive swapped the component out with one from the new libraries. For example I have a ton of c_small. the new field for this is now Device:c_small. Is there a right way to do this or do I just need to do something hackish with sed on the schematic files?

In eeschema look under Edit->Edit symbol library links. (As this is a nightly build the name of that tool might be slightly different in your version.)