On Mon, Feb 22, 2021 at 04:10:16PM -0800, Andy Tai wrote: [...] > I am not sure why gcc 7.5 is being used; no where in the package > definition scm file references explicitly gcc 7.5. I did not install > gcc 7.5 explicitly either.
This is the "default" GCC package used when building packages, gcc-final from %final-inputs in 'gnu/packages/commencement.scm': https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/commencement.scm?h=v1.2.0#n3753 If you follow the chain of inheritance and references from gcc-final, you'll see it goes like this: gcc-final -> gcc-boot0 -> gcc -> gcc-7.5 ... and in gcc-7.5, the version is defined. You can override it by adding other packages of gcc to the native-inputs of vtk. For example: ------ diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm index c3ea8491d9..195b21c508 100644 --- a/gnu/packages/image-processing.scm +++ b/gnu/packages/image-processing.scm @@ -49,6 +49,7 @@ #:use-module (gnu packages documentation) #:use-module (gnu packages flex) #:use-module (gnu packages fontutils) + #:use-module (gnu packages gcc) #:use-module (gnu packages geo) #:use-module (gnu packages ghostscript) #:use-module (gnu packages gl) @@ -291,6 +292,8 @@ many popular formats.") "-DVTK_USE_SYSTEM_TIFF:BOOL=TRUE" "-DVTK_USE_SYSTEM_ZLIB:BOOL=TRUE") #:tests? #f)) ;XXX: test data not included + (native-inputs + `(("gcc" ,gcc-8))) (inputs `(("double-conversion" ,double-conversion) ("eigen" ,eigen) ------ ... and then it will be compiled using our package of GCC 8, which is precisely: ------ $ guix show gcc-toolchain@8 name: gcc-toolchain version: 8.4.0 outputs: out debug static systems: x86_64-linux i686-linux dependencies: binutils@2.34 gcc@8.4.0 glibc@2.31 ld-wrapper@0 location: gnu/packages/commencement.scm:3836:4 homepage: https://gcc.gnu.org/ license: GPL 3+ synopsis: Complete GCC tool chain for C/C++ development description: This package provides a complete GCC tool chain for C/C++ development to be installed in user profiles. This includes GCC, as well as libc (headers and binaries, plus debugging + symbols in the `debug' output), and Binutils. GCC is the GNU Compiler Collection. ------ I hope that helps!