perl: Run make depend to fix build race condition
authorAndreas Gnau <andreas.gnau@iopsys.eu>
Tue, 5 Mar 2024 18:30:09 +0000 (19:30 +0100)
committerPhilip Prindeville <philipp@redfish-solutions.com>
Sun, 28 Jul 2024 21:53:19 +0000 (15:53 -0600)
Run make depend before building perl. This fixes parallel build failures
on machines with a high number of cores.

Example error 1:

    /bin/ln -s /build/staging_dir/hostpkg/usr/bin/generate_uudmap generate_uidmap
    make[5]: ./generate_uudmap: Command not found
    make[5]: *** [Makefile:321: bitcount.h] Error 127

Example error 2:

    /bin/ln -s /build/staging_dir/hostpkg/usr/bin/generate_uudmap generate_udmap
    ./generate_uudmap uudmap.h bitcount.h mg_data.h
    /bin/ln: failed to create symbolic link 'generate_uudmap': File exists
    make[5]: *** [Makefile:325: generate_uudmap] Error 1

Link: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=996953
Link: https://salsa.debian.org/perl-team/interpreter/perl/-/commit/366bc98c916a3455f15c532aa33a5636d2fe2803
Closes: https://github.com/openwrt/packages/issues/8238
Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
lang/perl/Makefile

index 441cac5cdc48ddb7c6dab4c56714001504d9f1ba..6a6dd5ea86798e7e95e3657a94cca829dbd0924b 100644 (file)
@@ -117,6 +117,8 @@ define Build/Configure
 endef
 
 define Build/Compile
+       # make depend is required to avoid race conditions: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=996953
+       +$(MAKE) -C $(PKG_BUILD_DIR) depend
        +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)
 endef