calref / cboe

Classic Blades of Exile
http://spiderwebforums.ipbhost.com/index.php?/forum/12-blades-of-exile/
Other
167 stars 41 forks source link

No longer builds after scons -c #330

Closed x-qq closed 1 month ago

x-qq commented 1 year ago

Running scons -c inside the git checkout directory where build worked before somehow leads to this:

% scons
scons: Reading SConscript files ...                                           
Building for: posix
Using toolchain: default
C++ compiler: g++
Checking whether the C compiler works... no
There's a problem with your compiler!

Removing .sconsign.dblite seems to fix it.

NQNStudios commented 1 month ago

I'm able to reproduce this.

Here's what I dug up about .sconsign.dblite:

The .sconsign.dblite file is a temporary database used by SCons to keep file signatures to speed up future builds. If you delete it, SCons will recreate it (and your next build might take slightly longer because of that). It should not be put under version control.

(from https://stackoverflow.com/a/12867804)

So, SConstruct is marking that file for deletion, and it's getting recreated after scons -c is called.

Weirdly, scons -c still creates this bug, even after I tried changing SConstruct to not mark the dblite file for deletion.

NQNStudios commented 1 month ago

The conversation here indicates that you're not supposed to delete .sconsign.dblite from your SConstruct file, but scons -c breaks the next build even if we don't do that, so it seems like we do need to delete it. I tried the weird atexit workaround shown in that issue, and then it worked.