Giter Club home page Giter Club logo

Comments (6)

rossberg avatar rossberg commented on August 12, 2024

Hm, that is very odd. I'm on MacOS (and dune 3.10.0), so I cannot reproduce or try that directly, but I don't see why your make would ever invoke dune build unittest.exe.

What happens when you invoke make unittest? And if that fails, too, can you paste the output of make -d unittest?

from spec.

tlively avatar tlively commented on August 12, 2024

That fails too. Here's the output:

tlively@tlively:~/code/spec/interpreter$ make -d unittest
GNU Make 4.3
Built for x86_64-pc-linux-gnu
Copyright (C) 1988-2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Reading makefiles...
Reading makefile 'Makefile'...
Updating makefiles....
 Considering target file 'Makefile'.
  Looking for an implicit rule for 'Makefile'.
  Trying pattern rule with stem 'Makefile'.
  Trying implicit prerequisite 'Makefile.o'.
  Trying pattern rule with stem 'Makefile'.
  Trying implicit prerequisite 'Makefile.c'.
  Trying pattern rule with stem 'Makefile'.
  Trying implicit prerequisite 'Makefile.cc'.
  Trying pattern rule with stem 'Makefile'.
  Trying implicit prerequisite 'Makefile.C'.
  Trying pattern rule with stem 'Makefile'.
  Trying implicit prerequisite 'Makefile.cpp'.
  Trying pattern rule with stem 'Makefile'.
  Trying implicit prerequisite 'Makefile.p'.
  Trying pattern rule with stem 'Makefile'.
  Trying implicit prerequisite 'Makefile.f'.
  Trying pattern rule with stem 'Makefile'.
  Trying implicit prerequisite 'Makefile.F'.
  Trying pattern rule with stem 'Makefile'.
  Trying implicit prerequisite 'Makefile.m'.
  Trying pattern rule with stem 'Makefile'.
  Trying implicit prerequisite 'Makefile.r'.
  Trying pattern rule with stem 'Makefile'.
  Trying implicit prerequisite 'Makefile.s'.
  Trying pattern rule with stem 'Makefile'.
  Trying implicit prerequisite 'Makefile.S'.
  Trying pattern rule with stem 'Makefile'.
  Trying implicit prerequisite 'Makefile.mod'.
  Trying pattern rule with stem 'Makefile'.
  Trying implicit prerequisite 'Makefile.sh'.
  Trying pattern rule with stem 'Makefile'.
  Trying implicit prerequisite 'Makefile,v'.
  Trying pattern rule with stem 'Makefile'.
  Trying implicit prerequisite 'RCS/Makefile,v'.
  Trying pattern rule with stem 'Makefile'.
  Trying implicit prerequisite 'RCS/Makefile'.
  Trying pattern rule with stem 'Makefile'.
  Trying implicit prerequisite 's.Makefile'.
  Trying pattern rule with stem 'Makefile'.
  Trying implicit prerequisite 'SCCS/s.Makefile'.
  Trying pattern rule with stem 'Makefile'.
  Trying implicit prerequisite 'Makefile.o'.
  Looking for a rule with intermediate file 'Makefile.o'.
   Avoiding implicit rule recursion.
   Trying pattern rule with stem 'Makefile'.
   Trying implicit prerequisite 'Makefile.c'.
   Trying pattern rule with stem 'Makefile'.
   Trying implicit prerequisite 'Makefile.cc'.
   Trying pattern rule with stem 'Makefile'.
   Trying implicit prerequisite 'Makefile.C'.
   Trying pattern rule with stem 'Makefile'.
   Trying implicit prerequisite 'Makefile.cpp'.
   Trying pattern rule with stem 'Makefile'.
   Trying implicit prerequisite 'Makefile.p'.
   Trying pattern rule with stem 'Makefile'.
   Trying implicit prerequisite 'Makefile.f'.
   Trying pattern rule with stem 'Makefile'.
   Trying implicit prerequisite 'Makefile.F'.
   Trying pattern rule with stem 'Makefile'.
   Trying implicit prerequisite 'Makefile.m'.
   Trying pattern rule with stem 'Makefile'.
   Trying implicit prerequisite 'Makefile.r'.
   Trying pattern rule with stem 'Makefile'.
   Trying implicit prerequisite 'Makefile.s'.
   Trying pattern rule with stem 'Makefile'.
   Trying implicit prerequisite 'Makefile.S'.
   Trying pattern rule with stem 'Makefile'.
   Trying implicit prerequisite 'Makefile.mod'.
   Trying pattern rule with stem 'Makefile.o'.
   Trying implicit prerequisite 'Makefile.o,v'.
   Trying pattern rule with stem 'Makefile.o'.
   Trying implicit prerequisite 'RCS/Makefile.o,v'.
   Trying pattern rule with stem 'Makefile.o'.
   Trying implicit prerequisite 'RCS/Makefile.o'.
   Trying pattern rule with stem 'Makefile.o'.
   Trying implicit prerequisite 's.Makefile.o'.
   Trying pattern rule with stem 'Makefile.o'.
   Trying implicit prerequisite 'SCCS/s.Makefile.o'.
   Trying pattern rule with stem 'Makefile'.
   Trying implicit prerequisite 'Makefile.c'.
   Looking for a rule with intermediate file 'Makefile.c'.
    Avoiding implicit rule recursion.
    Avoiding implicit rule recursion.
    Trying pattern rule with stem 'Makefile'.
    Trying implicit prerequisite 'Makefile.y'.
    Trying pattern rule with stem 'Makefile'.
    Trying implicit prerequisite 'Makefile.l'.
    Trying pattern rule with stem 'Makefile'.
    Trying implicit prerequisite 'Makefile.w'.
    Trying pattern rule with stem 'Makefile'.
    Trying implicit prerequisite 'Makefile.w'.
    Trying pattern rule with stem 'Makefile.c'.
    Trying implicit prerequisite 'Makefile.c,v'.
    Trying pattern rule with stem 'Makefile.c'.
    Trying implicit prerequisite 'RCS/Makefile.c,v'.
    Trying pattern rule with stem 'Makefile.c'.
    Trying implicit prerequisite 'RCS/Makefile.c'.
    Trying pattern rule with stem 'Makefile.c'.
    Trying implicit prerequisite 's.Makefile.c'.
    Trying pattern rule with stem 'Makefile.c'.
    Trying implicit prerequisite 'SCCS/s.Makefile.c'.
    Trying pattern rule with stem 'Makefile'.
    Trying implicit prerequisite 'Makefile.y'.
    Looking for a rule with intermediate file 'Makefile.y'.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Trying pattern rule with stem 'Makefile.y'.
     Trying implicit prerequisite 'Makefile.y,v'.
     Trying pattern rule with stem 'Makefile.y'.
     Trying implicit prerequisite 'RCS/Makefile.y,v'.
     Trying pattern rule with stem 'Makefile.y'.
     Trying implicit prerequisite 'RCS/Makefile.y'.
     Trying pattern rule with stem 'Makefile.y'.
     Trying implicit prerequisite 's.Makefile.y'.
     Trying pattern rule with stem 'Makefile.y'.
     Trying implicit prerequisite 'SCCS/s.Makefile.y'.
    Trying pattern rule with stem 'Makefile'.
    Trying implicit prerequisite 'Makefile.l'.
    Looking for a rule with intermediate file 'Makefile.l'.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Trying pattern rule with stem 'Makefile.l'.
     Trying implicit prerequisite 'Makefile.l,v'.
     Trying pattern rule with stem 'Makefile.l'.
     Trying implicit prerequisite 'RCS/Makefile.l,v'.
     Trying pattern rule with stem 'Makefile.l'.
     Trying implicit prerequisite 'RCS/Makefile.l'.
     Trying pattern rule with stem 'Makefile.l'.
     Trying implicit prerequisite 's.Makefile.l'.
     Trying pattern rule with stem 'Makefile.l'.
     Trying implicit prerequisite 'SCCS/s.Makefile.l'.
    Trying pattern rule with stem 'Makefile'.
    Trying implicit prerequisite 'Makefile.w'.
    Looking for a rule with intermediate file 'Makefile.w'.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Trying pattern rule with stem 'Makefile.w'.
     Trying implicit prerequisite 'Makefile.w,v'.
     Trying pattern rule with stem 'Makefile.w'.
     Trying implicit prerequisite 'RCS/Makefile.w,v'.
     Trying pattern rule with stem 'Makefile.w'.
     Trying implicit prerequisite 'RCS/Makefile.w'.
     Trying pattern rule with stem 'Makefile.w'.
     Trying implicit prerequisite 's.Makefile.w'.
     Trying pattern rule with stem 'Makefile.w'.
     Trying implicit prerequisite 'SCCS/s.Makefile.w'.
    Trying pattern rule with stem 'Makefile'.
    Rejecting impossible implicit prerequisite 'Makefile.w'.
   Trying pattern rule with stem 'Makefile'.
   Trying implicit prerequisite 'Makefile.cc'.
   Looking for a rule with intermediate file 'Makefile.cc'.
    Avoiding implicit rule recursion.
    Avoiding implicit rule recursion.
    Trying pattern rule with stem 'Makefile.cc'.
    Trying implicit prerequisite 'Makefile.cc,v'.
    Trying pattern rule with stem 'Makefile.cc'.
    Trying implicit prerequisite 'RCS/Makefile.cc,v'.
    Trying pattern rule with stem 'Makefile.cc'.
    Trying implicit prerequisite 'RCS/Makefile.cc'.
    Trying pattern rule with stem 'Makefile.cc'.
    Trying implicit prerequisite 's.Makefile.cc'.
    Trying pattern rule with stem 'Makefile.cc'.
    Trying implicit prerequisite 'SCCS/s.Makefile.cc'.
   Trying pattern rule with stem 'Makefile'.
   Trying implicit prerequisite 'Makefile.C'.
   Looking for a rule with intermediate file 'Makefile.C'.
    Avoiding implicit rule recursion.
    Avoiding implicit rule recursion.
    Trying pattern rule with stem 'Makefile.C'.
    Trying implicit prerequisite 'Makefile.C,v'.
    Trying pattern rule with stem 'Makefile.C'.
    Trying implicit prerequisite 'RCS/Makefile.C,v'.
    Trying pattern rule with stem 'Makefile.C'.
    Trying implicit prerequisite 'RCS/Makefile.C'.
    Trying pattern rule with stem 'Makefile.C'.
    Trying implicit prerequisite 's.Makefile.C'.
    Trying pattern rule with stem 'Makefile.C'.
    Trying implicit prerequisite 'SCCS/s.Makefile.C'.
   Trying pattern rule with stem 'Makefile'.
   Trying implicit prerequisite 'Makefile.cpp'.
   Looking for a rule with intermediate file 'Makefile.cpp'.
    Avoiding implicit rule recursion.
    Avoiding implicit rule recursion.
    Trying pattern rule with stem 'Makefile.cpp'.
    Trying implicit prerequisite 'Makefile.cpp,v'.
    Trying pattern rule with stem 'Makefile.cpp'.
    Trying implicit prerequisite 'RCS/Makefile.cpp,v'.
    Trying pattern rule with stem 'Makefile.cpp'.
    Trying implicit prerequisite 'RCS/Makefile.cpp'.
    Trying pattern rule with stem 'Makefile.cpp'.
    Trying implicit prerequisite 's.Makefile.cpp'.
    Trying pattern rule with stem 'Makefile.cpp'.
    Trying implicit prerequisite 'SCCS/s.Makefile.cpp'.
   Trying pattern rule with stem 'Makefile'.
   Trying implicit prerequisite 'Makefile.p'.
   Looking for a rule with intermediate file 'Makefile.p'.
    Avoiding implicit rule recursion.
    Avoiding implicit rule recursion.
    Trying pattern rule with stem 'Makefile'.
    Trying implicit prerequisite 'Makefile.web'.
    Trying pattern rule with stem 'Makefile.p'.
    Trying implicit prerequisite 'Makefile.p,v'.
    Trying pattern rule with stem 'Makefile.p'.
    Trying implicit prerequisite 'RCS/Makefile.p,v'.
    Trying pattern rule with stem 'Makefile.p'.
    Trying implicit prerequisite 'RCS/Makefile.p'.
    Trying pattern rule with stem 'Makefile.p'.
    Trying implicit prerequisite 's.Makefile.p'.
    Trying pattern rule with stem 'Makefile.p'.
    Trying implicit prerequisite 'SCCS/s.Makefile.p'.
    Trying pattern rule with stem 'Makefile'.
    Trying implicit prerequisite 'Makefile.web'.
    Looking for a rule with intermediate file 'Makefile.web'.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Trying pattern rule with stem 'Makefile.web'.
     Trying implicit prerequisite 'Makefile.web,v'.
     Trying pattern rule with stem 'Makefile.web'.
     Trying implicit prerequisite 'RCS/Makefile.web,v'.
     Trying pattern rule with stem 'Makefile.web'.
     Trying implicit prerequisite 'RCS/Makefile.web'.
     Trying pattern rule with stem 'Makefile.web'.
     Trying implicit prerequisite 's.Makefile.web'.
     Trying pattern rule with stem 'Makefile.web'.
     Trying implicit prerequisite 'SCCS/s.Makefile.web'.
   Trying pattern rule with stem 'Makefile'.
   Trying implicit prerequisite 'Makefile.f'.
   Looking for a rule with intermediate file 'Makefile.f'.
    Avoiding implicit rule recursion.
    Avoiding implicit rule recursion.
    Trying pattern rule with stem 'Makefile'.
    Trying implicit prerequisite 'Makefile.F'.
    Trying pattern rule with stem 'Makefile'.
    Trying implicit prerequisite 'Makefile.r'.
    Trying pattern rule with stem 'Makefile.f'.
    Trying implicit prerequisite 'Makefile.f,v'.
    Trying pattern rule with stem 'Makefile.f'.
    Trying implicit prerequisite 'RCS/Makefile.f,v'.
    Trying pattern rule with stem 'Makefile.f'.
    Trying implicit prerequisite 'RCS/Makefile.f'.
    Trying pattern rule with stem 'Makefile.f'.
    Trying implicit prerequisite 's.Makefile.f'.
    Trying pattern rule with stem 'Makefile.f'.
    Trying implicit prerequisite 'SCCS/s.Makefile.f'.
    Trying pattern rule with stem 'Makefile'.
    Trying implicit prerequisite 'Makefile.F'.
    Looking for a rule with intermediate file 'Makefile.F'.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Trying pattern rule with stem 'Makefile.F'.
     Trying implicit prerequisite 'Makefile.F,v'.
     Trying pattern rule with stem 'Makefile.F'.
     Trying implicit prerequisite 'RCS/Makefile.F,v'.
     Trying pattern rule with stem 'Makefile.F'.
     Trying implicit prerequisite 'RCS/Makefile.F'.
     Trying pattern rule with stem 'Makefile.F'.
     Trying implicit prerequisite 's.Makefile.F'.
     Trying pattern rule with stem 'Makefile.F'.
     Trying implicit prerequisite 'SCCS/s.Makefile.F'.
    Trying pattern rule with stem 'Makefile'.
    Trying implicit prerequisite 'Makefile.r'.
    Looking for a rule with intermediate file 'Makefile.r'.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Trying pattern rule with stem 'Makefile'.
     Rejecting impossible implicit prerequisite 'Makefile.l'.
     Trying pattern rule with stem 'Makefile.r'.
     Trying implicit prerequisite 'Makefile.r,v'.
     Trying pattern rule with stem 'Makefile.r'.
     Trying implicit prerequisite 'RCS/Makefile.r,v'.
     Trying pattern rule with stem 'Makefile.r'.
     Trying implicit prerequisite 'RCS/Makefile.r'.
     Trying pattern rule with stem 'Makefile.r'.
     Trying implicit prerequisite 's.Makefile.r'.
     Trying pattern rule with stem 'Makefile.r'.
     Trying implicit prerequisite 'SCCS/s.Makefile.r'.
   Trying pattern rule with stem 'Makefile'.
   Rejecting impossible implicit prerequisite 'Makefile.F'.
   Trying pattern rule with stem 'Makefile'.
   Trying implicit prerequisite 'Makefile.m'.
   Looking for a rule with intermediate file 'Makefile.m'.
    Avoiding implicit rule recursion.
    Avoiding implicit rule recursion.
    Trying pattern rule with stem 'Makefile'.
    Trying implicit prerequisite 'Makefile.ym'.
    Trying pattern rule with stem 'Makefile.m'.
    Trying implicit prerequisite 'Makefile.m,v'.
    Trying pattern rule with stem 'Makefile.m'.
    Trying implicit prerequisite 'RCS/Makefile.m,v'.
    Trying pattern rule with stem 'Makefile.m'.
    Trying implicit prerequisite 'RCS/Makefile.m'.
    Trying pattern rule with stem 'Makefile.m'.
    Trying implicit prerequisite 's.Makefile.m'.
    Trying pattern rule with stem 'Makefile.m'.
    Trying implicit prerequisite 'SCCS/s.Makefile.m'.
    Trying pattern rule with stem 'Makefile'.
    Trying implicit prerequisite 'Makefile.ym'.
    Looking for a rule with intermediate file 'Makefile.ym'.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Trying pattern rule with stem 'Makefile.ym'.
     Trying implicit prerequisite 'Makefile.ym,v'.
     Trying pattern rule with stem 'Makefile.ym'.
     Trying implicit prerequisite 'RCS/Makefile.ym,v'.
     Trying pattern rule with stem 'Makefile.ym'.
     Trying implicit prerequisite 'RCS/Makefile.ym'.
     Trying pattern rule with stem 'Makefile.ym'.
     Trying implicit prerequisite 's.Makefile.ym'.
     Trying pattern rule with stem 'Makefile.ym'.
     Trying implicit prerequisite 'SCCS/s.Makefile.ym'.
   Trying pattern rule with stem 'Makefile'.
   Rejecting impossible implicit prerequisite 'Makefile.r'.
   Trying pattern rule with stem 'Makefile'.
   Trying implicit prerequisite 'Makefile.s'.
   Looking for a rule with intermediate file 'Makefile.s'.
    Avoiding implicit rule recursion.
    Avoiding implicit rule recursion.
    Trying pattern rule with stem 'Makefile'.
    Trying implicit prerequisite 'Makefile.S'.
    Trying pattern rule with stem 'Makefile.s'.
    Trying implicit prerequisite 'Makefile.s,v'.
    Trying pattern rule with stem 'Makefile.s'.
    Trying implicit prerequisite 'RCS/Makefile.s,v'.
    Trying pattern rule with stem 'Makefile.s'.
    Trying implicit prerequisite 'RCS/Makefile.s'.
    Trying pattern rule with stem 'Makefile.s'.
    Trying implicit prerequisite 's.Makefile.s'.
    Trying pattern rule with stem 'Makefile.s'.
    Trying implicit prerequisite 'SCCS/s.Makefile.s'.
    Trying pattern rule with stem 'Makefile'.
    Trying implicit prerequisite 'Makefile.S'.
    Looking for a rule with intermediate file 'Makefile.S'.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Trying pattern rule with stem 'Makefile.S'.
     Trying implicit prerequisite 'Makefile.S,v'.
     Trying pattern rule with stem 'Makefile.S'.
     Trying implicit prerequisite 'RCS/Makefile.S,v'.
     Trying pattern rule with stem 'Makefile.S'.
     Trying implicit prerequisite 'RCS/Makefile.S'.
     Trying pattern rule with stem 'Makefile.S'.
     Trying implicit prerequisite 's.Makefile.S'.
     Trying pattern rule with stem 'Makefile.S'.
     Trying implicit prerequisite 'SCCS/s.Makefile.S'.
   Trying pattern rule with stem 'Makefile'.
   Rejecting impossible implicit prerequisite 'Makefile.S'.
   Trying pattern rule with stem 'Makefile'.
   Trying implicit prerequisite 'Makefile.mod'.
   Looking for a rule with intermediate file 'Makefile.mod'.
    Avoiding implicit rule recursion.
    Avoiding implicit rule recursion.
    Trying pattern rule with stem 'Makefile.mod'.
    Trying implicit prerequisite 'Makefile.mod,v'.
    Trying pattern rule with stem 'Makefile.mod'.
    Trying implicit prerequisite 'RCS/Makefile.mod,v'.
    Trying pattern rule with stem 'Makefile.mod'.
    Trying implicit prerequisite 'RCS/Makefile.mod'.
    Trying pattern rule with stem 'Makefile.mod'.
    Trying implicit prerequisite 's.Makefile.mod'.
    Trying pattern rule with stem 'Makefile.mod'.
    Trying implicit prerequisite 'SCCS/s.Makefile.mod'.
  Trying pattern rule with stem 'Makefile'.
  Rejecting impossible implicit prerequisite 'Makefile.c'.
  Trying pattern rule with stem 'Makefile'.
  Rejecting impossible implicit prerequisite 'Makefile.cc'.
  Trying pattern rule with stem 'Makefile'.
  Rejecting impossible implicit prerequisite 'Makefile.C'.
  Trying pattern rule with stem 'Makefile'.
  Rejecting impossible implicit prerequisite 'Makefile.cpp'.
  Trying pattern rule with stem 'Makefile'.
  Rejecting impossible implicit prerequisite 'Makefile.p'.
  Trying pattern rule with stem 'Makefile'.
  Rejecting impossible implicit prerequisite 'Makefile.f'.
  Trying pattern rule with stem 'Makefile'.
  Rejecting impossible implicit prerequisite 'Makefile.F'.
  Trying pattern rule with stem 'Makefile'.
  Rejecting impossible implicit prerequisite 'Makefile.m'.
  Trying pattern rule with stem 'Makefile'.
  Rejecting impossible implicit prerequisite 'Makefile.r'.
  Trying pattern rule with stem 'Makefile'.
  Rejecting impossible implicit prerequisite 'Makefile.s'.
  Trying pattern rule with stem 'Makefile'.
  Rejecting impossible implicit prerequisite 'Makefile.S'.
  Trying pattern rule with stem 'Makefile'.
  Rejecting impossible implicit prerequisite 'Makefile.mod'.
  Trying pattern rule with stem 'Makefile'.
  Trying implicit prerequisite 'Makefile.sh'.
  Looking for a rule with intermediate file 'Makefile.sh'.
   Avoiding implicit rule recursion.
   Trying pattern rule with stem 'Makefile.sh'.
   Trying implicit prerequisite 'Makefile.sh,v'.
   Trying pattern rule with stem 'Makefile.sh'.
   Trying implicit prerequisite 'RCS/Makefile.sh,v'.
   Trying pattern rule with stem 'Makefile.sh'.
   Trying implicit prerequisite 'RCS/Makefile.sh'.
   Trying pattern rule with stem 'Makefile.sh'.
   Trying implicit prerequisite 's.Makefile.sh'.
   Trying pattern rule with stem 'Makefile.sh'.
   Trying implicit prerequisite 'SCCS/s.Makefile.sh'.
  No implicit rule found for 'Makefile'.
  Finished prerequisites of target file 'Makefile'.
 No need to remake target 'Makefile'.
