Warning: Symbol 'GND' has been modified in library 'power'

I’m pretty new to kicad. ERC complains about GND and +5V symbols. I tried to ‘update symbol from library’ and remove and add the symbols again but with no luck.
kicad 6.0.10

1 Like

I got the same and used the Update Symbol option and they went away. Right click on a GND pick the option at the bottom of the radio buttons and it should do all GNDs.

5 Likes

Thank you. The last update option worked but I had to repeat this a few times to fully satisfy ERC.

Thanks for the tip. Why is this necessary, though? I’ve just had to do this on a freshly created schematic with KiCad 6.0.10 in order to get the ERC to pass without warnings.

I’ve run into this same issue in schematics created prior to 6.0.10 that I’ve opened in 6.0.10. It really feels like some sort of bug, and I’m honestly surprised that nobody else is complaining about it and it seems to have been shrugged off.

Anyways, after fixing this on yet another one of my schematics (by several rounds of “Update Symbol from Library”, picking “Update symbols matching library identifier”, and cursing a bit because I had to do it more times than I should have), I did a file diff. I only noticed two notable changes:

First, on a couple of symbols that had a “ki_keywords” property, its value changed from “power-flag” to “global power”.

Second, on nearly every power symbol, the coordinates of visible properties changed slightly (and often to fewer digits after the decimal point).

Its clearly a bug but whether it was a bug that was fixed or a bug that was introduced is why a report at gitlab is needed

It might be a byproduct of resolving this issue: Electrical Rules Checker does not report conflicting power symbols on the same net (#12138) · Issues · KiCad / KiCad Source Code / kicad · GitLab

It was this commit.

A lot of chores still need to be done until we get to enjoy utopia.

It is not a bug, it is a way to inform the user that something in the library has changed ( with the library update in this case ).I do not really see a reason to ‘always’ update ‘all’ symbols in a design though, i would have just ignored that particular warning in this case. But i would have used the ERC warning to check what changed in other cases and act accordingly.

Was that really backported to 6.0.x branch of symbols? and does the 6.99 converter manage this conversion?

Library repos are currently used with v6. There is no v6 branch for the libraries yet.

In the past, librarians have been very cautious of changing anything in libraries. In KiCad V4 it would directly have resulted in damaged schematics, because the schematics only had references to schematic symbols, and the symbols themselves were directly read from the libraries.

In KiCad V5 the [Project]-cache.lib and [Project]-rescue.lib system were added, and those were temporary hacks and have fortunately disappeared.

In KiCad V6 all schematic symbols are cached directly in the schematic, and it has become independent of external libraries.

KiCad’s libraries have long been plagued by a backlog and lack of maintenance. Rene Poschl has done a lot of work several years ago, but that was several years ago. Recently KiCad has gained several new librarians, and they have started changing (and improving) things.

Because this caching of schematic symbols is relatively new (Just one year of KiCad’s 30 or so years of existence) not all tools work with it flawlessly yet. For example, there is: PCB Editor / File / Export / Footprints to Library, but this is not in KiCad V6.0 (It is implemented in V6.99).

I just had an Idea:
KiCad has a “rescue” mechanism with a dialog in which you can visually compare an “old” and a “new” schematic symbol. It may be a good idea to also use this (or similar) dialog as an interface for comparing and updating schematic symbols. It would have to be combined somehow with the options in Schematic Editor / Tools / Update Symbols from Library.

Updating schematic symbols is quite cumbersome at this moment, and it is also a dangerous operation, because KiCad depends on the locations of endpoints of wires to match with the locations of attachment points of pins. If library symbols change, then updating them can result in faulty schematics (for example a diode rotated 180 degrees).

1 Like

I just ran in to this when trying out that latest V7 nightly (7.0.0-rc2-19-gbcc1e28bab) with an existing project from V6 stable. I went from 4 ERC warnings to over 300. Most of these appear to be due to power library symbol changes.

For example: the old/existing PWR_FLAG symbol had keywords “power-flag” but the new V7 symbol has keywords “flag power”.

Is the recommend course of action still to manually update the applicable changed power symbols using the “Update Symbol from Library” function?

This feels like something that could benefit from something like what paulvdh described, especially for known but minor changes like this:

"Your project is using symbols that have been updated in the library. Would you like to automatically update these in your project?

Symbol: PWR_FLAG
Before keywords: “X”
After keywords: “Y”

Symbol: +3V3
Before keywords: “X”
After keywords: “Y”

How is this notification supposed to be suppressed on the next run of ERC?

One way is to change the “Library symbol issue” violation severity to ignore. Also note that schematic setup is per project.

What happens if another symbol then has a similar issue?

How about having a “YEP, Thank You for letting me know this time and let me know the next time it happens.” button to click?

In the ERC dialog (and also in DRC) you can right click on a single and exclude it.

1 Like

This happened to me, but I had not updated KiCad or the core symbol library.

Application: KiCad Schematic Editor

Version: (6.0.10-0), release build

Libraries:
wxWidgets 3.1.5
libcurl/7.79.1 SecureTransport (LibreSSL/3.3.6) zlib/1.2.11 nghttp2/1.45.1

Platform: macOS Version 10.16 (Build 21G115), 64 bit, Little endian, wxMac

Build Info:
Date: Dec 18 2022 11:46:04
wxWidgets: 3.1.5 (wchar_t,wx containers)
Boost: 1.80.0
OCC: 7.6.3
Curl: 7.64.1
ngspice: 38
Compiler: Clang 12.0.0 with C++ ABI 1002

Build settings:
KICAD_USE_OCC=ON
KICAD_SPICE=ON

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