Closed timwhite closed 7 years ago
I'm amazed you found this work.
This isn't a very good general method for cross-building, because separating the build-arch portions of build tools (installed in the system root) from their host-arch portions of build inputs (installed under /sysroot
) has to be separately hacked for each dependency. Browsing the Dockerfile
reveals numerous such hacks using symlinks and monkey-patches.
Your errors will need similar hacks. The below error, pasted from your i386
build output, shows the build system looking for amd64
-arch build inputs, of course incorrect. The armhf
error is also related to the relocation of build inputs.
In file included from /usr/lib/gcc/x86_64-linux-gnu/4.9/include-fixed/syslimits.h:7:0,
from /usr/lib/gcc/x86_64-linux-gnu/4.9/include-fixed/limits.h:34,
from conftest.c:12:
That you must create the .ccache
directory indicates that you're not running it the same way we do. You might study the build logs from the Travis CI builds and the build_docker
script for how to invoke the Docker container, which might help if you're not using exactly the right incantation. There's a lot of magic hidden away in that build_docker
script, as the final 10 lines indicate.
Let me warn you that you're exploring new territory, this will never be a supported method of cross-building, and you're not going to find many folks who can help with problems. If that doesn't scare you, then have fun!
@zultron Thanks for getting back to me. I'm now re-reading Debian cross compiling and appear to be having some luck with it in my own docker container!
I'm trying to use this awesome docker image to build Debian packages for the Grase Hotspot project. I've previously done all building by hand in dchroot's and on actual arm hardware for the arm builds. Hoping to use this instead. I understand it probably "just works" for your builds, and not expecting total support from you. Just hoping you might have some insights into getting it to work, from getting it to work for your builds.
Thanks
Firstly, I had to install a few more dependencies (project specific), and also create /home/travis/.ccache
AMD64 builds work at this stage.
i386 gives the following issues
Some relevant sections from config.log
armhf appears to be even worse
Relevant section from config.log