Thu, 17 Aug 2023 15:21:44 -0500 Glenn Washburn <developm...@efficientek.com>:
> On Thu, 17 Aug 2023 11:00:44 +0200 > Olaf Hering <o...@aepfle.de> wrote: > > It is the result of my attempt to build just the required binaries, without > > docs. > > I came up with this: > > git clean -dffx > > bash bootstrap > > mkdir .b > > cd .b > > ../configure [options] > > make check > > make -C grub-core install-platformDATA install-platformPROGRAMS > And this avoids the compile error for startup_raw.S? No, the other way around: this triggers it. Previously I had a simple 'make', followed by the install targets shown above. This builds all dependencies, and also the doc target. To get rid of the doc target, I was under the assumption that install-something already has proper dependencies, but only a subset is built. gnulib.a was missing, and likely others. I did not dig deep. > > But thinking further about it, and as others have noted, the real fix would > > be to wade through all targets and express their dependencies properly. > > What version of automake are you using? I'm on 1.16.3-2 from Debian 11. > rs_decoder.h is ending up in BUILT_SOURCES, so it should get built > before anything is compiled. Can you check ,? For me > rs_decoder.h is included via a few levels of variable expansion, so it > won't be literally in the definition of BUILT_SOURCES. I'm wondering if > maybe you're using an older version of automake with a bug. I have seen it with automake 1.15.1 and 1.16.5. "nodist_lzma_decompress_image_SOURCES" should be part of "BUILT_SOURCES", via "am__append_6232". But another local build, without this change, does indeed fail. The 'check' target does have "BUILT_SOURCES" as dependency, not sure why it does not build the target. With some debug, the content during 'make check' is just: BUILT_SOURCES grub_fstest_init.c grub_script.tab.c grub_script.tab.h grub_script.yy.c grub_script.yy.h libgrub_a_init.c And the real reason is an incorrect invocation of make: 'make check' works in the toplevel, while 'make -C grub-core install-something' works in the given directory. So for me the fix (to avoid the docs target) is: make check make -C grub-core check make -C grub-core install-platformDATA install-platformPROGRAMS Sorry for the noise. Olaf
pgpOYanGGdRiH.pgp
Description: Digitale Signatur von OpenPGP
_______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel