DRC warning "Footprint does not match copy in Library" keeps reappearing

Using KiCAD 9.0.2

I keep getting this warning for two of my custom footprints (in my “local” library, globally accessible to all projects); the DRC tells me that the copy on my layout does not match the copy on my library; I go to the board, right-click on one of those, and do Update Footprint; I select "Update all footprints with library ID … " and update them (I do this for both footprints)

The two sets of DRC warnings go away.

I save the board, close pcbnew, open the board again, and the DRC warnings are back.

Looks like a bug/glitch in the way KiCAD decides that the embedded copy is different from the Library copy. For one of the footprints, when I do “Inspect → Compare footprint with library”, I get:

‘Exclude from bill of materials’ settings differ.
‘Do not populate’ settings differ.
Rule Area on F.Cu, B.Cu and 5 more layers differ.

For the other footprint, I only get the Rule Area error.

I cannot see how it could make sense that the first two lines are there — of course the Exclude from BOM and DNP settings differ: I added the footprint to a part that is set as DNP and Exclude from BOM, as I should be allowed to do without causing a DRC error/warning!!

The rule area is an area that applies on all layers (F.Cu, Inner layers, and B.Cu). The “inner layers” seems to be encoded in the footprint as explicitly listing all of In1.Cu to In30.Cu; in the board file, because the board has six layers, it only shows In1.Cu to In4.Cu, and I suppose that’s the “difference” that the DRC is finding — but that not a real difference!

Am I getting something wrong?

It could be this issue: (FP does not match copy in library (#20063) · Issues · KiCad / KiCad Source Code / kicad · GitLab).
Either use a recent testing build (this includes every bugfix from v9.0.2. until now) or wait until v9.0.3.
It can’t take long.

Regarding the two lines
Exclude from bill of materials’ settings differ.
‘Do not populate’ settings differ.
appearing in the “Inspect → Compare footprint with library” dialog: they are correct, because you changed the checkboxes deliberately. But these lines are not the cause for the DRC warning.

Thanks for letting me know about the fixes soon being available (9.0.3)

About the two lines you commented on: I do have two issues with that logic:

  • At the very least, it is misleading to the user — if I’m looking at that output in the dialog, it is because there is a warning that there is a difference; I then go and see that output and will think that that is the cause or part of the cause for the error/warning.
  • I would claim that the message is either incorrect, or if we accept it as correct, then it is inconsistent with most other settings; for example, I deliberately changed the refdes — in the footprint, it shows as REF**, and in my copy on the board, it shows as A11; the footprints are different on account of that only; same thing for the position of the silkscreen or other labels; my point is: it doesn’t matter that I deliberately changed the DNP flag; that flag is a footprint attribute intended to be changed on a per-instance basis. In that sense, it does not make sense in my mind that the comparison would show that as a difference between the copy on the board and the copy on the library.
    • I can actually see that it is a bit more complicated: for example, if the footprint had the DNP flag (or the Exclude from BOM flag) set, and the user changed it to unset, then I agree that that is a difference to report (and even cause the warning). If the flag is set in the footprint, then that footprint represents a DNP item; if the user changes it, they are changing the essence of what the footprint represents; DNP not set should be the default, but setting as DNP should be seen as one of the settings that the user is expected to set as needed, on a per-instance basis.