Hi everyone, Two years ago, I published a supposedly reproducible computation, explaining how to re-run it at any time using Guix (it's at https://github.com/khinsen/rescience-ten-year-challenge-paper-3/). Yesterday, I got an e-mail from someone who tried, and failed. I tried myself, and failed as well. But I don't understand what's going on.
To see the failure, do guix time-machine \ --commit=7357b3d7a52eb5db1674012c50d308d792741c48 \ -- build openblas The build log is attached, the first error is getarch_2nd.c: In function ‘main’: getarch_2nd.c:12:35: error: ‘SGEMM_DEFAULT_UNROLL_M’ undeclared (first use in this function); did you mean ‘XGEMM_DEFAULT_UNROLL_M’? printf("SGEMM_UNROLL_M=%d\n", SGEMM_DEFAULT_UNROLL_M); ^~~~~~~~~~~~~~~~~~~~~~ XGEMM_DEFAULT_UNROLL_M What makes this complicated is the DYNAMIC_ARCH feature of openblas that Guix uses on X86 architectures. I don't know the details of who this should work and why it could fail. In particular, I don't know if the source code file getarch₂nd is supposed to be compiled at all if all goes well. I doubt we can do anything to fix the past, but I would like to understand what exactly went wrong here so we can make sure we do better in the future. Cheers, Konrad.