Presence of dyn_o files not checked upon recompilation
This bug persists in 7.8.3. (originally reported for 7.8.2).
When I interrupt a compilation (initiated with cabal), and then recompile (with cabal), it can happen that gcc fails with missing .dyn_o file.
I have "shared:True" in my .cabal/config file.
[I can of course do cabal clean to work around, but since a full recompilation is about 10 min, I try to avoid this.]
time cabal install --disable-library-profiling --disable-documentation
Resolving dependencies...
In order, the following will be installed:
Agda-2.3.3 (latest: 2.3.2.2) (reinstall)
Warning: Note that reinstalls are always dangerous. Continuing anyway...
Configuring Agda-2.3.3...
Building Agda-2.3.3...
Preprocessing library Agda-2.3.3...
[116 of 273] Compiling Agda.TypeChecking.Monad.Base[boot] ( src/full/Agda/TypeChecking/Monad/Base.hs-boot, dist/build/Agda/TypeChecking/Monad/Base.o-boot )
...
[239 of 273] Compiling Agda.TypeChecking.Conversion ( src/full/Agda/TypeChecking/Conversion.hs, dist/build/Agda/TypeChecking/Conversion.o ) [Agda.Syntax.Translation.InternalToAbstract changed]
^Cmake: *** [install-bin] Interrupt
time cabal install --disable-library-profiling --disable-documentation
Resolving dependencies...
In order, the following will be installed:
Agda-2.3.3 (latest: 2.3.2.2) (reinstall)
Warning: Note that reinstalls are always dangerous. Continuing anyway...
Configuring Agda-2.3.3...
Building Agda-2.3.3...
Preprocessing library Agda-2.3.3...
[116 of 273] Compiling Agda.TypeChecking.Monad.Base[boot] ( src/full/Agda/TypeChecking/Monad/Base.hs-boot, dist/build/Agda/TypeChecking/Monad/Base.o-boot )
...
[273 of 273] Compiling Agda.Main ( src/full/Agda/Main.hs, dist/build/Agda/Main.o ) [Agda.Compiler.Epic.Compiler changed]
gcc: error: dist/build/Agda/TypeChecking/Conversion.dyn_o: No such file or directory
Failed to install Agda-2.3.3
cabal: Error: some packages failed to install:
Agda-2.3.3 failed during the building phase. The exception was:
ExitFailure 1