<div dir="ltr">Package: llvm-toolchain-18<div>Version: 1:18.1.8-11</div><div><br></div><div>Trying to build llvm-toolchain-18 with profile `stage1` fails in the following way:</div><div><br></div><div><span style="color:rgb(0,0,0);font-family:monospace;font-size:10.79px"># disable libc++-<a href="http://X.Y-dev-wasm32.install.in">X.Y-dev-wasm32.install.in</a> on old distro</span><br style="color:rgb(0,0,0);font-family:monospace;font-size:10.79px"><span style="color:rgb(0,0,0);font-family:monospace;font-size:10.79px">if test "yes" = "no"; then \</span><br style="color:rgb(0,0,0);font-family:monospace;font-size:10.79px"><span style="color:rgb(0,0,0);font-family:monospace;font-size:10.79px">      echo "" > debian/libc++-18-dev-wasm32.install; \</span><br style="color:rgb(0,0,0);font-family:monospace;font-size:10.79px"><span style="color:rgb(0,0,0);font-family:monospace;font-size:10.79px">  echo "" > debian/libc++abi-18-dev-wasm32.install; \</span><br style="color:rgb(0,0,0);font-family:monospace;font-size:10.79px"><span style="color:rgb(0,0,0);font-family:monospace;font-size:10.79px">else \</span><br style="color:rgb(0,0,0);font-family:monospace;font-size:10.79px"><span style="color:rgb(0,0,0);font-family:monospace;font-size:10.79px">        if ! dpkg -l|grep -q wasi-libc; then \</span><br style="color:rgb(0,0,0);font-family:monospace;font-size:10.79px"><span style="color:rgb(0,0,0);font-family:monospace;font-size:10.79px">         echo "Could not find wasi-libc on the system"; \</span><br style="color:rgb(0,0,0);font-family:monospace;font-size:10.79px"><span style="color:rgb(0,0,0);font-family:monospace;font-size:10.79px">             echo "Please check that the package is available on the system"; \</span><br style="color:rgb(0,0,0);font-family:monospace;font-size:10.79px"><span style="color:rgb(0,0,0);font-family:monospace;font-size:10.79px">           echo "it might be that the 'hello' package is installed by another constraint"; \</span><br style="color:rgb(0,0,0);font-family:monospace;font-size:10.79px"><span style="color:rgb(0,0,0);font-family:monospace;font-size:10.79px">            exit 1; \</span><br style="color:rgb(0,0,0);font-family:monospace;font-size:10.79px"><span style="color:rgb(0,0,0);font-family:monospace;font-size:10.79px">      fi; \</span><br style="color:rgb(0,0,0);font-family:monospace;font-size:10.79px"><span style="color:rgb(0,0,0);font-family:monospace;font-size:10.79px">fi</span><br style="color:rgb(0,0,0);font-family:monospace;font-size:10.79px"><span style="color:rgb(0,0,0);font-family:monospace;font-size:10.79px">Could not find wasi-libc on the system</span><br style="color:rgb(0,0,0);font-family:monospace;font-size:10.79px"><span style="color:rgb(0,0,0);font-family:monospace;font-size:10.79px">Please check that the package is available on the system</span><br style="color:rgb(0,0,0);font-family:monospace;font-size:10.79px"><span style="color:rgb(0,0,0);font-family:monospace;font-size:10.79px">it might be that the 'hello' package is installed by another constraint</span><br style="color:rgb(0,0,0);font-family:monospace;font-size:10.79px"><span style="color:rgb(0,0,0);font-family:monospace;font-size:10.79px">make[1]: *** [debian/rules:653: stamps/preconfigure] Error 1</span><br style="color:rgb(0,0,0);font-family:monospace;font-size:10.79px"><span style="color:rgb(0,0,0);font-family:monospace;font-size:10.79px">make[1]: Leaving directory '/<<PKGBUILDDIR>>'</span><br style="color:rgb(0,0,0);font-family:monospace;font-size:10.79px"><span style="color:rgb(0,0,0);font-family:monospace;font-size:10.79px">make: *** [debian/rules:597: binary-indep] Error 2</span><br style="color:rgb(0,0,0);font-family:monospace;font-size:10.79px"><span style="color:rgb(0,0,0);font-family:monospace;font-size:10.79px">dpkg-buildpackage: error: debian/rules binary-indep subprocess returned exit status 2</span></div><div><br></div><div>I think the correct way to solve this is to mark `hello` with `<!stage1>` now that `spirv-tools` are marked as such  in [1]. It does help to install wasi-libc for the first stage.</div><div><br></div><div>The patch could look like this:</div><div><br></div><div>Index: llvm-toolchain-18-1:18.1.8-11/debian/control<br>===================================================================<br>--- llvm-toolchain-18-1:18.1.8-11.orig/debian/control<br>+++ llvm-toolchain-18-1:18.1.8-11/debian/control<br>@@ -28,7 +28,7 @@ Build-Depends: debhelper (>= 10.0), cmak<br> # We need to keep the constraints coherent between the two alternatives, otherwise<br> # hello would get installed unexpectedly and prevent e.g. wasi-libc from getting pulled<br>     llvm-spirv-18 [amd64 arm64 armhf i386 ppc64el mips64el riscv64 s390x ppc64 hurd-i386 loong64 sparc64 x32] <!stage1> | hello [amd64 arm64 armhf i386 ppc64el mips64el riscv64 s390x ppc64 hurd-i386 loong64 sparc64 x32] <!stage1>,<br>-    spirv-tools [linux-any] <!stage1> | hello [linux-any],<br>+    spirv-tools [linux-any] <!stage1> | hello [linux-any] <!stage1>,<br>     wasi-libc | hello,<br>     libcurl4-openssl-dev <!stage1> | libcurl-dev <!stage1>,<br>     libgrpc++-dev [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x] <!stage1>,<br></div><div><br></div><div>[1]: <a href="https://salsa.debian.org/pkg-llvm-team/llvm-toolchain/-/blob/18/debian/control?blame=0#L31">https://salsa.debian.org/pkg-llvm-team/llvm-toolchain/-/blob/18/debian/control?blame=0#L31</a><br clear="all"><div><br></div><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">Regards,<div>Andrey</div></div></div></div></div>