All compilers need to be preconfigured. [with 'spack compiler find' - which I think gets auto-invoked the first time 'spack install' is invoked]
>>>>> [balay@fedora spack]$ spack compiler list ==> Available compilers -- clang fedora29-x86_64 ---------------------------------------- clang@7.0.0 -- gcc fedora29-x86_64 ------------------------------------------ gcc@8.2.1 [balay@fedora ~]$ >>>>> for clang - it doesn't automatically associate a fortran compiler - so one would have to manually add gfortran to ~/.spack/linux/compilers.yaml [on linux] And then - it uses the last entry as the default [one can manually specify a different default in ~/.spack/packages.py] So you can do: [install with default compilers - in this case gcc@8.2.1] spack install petsc [install with a non-default compilers - in this case clang@7.0.0] spack install petsc%clang@7.0.0 Satish On Sun, 21 Oct 2018, Smith, Barry F. wrote: > > How does one set the compiler for Spack to use. I read all of > https://spack.readthedocs.io/en/latest/getting_started.html and it showed how > to find compilers and add them to the spack compiler list but nothing about > how to tell spack to use a particular compiler? > > > > > On Oct 21, 2018, at 11:51 AM, Smith, Barry F. <bsm...@mcs.anl.gov> wrote: > > > > > > Needs some more work > > > > > > ./bin/spack install petsc+hypre > > ==> mpich@3.2 : externally installed in /usr/local > > ==> mpich@3.2 : generating module file > > ==> mpich@3.2 : registering into DB > > ==> zlib@1.2.8 : externally installed in /usr > > ==> zlib@1.2.8 : generating module file > > ==> zlib@1.2.8 : registering into DB > > ==> Installing hdf5 > > ==> Fetching > > https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.3/src/hdf5-1.10.3.tar.gz > > ######################################################################## > > 100.0% > > ==> Staging archive: > > /Users/barrysmith/Src/spack/var/spack/stage/hdf5-1.10.3-qe62ngz3szijov3frsc6sclbfylst3qk/hdf5-1.10.3.tar.gz > > ==> Created stage in > > /Users/barrysmith/Src/spack/var/spack/stage/hdf5-1.10.3-qe62ngz3szijov3frsc6sclbfylst3qk > > ==> No patches needed for hdf5 > > ==> Building hdf5 [AutotoolsPackage] > > ==> Executing phase: 'autoreconf' > > ==> Executing phase: 'configure' > > ==> Executing phase: 'build' > > ==> Executing phase: 'install' > > ==> Successfully installed hdf5 > > Fetch: 4.37s. Build: 2m 5.47s. Total: 2m 9.84s. > > [+] > > /Users/barrysmith/Src/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.0-apple/hdf5-1.10.3-qe62ngz3szijov3frsc6sclbfylst3qk > > ==> Installing veclibfort > > ==> Fetching https://github.com/mcg1969/vecLibFort/archive/0.4.2.tar.gz > > ######################################################################## > > 100.0% > > ==> Staging archive: > > /Users/barrysmith/Src/spack/var/spack/stage/veclibfort-0.4.2-jgzyxocuu54r2lqckfugttbk3gpvhthk/0.4.2.tar.gz > > ==> Created stage in > > /Users/barrysmith/Src/spack/var/spack/stage/veclibfort-0.4.2-jgzyxocuu54r2lqckfugttbk3gpvhthk > > ==> No patches needed for veclibfort > > ==> Building veclibfort [Package] > > ==> Executing phase: 'install' > > ==> Successfully installed veclibfort > > Fetch: 1.02s. Build: 1.73s. Total: 2.75s. > > [+] > > /Users/barrysmith/Src/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.0-apple/veclibfort-0.4.2-jgzyxocuu54r2lqckfugttbk3gpvhthk > > ==> Installing hypre > > ==> Fetching https://github.com/LLNL/hypre/archive/v2.15.0.tar.gz > > ######################################################################## > > 100.0% > > ==> Staging archive: > > /Users/barrysmith/Src/spack/var/spack/stage/hypre-2.15.0-zzqagb6smd7uzznitrlvx3eor4oay3dg/v2.15.0.tar.gz > > ==> Created stage in > > /Users/barrysmith/Src/spack/var/spack/stage/hypre-2.15.0-zzqagb6smd7uzznitrlvx3eor4oay3dg > > ==> No patches needed for hypre > > ==> Building hypre [Package] > > ==> Executing phase: 'install' > > ==> Successfully installed hypre > > Fetch: 1.68s. Build: 45.02s. Total: 46.70s. > > [+] > > /Users/barrysmith/Src/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.0-apple/hypre-2.15.0-zzqagb6smd7uzznitrlvx3eor4oay3dg > > ==> cmake@3.7.1 : externally installed in /usr/local/bin > > ==> cmake@3.7.1 : generating module file > > ==> cmake@3.7.1 : registering into DB > > ==> Installing metis > > ==> Fetching > > http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/metis-5.1.0.tar.gz > > ######################################################################## > > 100.0% > > ==> Staging archive: > > /Users/barrysmith/Src/spack/var/spack/stage/metis-5.1.0-x7k25qyuivjq4t4jb32gxagfa3qc4b3y/metis-5.1.0.tar.gz > > ==> Created stage in > > /Users/barrysmith/Src/spack/var/spack/stage/metis-5.1.0-x7k25qyuivjq4t4jb32gxagfa3qc4b3y > > ==> Applied patch install_gklib_defs_rename.patch > > ==> Ran patch() for metis > > ==> Building metis [Package] > > ==> Executing phase: 'install' > > ==> Successfully installed metis > > Fetch: 3.86s. Build: 8.33s. Total: 12.19s. > > [+] > > /Users/barrysmith/Src/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.0-apple/metis-5.1.0-x7k25qyuivjq4t4jb32gxagfa3qc4b3y > > ==> Installing parmetis > > ==> Fetching > > http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis/parmetis-4.0.3.tar.gz > > ######################################################################## > > 100.0% > > ==> Staging archive: > > /Users/barrysmith/Src/spack/var/spack/stage/parmetis-4.0.3-st6cbngrj2r5jgtenru4f6jbtrbvhp3h/parmetis-4.0.3.tar.gz > > ==> Created stage in > > /Users/barrysmith/Src/spack/var/spack/stage/parmetis-4.0.3-st6cbngrj2r5jgtenru4f6jbtrbvhp3h > > ==> Applied patch enable_external_metis.patch > > ==> Applied patch > > pkg-parmetis-1c1a9fd0f408dc4d42c57f5c3ee6ace411eb222b.patch > > ==> Applied patch > > pkg-parmetis-82409d68aa1d6cbc70740d0f35024aae17f7d5cb.patch > > ==> Building parmetis [CMakePackage] > > ==> Executing phase: 'cmake' > > ==> Executing phase: 'build' > > ==> Executing phase: 'install' > > ==> Successfully installed parmetis > > Fetch: 3.71s. Build: 8.08s. Total: 11.79s. > > [+] > > /Users/barrysmith/Src/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.0-apple/parmetis-4.0.3-st6cbngrj2r5jgtenru4f6jbtrbvhp3h > > ==> python@2.7.1 : externally installed in /usr > > ==> python@2.7.1 : generating module file > > ==> python@2.7.1 : registering into DB > > ==> Installing superlu-dist > > ==> Fetching https://github.com/xiaoyeli/superlu_dist/archive/v5.4.0.tar.gz > > ######################################################################## > > 100.0% > > ==> Staging archive: > > /Users/barrysmith/Src/spack/var/spack/stage/superlu-dist-5.4.0-zfeg63fl3jxidb2irxucgz7nvmintbzn/v5.4.0.tar.gz > > ==> Created stage in > > /Users/barrysmith/Src/spack/var/spack/stage/superlu-dist-5.4.0-zfeg63fl3jxidb2irxucgz7nvmintbzn > > ==> No patches needed for superlu-dist > > ==> Building superlu-dist [CMakePackage] > > ==> Executing phase: 'cmake' > > ==> Executing phase: 'build' > > ==> Executing phase: 'install' > > ==> Successfully installed superlu-dist > > Fetch: 2.03s. Build: 22.54s. Total: 24.57s. > > [+] > > /Users/barrysmith/Src/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.0-apple/superlu-dist-5.4.0-zfeg63fl3jxidb2irxucgz7nvmintbzn > > ==> Installing petsc > > ==> Fetching > > http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-3.10.2.tar.gz > > ######################################################################## > > 100.0% > > ==> Staging archive: > > /Users/barrysmith/Src/spack/var/spack/stage/petsc-3.10.2-7fmmtqrr42secdvbosssdjc5lxnohh6b/petsc-3.10.2.tar.gz > > ==> Created stage in > > /Users/barrysmith/Src/spack/var/spack/stage/petsc-3.10.2-7fmmtqrr42secdvbosssdjc5lxnohh6b > > ==> No patches needed for petsc > > ==> Building petsc [Package] > > ==> Executing phase: 'install' > > ==> Error: ProcessError: Command exited with status 2: > > 'make' 'MAKE_NP=8' > > > > 1 error found in build log: > > 52 > > 53 ==> 'make' 'MAKE_NP=8' > > 54 makefile:15: lib/petsc/conf/petscvariables: No such file or > > directory > > 55 makefile:16: /lib/petsc/conf/variables: No such file or directory > > 56 makefile:17: /lib/petsc/conf/rules: No such file or directory > > 57 makefile:18: /lib/petsc/conf/test.common: No such file or > > directory > >>> 58 make: *** No rule to make target `/lib/petsc/conf/test.common'. > >>> Stop. > > > > See build log for details: > > > > /Users/barrysmith/Src/spack/var/spack/stage/petsc-3.10.2-7fmmtqrr42secdvbosssdjc5lxnohh6b/petsc-3.10.2/spack-build.out > > > > Then in the build log > > > > File > > "/private/var/folders/c1/ldz_dt8n2r3dtwv_chp5pfr40000gn/T/barrysmith/spack-stage/spack-stage-hFL0xI/petsc-3.10.2/config/BuildSystem/nargs.py", > > line 360, in setValue > > raise ValueError('Invalid directory: '+str(dir)+' for key > > '+str(self.key)) > > =============================================================================== > > Configuring PETSc to compile on your system > > > > =============================================================================== > > ******************************************************************************* > > ERROR in COMMAND LINE ARGUMENT to ./configure > > ------------------------------------------------------------------------------- > > Invalid directory: /usr/include for key with-zlib-include > > ******************************************************************************* > > > > > > Apple OS doesn't come with a /usr/include > > > > > >> On Oct 20, 2018, at 10:47 PM, Jed Brown <j...@jedbrown.org> wrote: > >> > >> We're currently maintaining a (somewhat clumsy and limited, albeit > >> functional) package manager in the form of the --download functionality. > >> What do people think of outsourcing this to Spack, which would handle > >> dependency resolution and report includes/libraries to PETSc? That > >> would enable reuse of installed packages between different PETSC_ARCH > >> and be more reliable regarding upgrade/downgrade when switching > >> branches. > > >