From 9cdef93a050270b63f4fe7bbc99f2c97c0837c43 Mon Sep 17 00:00:00 2001 From: Mohammad Akhlaghi Date: Thu, 15 Aug 2019 22:13:54 +0530 Subject: WCSLIB 6.4 doesn't need explicit link with CFITSIO This was a bug in WCSLIB 6.3 that has been fixed in WCSLIB 6.4. From WCSLIB's changelog: "The rule change to the Fortran makefile in v6.3 to add getwcstab_f.o to the sharable library causes it to depend on CFITSIO to resolve fits_get_wcstab(). Hence backed out of that change.". The actual error was like this: Undefined symbols for architecture x86_64: "_fits_read_wcstab", referenced from: _ftwcst_ in getwcstab_f.o "_gFitsFiles", referenced from: _ftwcst_ in getwcstab_f.o ld: symbol(s) not found for architecture x86_64 --- reproduce/software/make/high-level.mk | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) (limited to 'reproduce/software/make/high-level.mk') diff --git a/reproduce/software/make/high-level.mk b/reproduce/software/make/high-level.mk index 96cdb23..fc2d7a4 100644 --- a/reproduce/software/make/high-level.mk +++ b/reproduce/software/make/high-level.mk @@ -568,28 +568,16 @@ $(ibidir)/libgit2: $(tdir)/libgit2-$(libgit2-version).tar.gz \ fi \ && echo "Libgit2 $(libgit2-version)" > $@ -# LIBS with `-lcfitsio': For some reason WCSLIB 6.3 has some linking -# problems on some versions of macOS, giving the following error: -# -# Undefined symbols for architecture x86_64: -# "_fits_read_wcstab", referenced from: -# _ftwcst_ in getwcstab_f.o -# "_gFitsFiles", referenced from: -# _ftwcst_ in getwcstab_f.o -# ld: symbol(s) not found for architecture x86_64 -# -# For the time being, the best/most-generic solution we found was to -# explicitly force linking with CFITSIO (which happens anyway). $(ibidir)/wcslib: $(tdir)/wcslib-$(wcslib-version).tar.bz2 \ $(ibidir)/cfitsio $(call gbuild, $<, wcslib-$(wcslib-version), , \ - LIBS="-pthread -lcfitsio -lcurl -lm" \ + LIBS="-pthread -lcurl -lm" \ --with-cfitsiolib=$(ildir) \ --with-cfitsioinc=$(idir)/include \ --without-pgplot) \ && if [ x$(on_mac_os) = xyes ]; then \ - install_name_tool -id $(ildir)/libwcs.6.3.dylib \ - $(ildir)/libwcs.6.3.dylib; \ + install_name_tool -id $(ildir)/libwcs.6.4.dylib \ + $(ildir)/libwcs.6.4.dylib; \ fi \ && echo "WCSLIB $(wcslib-version)" > $@ -- cgit v1.2.1