[SOLVED] Symbol library is not writeable

I always find things like spaces and ampersands in file paths suspicious. I know they should work,but there have been many bugs with those and many years ago I stopped using them myself, even though the reasoning behind it may be a red herring superstition or just that they are more difficult to use from the command line.

1 Like

Neither do I, but try moving only that library to somewhere else to prove the point.

Network drives have been (still are?) problematic in KiCad.

OK, I hang my head in shame.
Apparently AlgraTec.lib was still referenced in the ‘project specific libraries’, and I did not check in there, only in the global libraries. After I deleted that line in there, I could access my kicad_sym no problem. I didn’t get a warning that something old was still referenced anywhere with an automatic warning to update to the new format (or delete if mentioned twice).
Thank you very much for your help!

I don’t understand why the symbol editor would not complain about the reference to a .lib file or at least mention that it could be updated and then I’d have seen the doubling faster?

3 Likes

Don’t!!!

Live and learn :slightly_smiling_face:

2 Likes

So, what are the details of this?
The library was listed both in the global and in the project specific library table, and the project specific variant was using the old .lib name. I’m curious about those details to maybe make a bug report about it so other’s do not fall in the same trap. Maybe just adding whether KiCad is trying to write to a global or project specific library to the info bar (the yellow line at the top) is already enough.

And another small thing It’s not KiCad V7.07, but it’s V7.0.7. I find it quite strange that lots of people keep on omitting that second dot.

1 Like


Here’s the paths from the project I copied the new one from, where the .libs are still referenced in the project specific libraries. If I can provide you with any additional information, please let me know!

1 Like

Yes you can help further. I spend some time to independently reproduce and verify the buggy behavior. I’m seeing different behavior from you, but there is definitely interference between the two variants of the same library. At the moment concentration is wavering and I’m at the end of my attention span again and I can’t exactly pin down what the interference is. I also seem to see different behavior from what you see.

Can you make a similar writeup of the way you see the problem and how to reproduce it? There also is a (small) chance it’s already reported on gitlab and gitlab should always be searched for already reported (and possibly closed (for the nightlies) issues. But because V7.0.7 is quite fresh, and this interference is a bug in the current stable version it’s unlikely it’s already reported.

What I did so far to try to reproduce this:

  1. Create a test project.
  2. Copy an old pga2311.lib file to it.
  3. Add it to the project specific library table.
  4. Place the part in the schematic.
  5. Save & exit schematic editor.
  6. Add the file to the global library table.
  7. Migrate the global library entry to the new format.
  8. Open the Symbol Editor, load the pga2311 symbol.
  9. Info bar: Symbols in legacy libraries are not editable, Use Manage Symbol Libraries to migrate to current format.
  10. Exit symbol Editor. Exit KiCad.
  11. Delete the old pga2311.lib file (the converted pga2311.kicad_sim is still present).
  12. Start project manager, open symbol editor.
  13. KiCad gives a Load Error dialog for the missing library.
  14. KiCad still has knowledge of the PGA2311 name, but can not load it in the Symbol Editor:
  15. Exit Symbol Editor, remove the pga2311 from the project specific libraries.
  16. KiCad now properly sees both symbols present in the pga2311 library again:
  17. I can load the pga2311, modify it and save it.
  18. Copied the old pga2311.lib again to the project directory.
  19. Added the old version to the project specific library table.
  20. Start Symbol editor, load pga2311 symbol (again, a clear warning info bar).
  21. KiCad refuses any attempt of changing the symbol in the symbol editor.
  22. Close symbol editor. Open schematic editor. (It still has the symbol from step 4.
  23. [Ctrl +e] to load the symbol from the Schematic to the Symbol Editor.
  24. Modify the symbol, Symbol Editor / File / Save as, overwrite the old symbol. (In which library was it saved, the old or the new?)
  25. The symbol is now still shown in the symbol editor, but can not be edited further.
  26. Exit Symbol Editor, it prompts with **Save Changes to 'pga2311 before closing? (Accept with “save”).
    image
  27. Warning: … I did get a “not writable” message. then some fuzzy stuff and I got confused. Again:
  28. Schematic Editor, select symbol [Ctrl + e]
  29. Loading in the symbol editor, and pushing changes back to the schematic works.
  30. Schematic Editor, select symbol [Ctrl + e]
  31. Symbol Editor / File / Save works as expected (saves to schematic, so no prompt on exit).
  32. Schematic Editor, select symbol [Ctrl + e]
  33. Modify in Symbol editor, Symbol Editor / File / Save as, save in “pga2311” library.
  34. Already exists. [Save] to overwrite.
    image
  35. Same as in step 25. It can not be further modified in the Symbol Editor.
  36. Exit symbol Editor. It prompts with:
    image
  37. Respond with: [Save], I get: Library not writable:
    image
  38. [OK] opens a file browser to save it with the new .kicad_sym extension. [Cancel].
  39. Exit symbol editor, it again asks me to save, press [Discard Changes]
  40. The latest changes I made (step 33) do appear in the schematic.
1 Like

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