cross-compile 'make' fails on Linux Mint



  • I followed the instructions listed at https://docs.onion.io/omega2-docs/cross-compiling.html, and am stuck at a build error. Here is the entire build output for 'make':

    WARNING: Makefile 'package/utils/busybox/Makefile' has a dependency on 'libpam', which does not exist
    WARNING: Makefile 'package/utils/busybox/Makefile' has a build dependency on 'libpam', which does not exist
    WARNING: Makefile 'package/network/utils/curl/Makefile' has a dependency on 'libgnutls', which does not exist
    WARNING: Makefile 'package/network/utils/curl/Makefile' has a dependency on 'libopenldap', which does not exist
    WARNING: Makefile 'package/network/utils/curl/Makefile' has a dependency on 'libidn2', which does not exist
    WARNING: Makefile 'package/network/utils/curl/Makefile' has a dependency on 'libssh2', which does not exist
    WARNING: Makefile 'package/boot/kexec-tools/Makefile' has a dependency on 'liblzma', which does not exist
    WARNING: Makefile 'package/network/services/lldpd/Makefile' has a dependency on 'libnetsnmp', which does not exist
     make[1] world
     make[2] target/compile
     make[3] -C target/linux compile
     make[2] diffconfig
     make[2] package/cleanup
     make[2] package/compile
     make[3] -C package/libs/libjson-c host-compile
     make[3] -C package/libs/libubox host-compile
     make[3] -C package/system/opkg host-compile
     make[2] package/install
    make -r world: build failed. Please re-run make with -j1 V=s to see what's going on
    /home/mike/omega-cross-compile/source/include/toplevel.mk:216: recipe for target 'world' failed
    make: *** [world] Error 1
    

    I have assumed those warnings are not the cause of the build error, but otherwise there is little to go on so far.

    So I follow that up with 'make -j1 V=s' as instructed, and when I make that call, the build never throws an error - instead, it gets stuck at the same place in the build (no matter how many times I try it, or if I do 'make clean' first, or if I use sudo, or reboot, etc). The build proceeds just fine until it reaches this line:

    mkdir -p /home/mike/omega-cross-compile/source/staging_dir/packages/ramips
    

    (The username is 'mike' obviously.)

    I've let this run for over a day to see if it's taking tens of hours to do whatever it's trying to do after creating the directory, but I never see further progress. I did confirm that the ramips directory got created. Any thoughts on what is blocking me? Thanks.



  • @indianajones Here are the steps I would take:

    1. scripts/onion-minimal-build.sh
    2. make clean
    3. make -j 9

    Step 1 will cause make to only build components that are used in the Omega firmware release and will drastically reduce your build time. It may also solve your issue as I suspect the issue is a confluence of dependency issues. If it still fails then please run make -j 1 V=s and post the log.



  • @crispyoz wow, that worked! So I also got an error message when I started the make:

    WARNING: your configuration is out of sync. Please run make menuconfig, oldconfig or defconfig!
    

    Nonetheless, the make succeeded with no other warnings. I re-ran 'make menuconfig' and saw that my settings were still correct, except it didn't save the target board (Omega 2+). So I've fixed that an am running make again, which I imagine will still work. I didn't get the above error message after fixing the target board in menuconfig.

    So thanks a bunch for the help!



  • @indianajones Good news, well done.


Log in to reply
 

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