[Mesa-users] How to compile on Fedora 27 without SDK (and without PGSTAR)
Rob Farmer
r.j.farmer at uva.nl
Tue Feb 13 06:05:49 EST 2018
Hi
Thanks for the notes, you can get pgplot (and pgplot-devel) from the
rpmfusion-nonfree repo, Then for building you can add:
LOAD_PGPLOT=$(pkg-config --libs pgplot) -lz
where for me $(pkg-config --libs pgplot) resolves to "-lpgplot -lgfortran
-lm -lX11"
Rob
On 13 February 2018 at 11:04, Warrick Ball via Mesa-users <
mesa-users at lists.mesastar.org> wrote:
> Hi everyone,
>
> At some point while checking whether the SDK was loaded on my Fedora 27
> system, I noticed that the system version is newer than the SDK version.
>
>
> $ gfortran -v
> Using built-in specs.
> COLLECT_GCC=gfortran
> COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/7/lto-wrapper
> OFFLOAD_TARGET_NAMES=nvptx-none
> OFFLOAD_TARGET_DEFAULT=1
> Target: x86_64-redhat-linux
> Configured with: ../configure --enable-bootstrap
> --enable-languages=c,c++,objc,obj-c++,fortran,ada,go,lto --prefix=/usr
> --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=
> http://bugzilla.redhat.com/bugzilla --enable-shared
> --enable-threads=posix --enable-checking=release --enable-multilib
> --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions
> --enable-gnu-unique-object --enable-linker-build-id
> --with-gcc-major-version-only --with-linker-hash-style=gnu --enable-plugin
> --enable-initfini-array --with-isl --enable-libmpx --enable-offload-targets=nvptx-none
> --without-cuda-driver --enable-gnu-indirect-function --with-tune=generic
> --with-arch_32=i686 --build=x86_64-redhat-linux
> Thread model: posix
> gcc version 7.3.1 20180130 (Red Hat 7.3.1-2) (GCC)
>
>
> While I love the SDK and would never dream of not using it for production
> work, it crossed my mind to try compiling MESA with this newer version of
> gfortran. Everything here refers to the latest public revision, r10108.
>
> These are instructions, gleaned from some trial and error, that should
> install MESA on Fedora 27 without the SDK (even though I'm not suggesting
> that you shouldn't use the SDK!). I disabled PGSTAR (since I don't use it
> often) by making sure the last lines before section 5) are
>
> USE_PGSTAR = NO
> LOAD_PGPLOT =
>
> (Actually, I just changed the lines in the gfortran section of the if
> block.) I might be possible to install with PGSTAR support but I'm going
> to leave that for another time.
>
> The first thing is whether you want to install with HDF5 support. If not,
> in which case you won't have access to the custom weak reaction rates,
> make sure the lines before section 6) of utils/makefile_header are
>
> USE_HDF5 = NO
> LOAD_HDF5 =
> INCLUDE_HDF5 =
>
> and run
>
> touch $MESA_DIR/rates/skip_test
>
> because that test fails without HDF5 support.
>
> If you do want HDF5 support, which is quite easy anyway, you need to
> install the HDF5 libraries from the repos with
>
> su -c "dnf install hdf5-static hdf5-devel"
>
> To determine how to modify the makefile, I learned that you can get the
> HDF5 compilation scripts to tell you what they're doing with
>
> $ h5fc -show
> gfortran -O2 -g -pipe -Wall -Werror=format-security
> -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong
> --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1
> -m64 -mtune=generic -I/usr/lib64/gfortran/modules -I/usr/include
> -L/usr/lib64 -lhdf5hl_fortran -lhdf5_hl -lhdf5_fortran -lhdf5 -Wl,-z,relro
> -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -lsz -lz -ldl -lm
> -Wl,-rpath -Wl,/usr/lib64
>
> I extracted the include/load parts of that into utils/makefile_header as
>
> USE_HDF5 = YES
> LOAD_HDF5 = -L/usr/lib64 -lhdf5_fortran -lhdf5 -lhdf5hl_fortran -lhdf5_hl
> -lz
> INCLUDE_HDF5 = -I/usr/lib64/gfortran/modules -I/usr/include
>
> (some of which might be overkill).
>
> I then tried to ./install. After following the instructions to install
> ndiff (which gave some error about man pages but worked) and makedepf90,
> compilation proceeded up until some typical complaints about uninitialized
> variables. So I added -Wno-uninitialized to FCbasic and tried again.*
>
> After all that, MESA compiled! I'm now running the test suite, though
> it's agonizingly slow on my tired old laptop...
>
> Cheers,
> Warrick
>
>
> * In a separate exercise, I worked through all the uninitialized
> variables. Here's a synopsis of what I added:
>
> $ grep -n Fedora */p*/*.f90
> chem/public/chem_lib.f90:619: zsolar = 0d0 ! for Fedora 27
> chem/public/chem_lib.f90:620: ysolar = 0d0 ! for Fedora 27
> eos/private/eosdt_eval.f90:100: d_alfa_dlogT = 0d0 ! for
> Fedora 27
> eos/private/eosdt_eval.f90:101: d_alfa_dlogRho = 0d0 ! for
> Fedora 27
>
>
>
>
>
>
> ------------
> Warrick Ball
> Postdoc, School of Physics and Astronomy
> University of Birmingham, Edgbaston, Birmingham B15 2TT
> wball at bison.ph.bham.ac.uk
> +44 (0)121 414 4552
> _______________________________________________
> mesa-users at lists.mesastar.org
> https://lists.mesastar.org/mailman/listinfo/mesa-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.mesastar.org/pipermail/mesa-users/attachments/20180213/e13c535c/attachment.html>
More information about the Mesa-users
mailing list