I have been using the docker container for cross compiling which has worked sufficiently however it is a painfully clumsy workflow for me. Without making extra utilities and tooling to speed things up, getting cross compilation working in Windows is my preferred solution.
All the prerequisites are easily installed in accordance with the Omega2 documentation, and menuconfig
works fine, however compiling appears to get stuck pretty early on. I've been fumbling through Linux development so far without major issue, however I'm not finding the output too constructive in discerning the cause of my woes.
elliot477569@Helium2:/mnt/d/Onion/source$ make menuconfig
Checking 'working-make'... ok.
Checking 'case-sensitive-fs'... ok.
Checking 'proper-umask'... ok.
Checking 'gcc'... ok.
Checking 'working-gcc'... ok.
Checking 'g++'... ok.
Checking 'working-g++'... ok.
Checking 'ncurses'... ok.
Checking 'zlib'... ok.
Checking 'perl-thread-queue'... ok.
Checking 'tar'... ok.
Checking 'find'... ok.
Checking 'bash'... ok.
Checking 'patch'... ok.
Checking 'diff'... ok.
Checking 'cp'... ok.
Checking 'seq'... ok.
Checking 'awk'... ok.
Checking 'grep'... ok.
Checking 'getopt'... ok.
Checking 'stat'... ok.
Checking 'unzip'... ok.
Checking 'bzip2'... ok.
Checking 'wget'... ok.
Checking 'perl'... ok.
Checking 'python'... ok.
Checking 'git'... ok.
Checking 'file'... ok.
Checking 'ldconfig-stub'... ok.
Collecting package info: done
Collecting target info: done
*** End of the configuration.
*** Execute 'make' to start the build or try 'make help'.
elliot477569@Helium2:/mnt/d/Onion/source$ make -j12
make[1] world
make[2] tools/install
make[2] package/cleanup
make[3] -C tools/flock compile
make[3] -C tools/flock install
make[3] -C tools/sed compile
make -r world: build failed. Please re-run make with -j1 V=s to see what's going on
/mnt/d/Onion/source/include/toplevel.mk:198: recipe for target 'world' failed
make: *** [world] Error 1
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 -C /mnt/d/Onion/source/build_dir/host/sed-4.2.2 SHELL="bash"
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'
Makefile:46: recipe for target '/mnt/d/Onion/source/build_dir/host/sed-4.2.2/.built' failed
make[3]: *** [/mnt/d/Onion/source/build_dir/host/sed-4.2.2/.built] Error 2
make[3]: Leaving directory '/mnt/d/Onion/source/tools/sed'
tools/Makefile:147: recipe for target 'tools/sed/compile' failed
make[2]: *** [tools/sed/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
How do I go about resolving this - or even understanding what the actual problem is?
autom4te: need GNU m4 1.4 or later: /mnt/d/Onion/source/staging_dir/host/bin/m4
tells me that I need some package called m4
of version 1.4 or later. Great; got it.
elliot477569@Helium2:/mnt/d/Onion/source$ sudo apt-get install m4
[sudo] password for elliot477569:
Reading package lists... Done
Building dependency tree
Reading state information... Done
m4 is already the newest version (1.4.17-5).
The following package was automatically installed and is no longer required:
libfreetype6
Use 'sudo apt autoremove' to remove it.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
What next?
Any constructive advice would be greatly appreciated.