aboutsummaryrefslogtreecommitdiff
path: root/reproduce/software/make/high-level.mk
diff options
context:
space:
mode:
authorMohammad Akhlaghi <mohammad@akhlaghi.org>2020-08-17 00:28:08 +0100
committerMohammad Akhlaghi <mohammad@akhlaghi.org>2020-08-20 02:00:32 +0100
commit3480a74b077f599389fd54a453791a0373568171 (patch)
tree76e472534d729301ad480e3777c91a7c24a5d331 /reproduce/software/make/high-level.mk
parentb79c430c82b6c3a40817caac13bf8665cfa9c6a3 (diff)
parent9573d4e4d4754e629b73be4bd6846a049d57f427 (diff)
Imported recent updates in Maneage, minor conflicts fixed
Some very minor conflicts came up and were easily corrected. They were mostly in parts that are also shared with the demonstration in the core Maneage branch.
Diffstat (limited to 'reproduce/software/make/high-level.mk')
-rw-r--r--reproduce/software/make/high-level.mk63
1 files changed, 51 insertions, 12 deletions
diff --git a/reproduce/software/make/high-level.mk b/reproduce/software/make/high-level.mk
index cf104e6..9f434bc 100644
--- a/reproduce/software/make/high-level.mk
+++ b/reproduce/software/make/high-level.mk
@@ -52,6 +52,7 @@ ildir = $(BDIR)/software/installed/lib
ibidir = $(BDIR)/software/installed/version-info/proglib
# Basic directories (specific to this Makefile).
+il64dir = $(BDIR)/software/installed/lib64
iidir = $(BDIR)/software/installed/include
shsrcdir = $(shell pwd)/reproduce/software/shell
dtexdir = $(shell pwd)/reproduce/software/bibtex
@@ -555,7 +556,7 @@ $(ibidir)/libidn-$(libidn-version):
$(call import-source, $(libidn-url), $(libidn-checksum))
$(call gbuild, libidn-$(libidn-version), static, \
--disable-doc, -j$(numthreads) V=1)
- echo "Libjpeg $(libjpeg-version)" > $@
+ echo "Libidn $(libidn-version)" > $@
$(ibidir)/libjpeg-$(libjpeg-version):
tarball=jpegsrc.$(libjpeg-version).tar.gz
@@ -640,7 +641,10 @@ $(ibidir)/openblas-$(openblas-version):
$(ibidir)/openmpi-$(openmpi-version):
tarball=openmpi-$(openmpi-version).tar.gz
$(call import-source, $(openmpi-url), $(openmpi-checksum))
- $(call gbuild, openmpi-$(openmpi-version), static, , \
+ $(call gbuild, openmpi-$(openmpi-version), static, \
+ --with-pmix=internal \
+ --with-hwloc=internal \
+ --without-verbs, \
-j$(numthreads) V=1)
echo "Open MPI $(openmpi-version)" > $@
@@ -759,8 +763,8 @@ $(ibidir)/libgit2-$(libgit2-version): $(ibidir)/cmake-$(cmake-version)
-DUSE_SSH=OFF -DBUILD_CLAR=OFF \
-DTHREADSAFE=ON -DUSE_ICONV=OFF )
if [ x$(on_mac_os) = xyes ]; then
- install_name_tool -id $(ildir)/libgit2.28.dylib \
- $(ildir)/libgit2.28.dylib
+ install_name_tool -id $(ildir)/libgit2.1.0.dylib \
+ $(ildir)/libgit2.1.0.dylib
fi
echo "Libgit2 $(libgit2-version)" > $@
@@ -781,8 +785,8 @@ $(ibidir)/wcslib-$(wcslib-version): $(ibidir)/cfitsio-$(cfitsio-version)
--with-cfitsioinc=$(idir)/include \
--without-pgplot $$fortranopt)
if [ x$(on_mac_os) = xyes ]; then
- install_name_tool -id $(ildir)/libwcs.6.4.dylib \
- $(ildir)/libwcs.6.4.dylib
+ install_name_tool -id $(ildir)/libwcs.7.3.dylib \
+ $(ildir)/libwcs.7.3.dylib
fi
echo "WCSLIB $(wcslib-version)" > $@
@@ -849,7 +853,7 @@ $(ibidir)/automake-$(automake-version): $(ibidir)/autoconf-$(autoconf-version)
echo "GNU Automake $(automake-version)" > $@
$(ibidir)/bison-$(bison-version): $(ibidir)/help2man-$(help2man-version)
- tarball=bison-$(bison-version).tar.xz
+ tarball=bison-$(bison-version).tar.lz
$(call import-source, $(bison-url), $(bison-checksum))
$(call gbuild, bison-$(bison-version), static, ,V=1 -j$(numthreads))
echo "GNU Bison $(bison-version)" > $@
@@ -912,6 +916,7 @@ $(ibidir)/flex-$(flex-version): $(ibidir)/bison-$(bison-version)
$(ibidir)/gdb-$(gdb-version): $(ibidir)/python-$(python-version)
tarball=gdb-$(gdb-version).tar.gz
+ export configure_in_different_directory=1;
$(call import-source, $(gdb-url), $(gdb-checksum))
$(call gbuild, gdb-$(gdb-version),,,V=1 -j$(numthreads))
echo "GNU Project Debugger (GDB) $(gdb-version)" > $@
@@ -1092,10 +1097,17 @@ $(ibidir)/minizip-$(minizip-version): $(ibidir)/automake-$(automake-version)
rm -rf $$unpackdir
echo "Minizip $(minizip-version)" > $@
+# The Astromatic software packages (including missfits, sextractor, swarp
+# and others) need the '-fcommon' flag to compile properly on GCC 10 and
+# after. Previous to GCC 10, it was the default, but from GCC 10, the
+# default is '-fno-common'. This is known by the author (as SExtractor
+# issue 12: https://github.com/astromatic/sextractor/issues/12) and will
+# hopefully be fixed in the future.
$(ibidir)/missfits-$(missfits-version):
tarball=missfits-$(missfits-version).tar.gz
$(call import-source, $(missfits-url), $(missfits-checksum))
- $(call gbuild, missfits-$(missfits-version), static)
+ $(call gbuild, missfits-$(missfits-version), static, \
+ CFLAGS="-fcommon")
cp $(dtexdir)/missfits.tex $(ictdir)/
echo "MissFITS $(missfits-version) \citep{missfits}" > $@
@@ -1159,11 +1171,25 @@ $(ibidir)/R-$(R-version): \
$(ibidir)/libpaper-$(libpaper-version)
tarball=R-$(R-version).tar.gz
$(call import-source, $(R-url), $(R-checksum))
+ cd $(ddir)
+ tar xf $(tdir)/$$tarball
+ cd R-$(R-version)
+ # We need to manually remove the lines with '~autodetect~', they
+ # cause the configure script to crash in version 4.0.2. They are
+ # used in relation to Java, and we don't use Java anyway.
+ sed -i -e '/\~autodetect\~/ s/^/#/g' configure
export R_SHELL=$(SHELL)
- $(call gbuild, R-$(R-version), static, \
- --without-x --with-readline \
- --disable-openmp, -j$(numthreads))
+ ./configure --prefix=$(idir) \
+ --without-x \
+ --with-pcre1 \
+ --disable-java \
+ --with-readline \
+ --disable-openmp
+ make -j$(numthreads)
+ make install
+ cd ..
+ rm -rf R-$(R-version)
echo "R $(R-version)" > $@
# SCAMP documentation says ATLAS is a mandatory prerequisite for using
@@ -1177,7 +1203,10 @@ $(ibidir)/scamp-$(scamp-version): \
$(ibidir)/cdsclient-$(cdsclient-version)
tarball=scamp-$(scamp-version).tar.lz
$(call import-source, $(scamp-url), $(scamp-checksum))
+
+ # See comment above 'missfits' for '-fcommon'.
$(call gbuild, scamp-$(scamp-version), static, \
+ CFLAGS="-fcommon" \
--enable-threads \
--enable-openblas \
--enable-plplot=no \
@@ -1205,13 +1234,20 @@ $(ibidir)/scons-$(scons-version): $(ibidir)/python-$(python-version)
# libraries. But we can override this issue since we have Openblas
# installed, it is just necessary to explicity tell sextractor to use it in
# the configuration step.
+#
+# The '-fcommon' is a necessary C compilation flag for GCC 10 and above. It
+# is necessary for astromatic libraries, otherwise their build will crash.
$(ibidir)/sextractor-$(sextractor-version): \
$(ibidir)/fftw-$(fftw-version) \
$(ibidir)/openblas-$(openblas-version)
tarball=sextractor-$(sextractor-version).tar.lz
$(call import-source, $(sextractor-url), $(sextractor-checksum))
+
+ # See comment above 'missfits' for '-fcommon'.
$(call gbuild, sextractor-$(sextractor-version), static, \
- --enable-threads --enable-openblas \
+ CFLAGS="-fcommon" \
+ --enable-threads \
+ --enable-openblas \
--with-openblas-libdir=$(ildir) \
--with-openblas-incdir=$(idir)/include)
ln -fs $(ibdir)/sex $(ibdir)/sextractor
@@ -1221,7 +1257,10 @@ $(ibidir)/sextractor-$(sextractor-version): \
$(ibidir)/swarp-$(swarp-version): $(ibidir)/fftw-$(fftw-version)
tarball=swarp-$(swarp-version).tar.gz
$(call import-source, $(swarp-url), $(swarp-checksum))
+
+ # See comment above 'missfits' for '-fcommon'.
$(call gbuild, swarp-$(swarp-version), static, \
+ CFLAGS="-fcommon" \
--enable-threads)
cp $(dtexdir)/swarp.tex $(ictdir)/
echo "SWarp $(swarp-version) \citep{swarp}" > $@