Compilation/link failures when switching between branches #15693
Replies: 4 comments
-
Annoying for sure, and thanks for the time spent to dissect the cause. For me it's definitely an Aha Erlebnis, to need to go back and |
Beta Was this translation helpful? Give feedback.
-
I got used to the habit of clearing the previous build after switching the branch. But there have been several issues or discussion item by people getting caught by this behavior. |
Beta Was this translation helpful? Give feedback.
-
I made a POC where makeqstrdefs split records it actual input to a file which makeqstrdefs cat can then comsume. Loses the ability to call makeqstrdefs split several times then one makeqstrdefs cat, but that doesn't seem to be used anywhere. Will check. Also noticed that makemanifest.py has a similar issue: removing entries from a manifest.py file does nothing, i.e. does not update frozen_content.c accordingly. Will also check that. |
Beta Was this translation helpful? Give feedback.
-
Hmm this is a bit of a rabbit hole. The opposite case, source code generation being invoked while it shouldn't be, can also happen. Just doing a clean build, changing one file, then building again keeps on invoking makeqstrdefs because it doesn't update its output file because it sees the result of split is the same as last time. But without the correct timestamp the Makefile treats it as not up-to-date. I.e. currently no matter how many times I run make, it always does
which takes several seconds more than when it doesn't do that. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
From time to time I have the problem that when switching branches there'll be build failures either because of missing qstr definitions or because of missing module definitions. I mostly use the msvc port so I wanted to fix that one, but it seems the core issue is actually in how makeqstrdefs.py works:
All of this is easily solved by doing a full rebuild, but it can be annoying at times. So I'm wondering: do others also find this annoying or is this more a 'once every year type' of problem? I don't think it's too hard to fix makeqstrdefs.py to deal with this, but first wanted to check if there's any interest at all.
Beta Was this translation helpful? Give feedback.
All reactions