aboutsummaryrefslogtreecommitdiff
path: root/reproduce/src
diff options
context:
space:
mode:
authorRaul Infante-Sainz <infantesainz@gmail.com>2019-03-27 17:16:21 +0000
committerRaul Infante-Sainz <infantesainz@gmail.com>2019-03-27 17:16:21 +0000
commit12648438cf9f75738cef045fd02f4093eab7990d (patch)
tree15c7f706aee249e246139a3c52fa2102e0a2df79 /reproduce/src
parent7d1d6f88fb28630cc581ea41c487b2b0c0da269f (diff)
GCC is now built on a Mac, not yet ATLAS
Until now, we were simply using the host's GCC for Mac systems. But we found that except for a single step (to fixing `rpath'), it works on Mac!!! So, GCC is now part of the Mac build as well. However, we are still having some problems in building ATLAS on Mac. It works on GNU/Linux, but not in Mac. So for the time being (just temporarily), we are avoiding ATLAS (and thus Scipy) on Mac systems. We just filed an issue on the ATLAS discussion list to hopefully fix the problem soon.
Diffstat (limited to 'reproduce/src')
-rw-r--r--reproduce/src/make/dependencies-basic.mk37
-rw-r--r--reproduce/src/make/dependencies-python.mk5
-rw-r--r--reproduce/src/make/dependencies.mk19
3 files changed, 42 insertions, 19 deletions
diff --git a/reproduce/src/make/dependencies-basic.mk b/reproduce/src/make/dependencies-basic.mk
index b51f35d..69d2d84 100644
--- a/reproduce/src/make/dependencies-basic.mk
+++ b/reproduce/src/make/dependencies-basic.mk
@@ -740,13 +740,13 @@ $(ibdir)/ld: $(tdir)/binutils-$(binutils-version).tar.lz
#
# We are currently having problems installing GCC on macOS, so for the time
# being, if the pipeline is being run on a macOS, we'll just set a link.
-ifeq ($(on_mac_os),yes)
-gcc-prerequisites =
-else
+#ifeq ($(on_mac_os),yes)
+#gcc-prerequisites =
+#else
gcc-prerequisites = $(tdir)/gcc-$(gcc-version).tar.xz \
$(ilidir)/isl \
$(ilidir)/mpc
-endif
+#endif
$(ibdir)/gcc: $(gcc-prerequisites) \
$(ibdir)/ls \
$(ibdir)/sed \
@@ -766,12 +766,15 @@ $(ibdir)/gcc: $(gcc-prerequisites) \
# single architecture, we can trick GCC into building its libraries
# in '$(idir)/lib' by defining the '$(idir)/lib64' as a symbolic
# link to '$(idir)/lib'.
- if [ "x$(on_mac_os)" = xyes ]; then \
- $(call makelink,gfortran); \
- $(call makelink,g++); \
- $(call makelink,gcc,copy); \
- else \
- \
+
+# SO FAR IT SEEMS TO BE WORKING ON MAC, BUT MORE TESTS ARE NEEDED TO TOTALLY
+# REMOVE THE STEP WHERE WE JUST USE THE HOST'S GCC.
+# if [ "x$(on_mac_os)" = xyesno ]; then \
+# $(call makelink,gfortran); \
+# $(call makelink,g++); \
+# $(call makelink,gcc,copy); \
+# else \
+
rm -f $(ibdir)/gcc* $(ibdir)/g++ $(ibdir)/gfortran $(ibdir)/gcov*;\
rm -rf $(ildir)/gcc $(ildir)/libcc* $(ildir)/libgcc*; \
rm -rf $(ildir)/libgfortran* $(ildir)/libstdc* rm $(idir)/x86_64*;\
@@ -807,10 +810,12 @@ $(ibdir)/gcc: $(gcc-prerequisites) \
&& cd .. \
&& rm -rf gcc-build gcc-$(gcc-version) \
\
- && for f in $$(find $(idir)/libexec/gcc); do \
- if ldd $$f &> /dev/null; then \
- patchelf --set-rpath $(ildir) $$f; \
- fi; \
- done; \
- fi
+ && if [ "x$(on_mac_os)" != xyes ]; then \
+ for f in $$(find $(idir)/libexec/gcc); do \
+ if ldd $$f &> /dev/null; then \
+ patchelf --set-rpath $(ildir) $$f; \
+ fi; \
+ done; \
+ fi; \
+# fi
diff --git a/reproduce/src/make/dependencies-python.mk b/reproduce/src/make/dependencies-python.mk
index 54d3a56..fe82175 100644
--- a/reproduce/src/make/dependencies-python.mk
+++ b/reproduce/src/make/dependencies-python.mk
@@ -43,7 +43,10 @@ ilidir = $(BDIR)/dependencies/installed/lib/built
ipydir = $(BDIR)/dependencies/installed/lib/built/python
# Define the top-level programs to build (installed in `.local/bin').
-top-level-python = astroquery matplotlib scipy
+ifneq ($(on_mac_os),yes)
+withscipy=scipy
+endif
+top-level-python = astroquery matplotlib $(withscipy)
all: $(foreach p, $(top-level-python), $(ipydir)/$(p))
# Other basic environment settings: We are only including the host
diff --git a/reproduce/src/make/dependencies.mk b/reproduce/src/make/dependencies.mk
index d797cdb..02fe18a 100644
--- a/reproduce/src/make/dependencies.mk
+++ b/reproduce/src/make/dependencies.mk
@@ -44,7 +44,10 @@ ilidir = $(BDIR)/dependencies/installed/lib/built
# Define the top-level programs to build (installed in `.local/bin').
top-level-programs = astnoisechisel flock metastore unzip zip
-top-level-libraries = atlas freetype
+ifneq ($(on_mac_os),yes)
+withatlas = atlas
+endif
+top-level-libraries = freetype $(withatlas)
all: $(ddir)/texlive-versions.tex \
$(foreach p, $(top-level-programs), $(ibdir)/$(p)) \
$(foreach p, $(top-level-libraries), $(ilidir)/$(p))
@@ -260,6 +263,11 @@ $(ilidir)/libtiff: $(tdir)/tiff-$(libtiff-version).tar.gz \
$(ilidir)/atlas: $(tdir)/atlas-$(atlas-version).tar.bz2 \
$(tdir)/lapack-$(lapack-version).tar.gz
+ if [ x$(on_mac_os) = xyes ]; then
+ echo; echo;
+ echo "ATLAS build instructions not yet working on Mac"
+ exit 1
+ fi
# Get the operating system specific features (how to get
# CPU frequency and the library suffixes). To make the steps
@@ -294,7 +302,6 @@ $(ilidir)/atlas: $(tdir)/atlas-$(atlas-version).tar.bz2 \
# The linking step here doesn't recognize the `-Wl' in the
# `rpath_command'.
export LDFLAGS=-L$(ildir)
-
cd $(ddir) \
&& tar xf $< \
&& cd ATLAS \
@@ -305,6 +312,14 @@ $(ilidir)/atlas: $(tdir)/atlas-$(atlas-version).tar.bz2 \
--with-netlib-lapack-tarfile=$(word 2, $^) \
--cripple-atlas-performance \
-Fa alg -fPIC --shared \
+ -C xc $(ibdir)/gcc \
+ -C gc $(ibdir)/gcc \
+ -C if $(ibdir)/gfortran \
+ -C ic $(ibdir)/gcc \
+ -C dm $(ibdir)/gcc \
+ -C sm $(ibdir)/gcc \
+ -C dk $(ibdir)/gcc \
+ -C sk $(ibdir)/gcc \
--prefix=$(idir) \
&& make \
&& cd lib && make -f $$sharedmk && cd .. \