Updating goal targets....
Considering target file 'unittest'.
 File 'unittest' does not exist.
  Considering target file 'unittest//usr/local/google/home/tlively/code/spec/interpreter/unittest'.
   File 'unittest//usr/local/google/home/tlively/code/spec/interpreter/unittest' does not exist.
   Looking for an implicit rule for 'unittest//usr/local/google/home/tlively/code/spec/interpreter/unittest'.
   Trying pattern rule with stem '/usr/local/google/home/tlively/code/spec/interpreter/unittest'.
   Found an implicit rule for 'unittest//usr/local/google/home/tlively/code/spec/interpreter/unittest'.
   Finished prerequisites of target file 'unittest//usr/local/google/home/tlively/code/spec/interpreter/unittest'.
  Must remake target 'unittest//usr/local/google/home/tlively/code/spec/interpreter/unittest'.
dune build unittest.exe
Putting child 0x563777c39980 (unittest//usr/local/google/home/tlively/code/spec/interpreter/unittest) PID 138324 on the chain.
Live child 0x563777c39980 (unittest//usr/local/google/home/tlively/code/spec/interpreter/unittest) PID 138324
Error: Don't know how to build unittest.exe
Reaping losing child 0x563777c39980 PID 138324
make: *** [Makefile:58: unittest//usr/local/google/home/tlively/code/spec/interpreter/unittest] Error 1
Removing child 0x563777c39980 PID 138324 from chain.

from spec.

rossberg avatar rossberg commented on August 12, 2024
Considering target file 'unittest'.
 File 'unittest' does not exist.
  Considering target file 'unittest//usr/local/google/home/tlively/code/spec/interpreter/unittest'.

That is super odd. How does make get to try that path as a target? On my machine I see:

Considering target file `unittest'.
 File `unittest' does not exist.
  Considering target file `unittest/smallint'.

which is what I would expect from the rules.

Hm, difficult to debug remotely, but can you add this to the makefile and run make show_unittest:

show_unittest:
	@echo UNITTESTS=${UNITTESTS}
	@echo UNITTESTFILES=${UNITTESTFILES}
	@echo UNITTESTTARGETS=${UNITTESTS:%=unittest/%}

from spec.

tlively avatar tlively commented on August 12, 2024
tlively@tlively:~/code/spec/interpreter$ make show_unittest
UNITTESTS=/usr/local/google/home/tlively/code/spec/interpreter/unittest smallint
UNITTESTFILES=/usr/local/google/home/tlively/code/spec/interpreter/unittest smallint.ml
UNITTESTTARGETS=unittest//usr/local/google/home/tlively/code/spec/interpreter/unittest unittest/smallint

Indeed, when I run $ (cd unittest; ls *.ml), it prints:

/usr/local/google/home/tlively/code/spec/interpreter/unittest
smallint.ml

That bogus first line is actually being printed by cd, and apparently it's doing that because I have a CDPATH set, so this is unlikely to affect very many people.

I added > /dev/null the cd command in the Makefile and that got me slightly further:

tlively@tlively:~/code/spec/interpreter$ make -d unittest
<...>
Considering target file 'unittest'.
 File 'unittest' does not exist.
  Considering target file 'unittest/smallint'.
   File 'unittest/smallint' does not exist.
   Looking for an implicit rule for 'unittest/smallint'.
   Trying pattern rule with stem 'smallint'.
   Found an implicit rule for 'unittest/smallint'.
   Finished prerequisites of target file 'unittest/smallint'.
  Must remake target 'unittest/smallint'.
dune build smallint
Putting child 0x558801a6e9b0 (unittest/smallint) PID 361643 on the chain.
Live child 0x558801a6e9b0 (unittest/smallint) PID 361643
Error: Don't know how to build smallint
Reaping losing child 0x558801a6e9b0 PID 361643
make: *** [Makefile:58: unittest/smallint] Error 1
Removing child 0x558801a6e9b0 PID 361643 from chain.

What is the expected dune build command? If I know that, I can probably debug further.

from spec.

rossberg avatar rossberg commented on August 12, 2024

Interesting, I didn't even know about CDPATH.

What you should be seeing is this:

interpreter> make unittest
dune build smallint.exe
dune exec ./smallint.exe               

or

interpreter> make -d unittest
[...]
Considering target file `unittest'.
 File `unittest' does not exist.
  Considering target file `unittest/smallint'.
   File `unittest/smallint' does not exist.
   Looking for an implicit rule for `unittest/smallint'.
   Trying pattern rule with stem `smallint'.
   Found an implicit rule for `unittest/smallint'.
   Finished prerequisites of target file `unittest/smallint'.
  Must remake target `unittest/smallint'.
dune build smallint.exe
Putting child 0x60000232c050 (unittest/smallint) PID 32731 on the chain.
Live child 0x60000232c050 (unittest/smallint) PID 32731 
Reaping winning child 0x60000232c050 PID 32731 
dune exec ./smallint.exe
Live child 0x60000232c050 (unittest/smallint) PID 32734 
Reaping winning child 0x60000232c050 PID 32734 
Removing child 0x60000232c050 PID 32734 from chain.
  Successfully remade target file `unittest/smallint'.
 Finished prerequisites of target file `unittest'.
Must remake target `unittest'.
Successfully remade target file `unittest'.

I'm absolutely puzzled why you're getting dune build smallint without the .exe, given that the .exe is super explicit in the build rule. Dune won't understand what to do without it. Is this with an otherwise unmodified Makefile?

from spec.

tlively avatar tlively commented on August 12, 2024

Ah, sorry about that, I had removed the .exe in my previous attempts to get things working. I put it back and now everything works great. Will make a PR adding the redirection to /dev/null.

from spec.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.