Cross compilation on Windows Subsystem for Linux



  • @cas Again, great point.

    elliot477569@Helium2:/mnt/d/Onion$ cat t
    cat: t: No such file or directory
    elliot477569@Helium2:/mnt/d/Onion$ echo "t" > t
    elliot477569@Helium2:/mnt/d/Onion$ cat t
    t
    elliot477569@Helium2:/mnt/d/Onion$ cat T
    cat: T: No such file or directory
    

    Seems correct.

    I wonder why your output in Windows is different. Did you run it in a volume root - case sensitivity isn't present the root? Are you using WSL, or an alternative like cygwin?



  • @Elliot-477569 said

    With regard to confirming it is actually GNU m4 - I'm not sure, but it looks suspiciously similar to yours:

    Yup, looks identical. The description indicates GNU 'm4', so good enough for me.

    Well, let's see if anyone else has any ideas.
    Otherwise you might try running make configure manually in the /mnt/d/Onion/source/build_dir/host/sed-4.2.2 dir and see if you can glean any more info?

    Hmm, here's something else to try, is it finding the correct m4?

    ~/OpenWrt-LEDE/openwrt$ which m4
    /usr/bin/m4
    ~/OpenWrt-LEDE/openwrt$ m4 --version
    m4 (GNU M4) 1.4.17
    Copyright (C) 2013 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.
    
    Written by Rene' Seindal.
    


  • @cas

    As far as I can tell, m4 is identical to yours.

    elliot477569@Helium2:/mnt/d/Onion/source$ which m4
    /usr/bin/m4
    elliot477569@Helium2:/mnt/d/Onion/source$  m4 --version
    m4 (GNU M4) 1.4.17
    Copyright (C) 2013 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.
    
    Written by Rene' Seindal.
    

    Am I doing this correctly?

    elliot477569@Helium2:/mnt/d/Onion/source/build_dir/host/sed-4.2.2$ make configure
    make: 'configure' is up to date.
    

    Running make on the other hand (apparently I can't paste the full output here...):

    Line 870 of the output, onward:

    gcc -DHAVE_CONFIG_H -I. -I..  -I../lib -I.. -I../lib -I/mnt/d/Onion/source/staging_dir/host/include -I/mnt/d/Onion/source/staging_dir/host/usr/include   -O2 -I/mnt/d/Onion/source/staging_dir/host/include -I/mnt/d/Onion/source/staging_dir/host/usr/include  -MT rename.o -MD -MP -MF .deps/rename.Tpo -c -o rename.o rename.c
    mv -f .deps/rename.Tpo .deps/rename.Po
    rm -f libsed.a
    x86_64-linux-gnu-ar cru libsed.a set-mode-acl.o copy-acl.o file-has-acl.o c-ctype.o c-strcasecmp.o c-strncasecmp.o dirname-lgpl.o basename-lgpl.o stripslash.o exitfail.o localcharset.o malloca.o quotearg.o se-context.o se-selinux.o stdio.o tempname.o unistd.o version-etc.o version-etc-fsf.o wctype-h.o xmalloc.o xalloc-die.o rename.o
    x86_64-linux-gnu-ar: `u' modifier ignored since `D' is the default (see `U')
    x86_64-linux-gnu-ranlib libsed.a
    rm -f t-charset.alias charset.alias && \
    /usr/bin/env bash ./config.charset 'x86_64-pc-linux-gnu' > t-charset.alias && \
    mv t-charset.alias charset.alias
    rm -f t-ref-add.sed ref-add.sed && \
    sed -e '/^#/d' -e 's/@''PACKAGE''@/sed/g' ref-add.sin > t-ref-add.sed && \
    mv t-ref-add.sed ref-add.sed
    rm -f t-ref-del.sed ref-del.sed && \
    sed -e '/^#/d' -e 's/@''PACKAGE''@/sed/g' ref-del.sin > t-ref-del.sed && \
    mv t-ref-del.sed ref-del.sed
    make[4]: Leaving directory '/mnt/d/Onion/source/build_dir/host/sed-4.2.2/lib'
    make[3]: Leaving directory '/mnt/d/Onion/source/build_dir/host/sed-4.2.2/lib'
    make[2]: Leaving directory '/mnt/d/Onion/source/build_dir/host/sed-4.2.2/lib'
    Making all in po
    make[2]: Entering directory '/mnt/d/Onion/source/build_dir/host/sed-4.2.2/po'
    make[2]: Leaving directory '/mnt/d/Onion/source/build_dir/host/sed-4.2.2/po'
    Making all in sed
    make[2]: Entering directory '/mnt/d/Onion/source/build_dir/host/sed-4.2.2/sed'
    gcc -DHAVE_CONFIG_H -I. -I..  -I../lib -I.. -I../lib -DLOCALEDIR=\"/mnt/d/Onion/source/staging_dir/host/share/locale\" -I/mnt/d/Onion/source/staging_dir/host/include -I/mnt/d/Onion/source/staging_dir/host/usr/include   -O2 -I/mnt/d/Onion/source/staging_dir/host/include -I/mnt/d/Onion/source/staging_dir/host/usr/include  -MT sed.o -MD -MP -MF .deps/sed.Tpo -c -o sed.o sed.c
    mv -f .deps/sed.Tpo .deps/sed.Po
    gcc -DHAVE_CONFIG_H -I. -I..  -I../lib -I.. -I../lib -DLOCALEDIR=\"/mnt/d/Onion/source/staging_dir/host/share/locale\" -I/mnt/d/Onion/source/staging_dir/host/include -I/mnt/d/Onion/source/staging_dir/host/usr/include   -O2 -I/mnt/d/Onion/source/staging_dir/host/include -I/mnt/d/Onion/source/staging_dir/host/usr/include  -MT compile.o -MD -MP -MF .deps/compile.Tpo -c -o compile.o compile.c
    mv -f .deps/compile.Tpo .deps/compile.Po
    gcc -DHAVE_CONFIG_H -I. -I..  -I../lib -I.. -I../lib -DLOCALEDIR=\"/mnt/d/Onion/source/staging_dir/host/share/locale\" -I/mnt/d/Onion/source/staging_dir/host/include -I/mnt/d/Onion/source/staging_dir/host/usr/include   -O2 -I/mnt/d/Onion/source/staging_dir/host/include -I/mnt/d/Onion/source/staging_dir/host/usr/include  -MT execute.o -MD -MP -MF .deps/execute.Tpo -c -o execute.o execute.c
    execute.c: In function ‘closedown’:
    execute.c:695:9: warning: ignoring return value of ‘fchown’, declared with attribute warn_unused_result [-Wunused-result]
             fchown (output_fd, -1, input->st.st_gid);
             ^
    mv -f .deps/execute.Tpo .deps/execute.Po
    gcc -DHAVE_CONFIG_H -I. -I..  -I../lib -I.. -I../lib -DLOCALEDIR=\"/mnt/d/Onion/source/staging_dir/host/share/locale\" -I/mnt/d/Onion/source/staging_dir/host/include -I/mnt/d/Onion/source/staging_dir/host/usr/include   -O2 -I/mnt/d/Onion/source/staging_dir/host/include -I/mnt/d/Onion/source/staging_dir/host/usr/include  -MT regexp.o -MD -MP -MF .deps/regexp.Tpo -c -o regexp.o regexp.c
    mv -f .deps/regexp.Tpo .deps/regexp.Po
    gcc -DHAVE_CONFIG_H -I. -I..  -I../lib -I.. -I../lib -DLOCALEDIR=\"/mnt/d/Onion/source/staging_dir/host/share/locale\" -I/mnt/d/Onion/source/staging_dir/host/include -I/mnt/d/Onion/source/staging_dir/host/usr/include   -O2 -I/mnt/d/Onion/source/staging_dir/host/include -I/mnt/d/Onion/source/staging_dir/host/usr/include  -MT fmt.o -MD -MP -MF .deps/fmt.Tpo -c -o fmt.o fmt.c
    mv -f .deps/fmt.Tpo .deps/fmt.Po
    gcc -DHAVE_CONFIG_H -I. -I..  -I../lib -I.. -I../lib -DLOCALEDIR=\"/mnt/d/Onion/source/staging_dir/host/share/locale\" -I/mnt/d/Onion/source/staging_dir/host/include -I/mnt/d/Onion/source/staging_dir/host/usr/include   -O2 -I/mnt/d/Onion/source/staging_dir/host/include -I/mnt/d/Onion/source/staging_dir/host/usr/include  -MT mbcs.o -MD -MP -MF .deps/mbcs.Tpo -c -o mbcs.o mbcs.c
    mv -f .deps/mbcs.Tpo .deps/mbcs.Po
    gcc -DHAVE_CONFIG_H -I. -I..  -I../lib -I.. -I../lib -DLOCALEDIR=\"/mnt/d/Onion/source/staging_dir/host/share/locale\" -I/mnt/d/Onion/source/staging_dir/host/include -I/mnt/d/Onion/source/staging_dir/host/usr/include   -O2 -I/mnt/d/Onion/source/staging_dir/host/include -I/mnt/d/Onion/source/staging_dir/host/usr/include  -MT utils.o -MD -MP -MF .deps/utils.Tpo -c -o utils.o utils.c
    mv -f .deps/utils.Tpo .deps/utils.Po
    gcc  -O2 -I/mnt/d/Onion/source/staging_dir/host/include -I/mnt/d/Onion/source/staging_dir/host/usr/include   -L/mnt/d/Onion/source/staging_dir/host/lib -L/mnt/d/Onion/source/staging_dir/host/usr/lib  -o sed sed.o compile.o execute.o regexp.o fmt.o mbcs.o utils.o ../lib/libsed.a
    make[2]: Leaving directory '/mnt/d/Onion/source/build_dir/host/sed-4.2.2/sed'
    Making all in doc
    make[2]: Entering directory '/mnt/d/Onion/source/build_dir/host/sed-4.2.2/doc'
    Updating ./version.texi
    restore=: && backupdir=".am$$" && \
    am__cwd=`pwd` && CDPATH="${ZSH_VERSION+.}:" && cd . && \
    rm -rf $backupdir && mkdir $backupdir && \
    if (makeinfo --version) >/dev/null 2>&1; then \
      for f in sed.info sed.info-[0-9] sed.info-[0-9][0-9] sed.i[0-9] sed.i[0-9][0-9]; do \
        if test -f $f; then mv $f $backupdir; restore=mv; else :; fi; \
      done; \
    else :; fi && \
    cd "$am__cwd"; \
    if makeinfo   -I . \
     -o sed.info sed.texi; \
    then \
      rc=0; \
      CDPATH="${ZSH_VERSION+.}:" && cd .; \
    else \
      rc=$?; \
      CDPATH="${ZSH_VERSION+.}:" && cd . && \
      $restore $backupdir/* `echo "./sed.info" | sed 's|[^/]*$||'`; \
    fi; \
    rm -rf $backupdir; exit $rc
    bash: line 9: makeinfo: command not found
    Makefile:1079: recipe for target 'sed.info' failed
    make[2]: *** [sed.info] Error 127
    make[2]: Leaving directory '/mnt/d/Onion/source/build_dir/host/sed-4.2.2/doc'
    Makefile:1125: recipe for target 'all-recursive' failed
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory '/mnt/d/Onion/source/build_dir/host/sed-4.2.2'
    Makefile:1066: recipe for target 'all' failed
    make: *** [all] Error 2
    

    @cas Thanks for your input and conversation; it has been greatly appreciated! ^^



  • @Elliot-477569 said in Cross compilation on Windows Subsystem for Linux:

    bash: line 9: makeinfo: command not found

    After installing texinfo:

    elliot477569@Helium2:/mnt/d/Onion/source$ make -j1 V=s
    make[1]: Entering directory '/mnt/d/Onion/source'
    make[2]: Entering directory '/mnt/d/Onion/source'
    + mkdir -p /mnt/d/Onion/source/staging_dir/target-mipsel_24kc_musl-1.1.16
    + cd /mnt/d/Onion/source/staging_dir/target-mipsel_24kc_musl-1.1.16
    + mkdir -p bin lib include stamp
    mkdir -p /mnt/d/Onion/source/build_dir/target-mipsel_24kc_musl-1.1.16/stamp
    touch /mnt/d/Onion/source/staging_dir/target-mipsel_24kc_musl-1.1.16/.prepared
    + mkdir -p /mnt/d/Onion/source/staging_dir/host
    + cd /mnt/d/Onion/source/staging_dir/host
    + mkdir -p bin lib include stamp
    mkdir -p /mnt/d/Onion/source/build_dir/host/stamp /mnt/d/Onion/source/staging_dir/host/include/sys
    install -m0644 /mnt/d/Onion/source/tools/include/*.h /mnt/d/Onion/source/staging_dir/host/include/
    install -m0644 /mnt/d/Onion/source/tools/include/sys/*.h /mnt/d/Onion/source/staging_dir/host/include/sys/
    ln -sf lib /mnt/d/Onion/source/staging_dir/host/lib64
    touch /mnt/d/Onion/source/staging_dir/host/.prepared
    make[3]: Entering directory '/mnt/d/Onion/source/tools/flock'
    make[3]: Leaving directory '/mnt/d/Onion/source/tools/flock'
    make[3]: Entering directory '/mnt/d/Onion/source/tools/flock'
    make[3]: Leaving directory '/mnt/d/Onion/source/tools/flock'
    make[3]: Entering directory '/mnt/d/Onion/source/tools/sed'
    make[3]: Leaving directory '/mnt/d/Onion/source/tools/sed'
    make[3]: Entering directory '/mnt/d/Onion/source/tools/sed'
    make[3]: Leaving directory '/mnt/d/Onion/source/tools/sed'
    make[3]: Entering directory '/mnt/d/Onion/source/tools/patch'
    CFLAGS="-O2 -I/mnt/d/Onion/source/staging_dir/host/include -I/mnt/d/Onion/source/staging_dir/host/usr/include " CPPFLAGS="-I/mnt/d/Onion/source/staging_dir/host/include -I/mnt/d/Onion/source/staging_dir/host/usr/include " CXXFLAGS="" LDFLAGS="-L/mnt/d/Onion/source/staging_dir/host/lib -L/mnt/d/Onion/source/staging_dir/host/usr/lib " make  -C /mnt/d/Onion/source/build_dir/host/patch-2.7.5
    make[4]: Entering directory '/mnt/d/Onion/source/build_dir/host/patch-2.7.5'
    CDPATH="${ZSH_VERSION+.}:" && cd . && /usr/bin/env bash /mnt/d/Onion/source/build_dir/host/patch-2.7.5/build-aux/missing aclocal-1.14 -I m4
    /mnt/d/Onion/source/build_dir/host/patch-2.7.5/build-aux/missing: line 81: aclocal-1.14: command not found
    WARNING: 'aclocal-1.14' is missing on your system.
             You should only need it if you modified 'acinclude.m4' or
             'configure.ac' or m4 files included by 'configure.ac'.
             The 'aclocal' program is part of the GNU Automake package:
             <http://www.gnu.org/software/automake>
             It also requires GNU Autoconf, GNU m4 and Perl in order to run:
             <http://www.gnu.org/software/autoconf>
             <http://www.gnu.org/software/m4/>
             <http://www.perl.org/>
    Makefile:1181: recipe for target 'aclocal.m4' failed
    make[4]: *** [aclocal.m4] Error 127
    make[4]: Leaving directory '/mnt/d/Onion/source/build_dir/host/patch-2.7.5'
    Makefile:23: recipe for target '/mnt/d/Onion/source/build_dir/host/patch-2.7.5/.built' failed
    make[3]: *** [/mnt/d/Onion/source/build_dir/host/patch-2.7.5/.built] Error 2
    make[3]: Leaving directory '/mnt/d/Onion/source/tools/patch'
    tools/Makefile:147: recipe for target 'tools/patch/compile' failed
    make[2]: *** [tools/patch/compile] Error 2
    make[2]: Leaving directory '/mnt/d/Onion/source'
    tools/Makefile:145: recipe for target '/mnt/d/Onion/source/staging_dir/target-mipsel_24kc_musl-1.1.16/stamp/.tools_install_yynyyyyynyyyyynyynnyyyynyyyyyyyyyyyyyyynyynynnyyynnny' failed
    make[1]: *** [/mnt/d/Onion/source/staging_dir/target-mipsel_24kc_musl-1.1.16/stamp/.tools_install_yynyyyyynyyyyynyynnyyyynyyyyyyyyyyyyyyynyynynnyyynnny] Error 2
    make[1]: Leaving directory '/mnt/d/Onion/source'
    /mnt/d/Onion/source/include/toplevel.mk:198: recipe for target 'world' failed
    make: *** [world] Error 2
    

    Apparently I do however have automake 1.15.

    elliot477569@Helium2:/mnt/d/Onion/source$ apt-cache show automake
    Package: automake
    Priority: optional
    Section: devel
    Installed-Size: 1493
    Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
    Original-Maintainer: Eric Dorland <eric@debian.org>
    Architecture: all
    Source: automake-1.15
    Version: 1:1.15-4ubuntu1
    Provides: automake-1.15, automaken
    Depends: autoconf (>= 2.65), autotools-dev (>= 20020320.1)
    Suggests: autoconf-doc, gnu-standards
    Conflicts: automake (<< 1:1.4-p5-1), automake1.10-doc, automake1.5 (<< 1.5-2), automake1.6 (<< 1.6.1-4)
    Filename: pool/main/a/automake-1.15/automake_1.15-4ubuntu1_all.deb
    Size: 509892
    MD5sum: 4f01fc4b752b28ee208b30221097049c
    SHA1: bee0098bcfcc031d3379b2975934eac3f6b333fb
    SHA256: d751ccfc07111b34fdd07795689771625d07f28c2769e6f06d4e473500039641
    Description-en: Tool for generating GNU Standards-compliant Makefiles
     Automake is a tool for automatically generating `Makefile.in's from
     files called `Makefile.am'.
     .
     The goal of Automake is to remove the burden of Makefile maintenance
     from the back of the individual GNU maintainer (and put it on the back
     of the Automake maintainer).
     .
     The `Makefile.am' is basically a series of `make' macro definitions
     (with rules being thrown in occasionally).  The generated
     `Makefile.in's are compliant with the GNU Makefile standards.
     .
     Automake 1.15 fails to work in a number of situations that Automake
     1.4, 1.6, 1.7, 1.8, 1.9, 1.10, 1.11 and 1.14 did, so previous versions are
     available as separate packages.
    Description-md5: 12127f5bccf4c38c80c33e34f12556eb
    Multi-Arch: foreign
    Homepage: https://www.gnu.org/software/automake/
    Bugs: https://bugs.launchpad.net/ubuntu/+filebug
    Origin: Ubuntu
    Supported: 5y
    Task: ubuntu-sdk-libs-tools, ubuntu-sdk
    

    After running aclocal in build_dir/host/patch-2.7.5:

    gpriaulx@Helium2:/mnt/d/Onion/source$ make -j1 V=s
    make[1]: Entering directory '/mnt/d/Onion/source'
    make[2]: Entering directory '/mnt/d/Onion/source'
    + mkdir -p /mnt/d/Onion/source/staging_dir/target-mipsel_24kc_musl-1.1.16
    + cd /mnt/d/Onion/source/staging_dir/target-mipsel_24kc_musl-1.1.16
    + mkdir -p bin lib include stamp
    mkdir -p /mnt/d/Onion/source/build_dir/target-mipsel_24kc_musl-1.1.16/stamp
    touch /mnt/d/Onion/source/staging_dir/target-mipsel_24kc_musl-1.1.16/.prepared
    + mkdir -p /mnt/d/Onion/source/staging_dir/host
    + cd /mnt/d/Onion/source/staging_dir/host
    + mkdir -p bin lib include stamp
    mkdir -p /mnt/d/Onion/source/build_dir/host/stamp /mnt/d/Onion/source/staging_dir/host/include/sys
    install -m0644 /mnt/d/Onion/source/tools/include/*.h /mnt/d/Onion/source/staging_dir/host/include/
    install -m0644 /mnt/d/Onion/source/tools/include/sys/*.h /mnt/d/Onion/source/staging_dir/host/include/sys/
    ln -sf lib /mnt/d/Onion/source/staging_dir/host/lib64
    touch /mnt/d/Onion/source/staging_dir/host/.prepared
    make[3]: Entering directory '/mnt/d/Onion/source/tools/flock'
    make[3]: Leaving directory '/mnt/d/Onion/source/tools/flock'
    make[3]: Entering directory '/mnt/d/Onion/source/tools/flock'
    make[3]: Leaving directory '/mnt/d/Onion/source/tools/flock'
    make[3]: Entering directory '/mnt/d/Onion/source/tools/sed'
    make[3]: Leaving directory '/mnt/d/Onion/source/tools/sed'
    make[3]: Entering directory '/mnt/d/Onion/source/tools/sed'
    make[3]: Leaving directory '/mnt/d/Onion/source/tools/sed'
    make[3]: Entering directory '/mnt/d/Onion/source/tools/patch'
    CFLAGS="-O2 -I/mnt/d/Onion/source/staging_dir/host/include -I/mnt/d/Onion/source/staging_dir/host/usr/include " CPPFLAGS="-I/mnt/d/Onion/source/staging_dir/host/include -I/mnt/d/Onion/source/staging_dir/host/usr/include " CXXFLAGS="" LDFLAGS="-L/mnt/d/Onion/source/staging_dir/host/lib -L/mnt/d/Onion/source/staging_dir/host/usr/lib " make  -C /mnt/d/Onion/source/build_dir/host/patch-2.7.5
    make[4]: Entering directory '/mnt/d/Onion/source/build_dir/host/patch-2.7.5'
     cd . && /usr/bin/env bash /mnt/d/Onion/source/build_dir/host/patch-2.7.5/build-aux/missing automake-1.14 --gnu
    /mnt/d/Onion/source/build_dir/host/patch-2.7.5/build-aux/missing: line 81: automake-1.14: command not found
    WARNING: 'automake-1.14' is missing on your system.
             You should only need it if you modified 'Makefile.am' or
             'configure.ac' or m4 files included by 'configure.ac'.
             The 'automake' program is part of the GNU Automake package:
             <http://www.gnu.org/software/automake>
             It also requires GNU Autoconf, GNU m4 and Perl in order to run:
             <http://www.gnu.org/software/autoconf>
             <http://www.gnu.org/software/m4/>
             <http://www.perl.org/>
    Makefile:1152: recipe for target 'Makefile.in' failed
    make[4]: *** [Makefile.in] Error 1
    make[4]: Leaving directory '/mnt/d/Onion/source/build_dir/host/patch-2.7.5'
    Makefile:23: recipe for target '/mnt/d/Onion/source/build_dir/host/patch-2.7.5/.built' failed
    make[3]: *** [/mnt/d/Onion/source/build_dir/host/patch-2.7.5/.built] Error 2
    make[3]: Leaving directory '/mnt/d/Onion/source/tools/patch'
    tools/Makefile:147: recipe for target 'tools/patch/compile' failed
    make[2]: *** [tools/patch/compile] Error 2
    make[2]: Leaving directory '/mnt/d/Onion/source'
    tools/Makefile:145: recipe for target '/mnt/d/Onion/source/staging_dir/target-mipsel_24kc_musl-1.1.16/stamp/.tools_install_yynyyyyynyyyyynyynnyyyynyyyyyyyyyyyyyyynyynynnyyynnny' failed
    make[1]: *** [/mnt/d/Onion/source/staging_dir/target-mipsel_24kc_musl-1.1.16/stamp/.tools_install_yynyyyyynyyyyynyynnyyyynyyyyyyyyyyyyyyynyynynnyyynnny] Error 2
    make[1]: Leaving directory '/mnt/d/Onion/source'
    /mnt/d/Onion/source/include/toplevel.mk:198: recipe for target 'world' failed
    make: *** [world] Error 2
    

    The plot thickens...



  • @Elliot-477569 said

    I wonder why your output in Windows is different. Did you run it in a volume root - case sensitivity isn't present the root? Are you using WSL, or an alternative like cygwin?

    It's a git bash shell, so I think it's built on top of cygwin or something like that - but anyway it's definitely not WSL and your test shows you're good to go.

    [edit]
    Also:

    elliot477569@Helium2:/mnt/d/Onion/source$ make menuconfig
    ...
    Checking 'case-sensitive-fs'... ok.
    ...
    

    [/edit]



  • @Elliot-477569 said

    Am I doing this correctly?

    elliot477569@Helium2:/mnt/d/Onion/source/build_dir/host/sed-4.2.2$ make configure
    make: 'configure' is up to date.
    

    Maybe we're missing something.
    My interpretation of this is that configure didn't get built:

    make[4]: Entering directory '/mnt/d/Onion/source/build_dir/host/sed-4.2.2'
    CDPATH="${ZSH_VERSION+.}:" && cd . && bash /mnt/d/Onion/source/build_dir/host/sed-4.2.2/build-aux/missing --run autoconf
    autom4te: need GNU m4 1.4 or later: /mnt/d/Onion/source/staging_dir/host/bin/m4
    Makefile:1023: recipe for target 'configure' failed
    make[4]: *** [configure] Error 1
    make[4]: Leaving directory '/mnt/d/Onion/source/build_dir/host/sed-4.2.2'
    

    But your make says it's up to date, which would indicate it was built successfully.

    Perhaps it's time to backup your .config and make distclean and start from scratch?

    [edit]
    Looking back through the thread, the following:
    1.) make died, making sed.
    2.) a later make skipped over sed (indicating it was successful - correlates with your make configure ) and then died making the next file: patch.

    Maybe this is a timing issue within make? Perhaps a later thread is exiting before an earlier thread has completed?
    What if you just run make with no parameters? It'll be slow, but hopefully sequential...
    [/edit]



  • Scanning the WSL issues on Github - Processes disappearing? Maybe you're seeing something related?

    If you repeatedly run make, does it get a little bit further into the build process each time?



  • Last thought on this for now.
    Working on the assumption that something external to the build process might be interfering with it, and since this is windows you are probably running some kind of anti-virus software. If so, have you tried excluding your build path and all sub-folders from your AV software? Or temporarily disabling it and then running a build?



  • @cas @Elliot-477569 I have the identical error on macOS 10.13.1.... (cf here https://forum.openwrt.org/viewtopic.php?pid=369392)



  • $ make -j1 V=s
    make[1]: Entering directory `/Volumes/OpenWrt/source'
    mkdir -p /Volumes/OpenWrt/source/build_dir/target-mipsel_24kc_musl-1.1.16/stamp
    touch /Volumes/OpenWrt/source/staging_dir/target-mipsel_24kc_musl-1.1.16/.prepared
    mkdir -p /Volumes/OpenWrt/source/build_dir/host/stamp /Volumes/OpenWrt/source/staging_dir/host/include/sys
    install -m0644 /Volumes/OpenWrt/source/tools/include/*.h /Volumes/OpenWrt/source/staging_dir/host/include/
    install -m0644 /Volumes/OpenWrt/source/tools/include/sys/*.h /Volumes/OpenWrt/source/staging_dir/host/include/sys/
    ln -sf lib /Volumes/OpenWrt/source/staging_dir/host/lib64
    touch /Volumes/OpenWrt/source/staging_dir/host/.prepared
    export SHELL="bash"; /Library/Developer/CommandLineTools/usr/bin/make -C /Volumes/OpenWrt/source/build_dir/host/autoconf-2.69
    /Library/Developer/CommandLineTools/usr/bin/make  all-recursive
    Making all in bin
    autom4te_perllibdir='..'/lib AUTOM4TE_CFG='../lib/autom4te.cfg'         ../bin/autom4te -B '..'/lib -B '..'/lib         --language M4sh --cache '' --melt ./autoconf.as -o autoconf.in
    autom4te: need GNU m4 1.4 or later: /Volumes/OpenWrt/source/staging_dir/host/bin/m4
    make[6]: *** [autoconf.in] Error 1
    make[5]: *** [all-recursive] Error 1
    make[4]: *** [all] Error 2
    make[3]: *** [/Volumes/OpenWrt/source/build_dir/host/autoconf-2.69/.built] Error 2
    make[2]: *** [tools/autoconf/compile] Error 2
    make[1]: *** [/Volumes/OpenWrt/source/staging_dir/target-mipsel_24kc_musl-1.1.16/stamp/.tools_install_yynyyyyyynyyyyynyynnyyyynyyyyyyyyyyyyyyynyynynnyyynnny] Error 2
    make[1]: Leaving directory `/Volumes/OpenWrt/source'
    make: *** [world] Error 2
    


  • I thought I would take a break from this for a couple of projects and come back to it later. There is a long weekend coming up so later is now ^^.

    Thanks again for your assistance and perseverance @cas; I appreciate your insight!

    @Jonathan-Zwart although I would like to state how glad I am that this isn't just a Windows symptom, I do empathise with your circumstance. Did you overcome this issue?

    I recently came across these:

    I did admittedly get a little excited after all the positive comments and sounds of success, however my success was limited:

     make -j1 V=s toolchain/install
    make[1]: Entering directory '/mnt/d/Onion/lede/source'
    + mkdir -p /mnt/d/Onion/lede/source/staging_dir/target-mipsel_24kc_musl
    + cd /mnt/d/Onion/lede/source/staging_dir/target-mipsel_24kc_musl
    + mkdir -p bin lib include stamp
    mkdir -p /mnt/d/Onion/lede/source/build_dir/target-mipsel_24kc_musl/stamp
    touch /mnt/d/Onion/lede/source/staging_dir/target-mipsel_24kc_musl/.prepared
    make[2]: Entering directory '/mnt/d/Onion/lede/source'
    + mkdir -p /mnt/d/Onion/lede/source/staging_dir/host
    + cd /mnt/d/Onion/lede/source/staging_dir/host
    + mkdir -p bin lib include stamp
    mkdir -p /mnt/d/Onion/lede/source/build_dir/host/stamp /mnt/d/Onion/lede/source/staging_dir/host/include/sys
    install -m0644 /mnt/d/Onion/lede/source/tools/include/*.h /mnt/d/Onion/lede/source/staging_dir/host/include/
    install -m0644 /mnt/d/Onion/lede/source/tools/include/sys/*.h /mnt/d/Onion/lede/source/staging_dir/host/include/sys/
    ln -sf lib /mnt/d/Onion/lede/source/staging_dir/host/lib64
    touch /mnt/d/Onion/lede/source/staging_dir/host/.prepared
    make[3]: Entering directory '/mnt/d/Onion/lede/source/tools/flock'
    make[3]: Leaving directory '/mnt/d/Onion/lede/source/tools/flock'
    make[3]: Entering directory '/mnt/d/Onion/lede/source/tools/sed'
    make  -C /mnt/d/Onion/lede/source/build_dir/host/sed-4.4 SHELL="bash"
    make[4]: Entering directory '/mnt/d/Onion/lede/source/build_dir/host/sed-4.4'
     cd . && bash /mnt/d/Onion/lede/source/build_dir/host/sed-4.4/build-aux/missing automake-1.99a --gnu Makefile
    /mnt/d/Onion/lede/source/build_dir/host/sed-4.4/build-aux/missing: line 81: automake-1.99a: command not found
    WARNING: 'automake-1.99a' is missing on your system.
             You should only need it if you modified 'Makefile.am' or
             'configure.ac' or m4 files included by 'configure.ac'.
             The 'automake' program is part of the GNU Automake package:
             <http://www.gnu.org/software/automake>
             It also requires GNU Autoconf, GNU m4 and Perl in order to run:
             <http://www.gnu.org/software/autoconf>
             <http://www.gnu.org/software/m4/>
             <http://www.perl.org/>
    Makefile:2167: recipe for target 'Makefile.in' failed
    make[4]: *** [Makefile.in] Error 127
    make[4]: Leaving directory '/mnt/d/Onion/lede/source/build_dir/host/sed-4.4'
    Makefile:45: recipe for target '/mnt/d/Onion/lede/source/build_dir/host/sed-4.4/.built' failed
    make[3]: *** [/mnt/d/Onion/lede/source/build_dir/host/sed-4.4/.built] Error 2
    make[3]: Leaving directory '/mnt/d/Onion/lede/source/tools/sed'
    tools/Makefile:148: recipe for target 'tools/sed/compile' failed
    make[2]: *** [tools/sed/compile] Error 2
    make[2]: Leaving directory '/mnt/d/Onion/lede/source'
    tools/Makefile:146: recipe for target '/mnt/d/Onion/lede/source/staging_dir/target-mipsel_24kc_musl/stamp/.tools_compile_yyyyyyyynyyyyynyynnyyyynyyyyyyyyyyyyyyynyynynnyyynny' failed
    make[1]: *** [/mnt/d/Onion/lede/source/staging_dir/target-mipsel_24kc_musl/stamp/.tools_compile_yyyyyyyynyyyyynyynnyyyynyyyyyyyyyyyyyyynyynynnyyynny] Error 2
    make[1]: Leaving directory '/mnt/d/Onion/lede/source'
    /mnt/d/Onion/lede/source/include/toplevel.mk:207: recipe for target 'toolchain/install' failed
    make: *** [toolchain/install] Error 2
    

    I'm going to try this on my work PC tomorrow.



  • Success!

    Everything appeared to work as expected once I set this up on the default WSL partition. I haven't looked into why, or what this issue represents, but simply following the Onion guide was sufficient. For the record, I still feel dirty about this.

    ¯_(ツ)_/¯



  • @Jonathan-Zwart I have a solution to the 10.13.1 problem with m4 you've encountered (see my answer to your post in the openwrt forum and/or the question/solution in the lede forum from late 2017)

    But it does not seem to be related to the OP's problem on WSL to me. From @Elliot-477569 's last post I rather conclude his original problem was a file system issue.

    I still have a unresolved strange issue with make leaving out parts of the build of the mt76 wifi driver when building LEDE master on macOS 10.13.1, resulting in an image with everything working, except that the entire mac80211 infrastructure is missing. The reason behind must be a similar subtlety like in @Elliot-477569 's case on WSL, that's why I subscribed to this thread in the first place... Any ideas are welcome 😉



Looks like your connection to Community was lost, please wait while we try to reconnect.