for example, when opencdk's configure looks for libgcrypt-config, it fails because it looks in the build host's environment rather than the specified ROOT's environment. Reproducible: Always Steps to Reproduce: 1. ROOT=/blah emerge libgcrypt 2. ROOT=/blah emerge opencdk 3. Actual Results: opencdk fails to emerge because it cannot find libgcrypt Expected Results: install opencdk
Wrong; you always compile things against libraries in /, not in ${ROOT}. Install all dependencies properly. NOTABUG.
(In reply to comment #1) > Wrong; you always compile things against libraries in /, not in ${ROOT}. > Install all dependencies properly. > > NOTABUG. > How does that make any sense when you are cross compiling? The binary format would differ. In this case the arch is the same but that should not matter.
You don't cross-compile by (ab)using ROOT, that's what crossdev is for.
no crossdev only builds the toolchain. Emerge is for dependency analysis and program installation. Please look at this: http://www.gentoo.org/proj/en/base/embedded/cross-development.xml Look at section 3
Created attachment 125310 [details, diff] files/opencdk-crosscompile.diff If you are really interested in crosscompile, try this patch. Regardless, libgcrypt needs to be in / for this to compile.
Created attachment 125311 [details, diff] opencdk-0.5.7.ebuild.diff