Environment settings may get overwritten during package installation
I encountered a peculiar bug when installing a package. On a system with two compilers installed (GCC and Clang), I chose to build a package with GCC, but to my surprise CK attempted to build it with Clang!
It turned out that the package had a dependency on a library built with Clang. In addition, the library dependency was specified with a higher "sort" value than the compiler dependency. As a result, CK first set up the compiler environment with CK_CXX=gcc (as per my request); then CK overwrote the compiler environment with CK_CXX=clang (as per the environment settings of the library).
A workaround in this case was to lower the "sort" value of the library. But what can be done in general to prevent this counter-intuitive behaviour?
Yes, that's right - I also know this issue, and it's true that it's not intuitive (though reasonable from low-level CK implementations). At the moment I do the same - I just move compiler above such lib using 'sort' ... Maybe we can think about cleaner solution in the longer future (when updating/improving soft/package manager) ...