On Tue, Nov 17, 2020 at 3:16 PM Georgi Valkov <gval...@abv.bg> wrote: > > Dear OpenWRT team, > > I just updated my laptop to macOS 11 Big Sur. Presently only the perl hostpkg > package fails during the build. Once I get past perl, everything else > compiles correctly. Below is a patch, workaround, and details from my > research. My target is Marvell EBU Armada, Linksys WRT3200ACM. > > Before applying the patch, make package/feeds/packages/perl/host/compile V=sc > fails with the following error: > Which of these apply, if any? [darwin] > > *** Unexpected product version 11.0. > *** > *** Try running sw_vers and see what its ProductVersion says. > > After the patch, make package/feeds/packages/perl/host/compile succeeds, > however when multiple workers are used: make > package/feeds/packages/perl/host/compile -j 12 V=sc, the build fails: > Writing Makefile for CPAN > make[4]: Entering directory > '/Volumes/test/openwrt/build_dir/hostpkg/perl/perl-5.28.1/cpan/Archive-Tar' > make[4]: Entering directory > '/Volumes/test/openwrt/build_dir/hostpkg/perl/perl-5.28.1/cpan/CPAN' > Generating a Unix-style Makefile > Writing Makefile for Errno > make[4]: Entering directory > '/Volumes/test/openwrt/build_dir/hostpkg/perl/perl-5.28.1/ext/Errno' > "../../miniperl" "-I../../lib" Errno_pm.PL Errno.pm > Can't locate Errno.pm in @INC (you may need to install the Errno module) > (@INC contains: > /Volumes/test/openwrt/build_dir/hostpkg/perl/perl-5.28.1/cpan/AutoLoader/lib > /Volumes/test/openwrt/build_dir/hostpkg/perl/perl-5.28.1/dist/Carp/lib > /Volumes/test/openwrt/build_dir/hostpkg/perl/perl-5.28.1/dist/PathTools > /Volumes/test/openwrt/build_dir/hostpkg/perl/perl-5.28.1/dist/PathTools/lib > /Volumes/test/openwrt/build_dir/hostpkg/perl/perl-5.28.1/cpan/ExtUtils-Install/lib > > /Volumes/test/openwrt/build_dir/hostpkg/perl/perl-5.28.1/cpan/ExtUtils-MakeMaker/lib > > /Volumes/test/openwrt/build_dir/hostpkg/perl/perl-5.28.1/cpan/ExtUtils-Manifest/lib > /Volumes/test/openwrt/build_dir/hostpkg/perl/perl-5.28.1/cpan/File-Path/lib > /Volumes/test/openwrt/build_dir/hostpkg/perl/perl-5.28.1/ext/re > /Volumes/test/openwrt/build_dir/hostpkg/perl/perl-5.28.1/dist/Term-ReadLine/lib > /Volumes/test/openwrt/build_dir/hostpkg/perl/perl-5.28.1/dist/Exporter/lib > /Volumes/test/openwrt/build_dir/hostpkg/perl/perl-5.28.1/ext/File-Find/lib > /Volumes/test/openwrt/build_dir/hostpkg/perl/perl-5.28.1/cpan/Text-Tabs/lib > /Volumes/test/openwrt/build_dir/hostpkg/perl/perl-5.28.1/dist/constant/lib > /Volumes/test/openwrt/build_dir/hostpkg/perl/perl-5.28.1/cpan/version/lib > /Volumes/test/openwrt/build_dir/hostpkg/perl/perl-5.28.1/lib .) at > /Volumes/test/openwrt/build_dir/hostpkg/perl/perl-5.28.1/dist/PathTools/Cwd.pm > line 444. > Unsuccessful Makefile.PL(cpan/ExtUtils-MakeMaker): code=512 at make_ext.pl > line 518. > make[3]: *** [GNUmakefile:599: cpan/ExtUtils-MakeMaker/pm_to_blib] Error 2 > > I have also seen errors where the build is trying to use /miniperl instead of > ./miniperl, as well as /build_dir/hostpkg/perl/perl-5.28.1/perl instead of > /Volumes/test/openwrt/build_dir/hostpkg/perl/perl-5.28.1/perl. The will occur > if we try to build perl without host/clean and clean. Seems like a race > condition due to dependency misconfiguration. > > Here is the list of all commands in order to compile OpenWRT starting from a > clean build root: > make -j 12 > make package/feeds/packages/perl/host/clean > make package/feeds/packages/perl/clean > make package/feeds/packages/perl/compile > make -j 12 > > The first make fails, then we perform host-clean and clean for perl, next > compile will also do host-compile - we have to use a single worker here. > Finally we can complete the rest of the build process. I should note that > Languages, Perl, perl is not selected in menuconfig. I can understand if the > hostpkg/perl is required during the build process, however > perl/host{clean,compile} is not enough, I also need to perform > perl/{clean,compile}. > > Here is the quick patch I made in order to verify if there are any other > broken packages: no. Only perl fails to compile. I am also not sure how to > handle patches and pull-requests for feeds, so I thought I should rather > share my research here and ask for help. > > feeds/packages/lang/perl/patches/302-macos_11_support.patch > Index: perl-5.28.1/hints/darwin.sh > =================================================================== > --- perl-5.28.1.orig/hints/darwin.sh > +++ perl-5.28.1/hints/darwin.sh > @@ -327,7 +327,7 @@ EOM > # "ProductVersion: 10.11" "10.11" > prodvers=`sw_vers|awk '/^ProductVersion:/{print $2}'|awk -F. '{print > $1"."$2}'` > case "$prodvers" in > - 10.*) > + 10.*|11.*) > add_macosx_version_min ccflags $prodvers > add_macosx_version_min ldflags $prodvers > ;; > This patch is for https://github.com/openwrt/packages
Please submit a PR there. Speaking of perl, it could probably use an update. > > Thank you for any help! > Georgi Valkov > > https://bugs.openwrt.org/index.php?do=details&task_id=3458 > > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel@lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel