Skip to content

Commit 4063a06

Browse files
committed
libmultiprocess build fix: ipc/capnp/init.capnp.h: No such file or directory
Error was reported by SatoriHoshiAiko in bitcoin#25207 and happens unpredictably because make doesn't always build dependencies in the same order. The source file src/ipc/capnp/protocol.cpp includes some generated headers so needs to have an explicit dependency specified in the makefile so the headers will be generated before the file is compiled. bitcoin#19160 added the explicit dependency, but it was incorrect because it referred to an old file path from before the source file was renamed (ipc.cpp -> protocol.cpp)
1 parent 90e49c1 commit 4063a06

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

src/Makefile.am

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -330,7 +330,9 @@ obj/build.h: FORCE
330330
"$(abs_top_srcdir)"
331331
libbitcoin_util_a-clientversion.$(OBJEXT): obj/build.h
332332

333-
ipc/capnp/libbitcoin_ipc_a-ipc.$(OBJEXT): $(libbitcoin_ipc_mpgen_input:=.h)
333+
# Explicitly list dependencies on generated headers as described
334+
# https://www.gnu.org/software/automake/manual/html_node/Built-Sources-Example.html#Recording-Dependencies-manually
335+
ipc/capnp/libbitcoin_ipc_a-protocol.$(OBJEXT): $(libbitcoin_ipc_mpgen_input:=.h)
334336

335337
# server: shared between bitcoind and bitcoin-qt
336338
# Contains code accessing mempool and chain state that is meant to be separated

0 commit comments

Comments
 (0)