On Sun, 2021-04-11 at 17:07 +0200, Hartmut Goebel wrote: > Thanks for the review. I applied most of the changes and poushed as > 03e80cf42240f65346713ff414eb2ca628ef0884 > > If did not apply > > > Suggestion: replace (getenv "C_INCLUDE_PATH") with > > (getenv ,(if (%current-target-system) > > "CROSS_C_INCLUDE_PATH" > > "C_INCLUDE_PATH")). > > Likewise for LIBRARY_PATH. I could be wrong about how/when "CROSS_C_INCLUDE_PATH" or "C_INCLUDE_PATH" should be used. I don't agree with the following reasoning however: > since "CROSS_C" is used on 14 times in gnu/packages/*.scm and not at all > in guix/build*. So I assume this is not the way to implement > cross-compiling :-) ... as many (much more than 14) packages have cross-compilation bugs. For example, try searching for "CC=gcc". Practically all usages are incorrect, they should use ,(string-append "CC=" (cc-for-target)) instead. gcc = *not* the cross-compiler (cc-for-target): when cross-compiling, something like "aarch64-linux-gnu-gcc", otherwise simply "gcc". I've submitted a patch adding a linter, and a patch series fixing some of the buggy packages (at least instances of "CC=gcc", there may be other bugs). Links: https://issues.guix.gnu.org/47676, https://issues.guix.gnu.org/47693 Greetings, Maxime.