From 152421339a3a52485d9f6c4be28aad5c58cd089c Mon Sep 17 00:00:00 2001 From: Mohammad Akhlaghi Date: Fri, 12 Feb 2021 23:49:16 +0000 Subject: Installation: minor correction in links to system libraries Until now when making a link to the system's 'dl' and 'pthread' libraries we were simply linking the installed location on the system (in '/usr/lib'). However, in some systems, these may themselves be links to other locations and this could cause linking problems. With this commit, we now use 'realpath' to extract the absolute address of the final file that the libraries may link to, and directly link to them. A minor cosmetic correction was also made in the build rule for CFITSIO: the long line was broken into two! --- reproduce/software/make/basic.mk | 5 ++++- reproduce/software/make/high-level.mk | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'reproduce/software/make') diff --git a/reproduce/software/make/basic.mk b/reproduce/software/make/basic.mk index 9217ee9..efb7377 100644 --- a/reproduce/software/make/basic.mk +++ b/reproduce/software/make/basic.mk @@ -210,7 +210,10 @@ $(ibidir)/low-level-links: $(ibidir)/grep-$(grep-version) \ # POSIX Threads library for multi-threaded programs. for l in dl pthread; do if [ -f /usr/lib/lib$$l.a ]; then - ln -sf /usr/lib/lib$$l.* $(ildir)/ + for f in /usr/lib/lib$$l.*; do + ln -sf $$(realpath $$f) \ + $$(echo $$f | sed -e's|/usr/lib|$(ildir)|') + done fi done diff --git a/reproduce/software/make/high-level.mk b/reproduce/software/make/high-level.mk index d69722e..26a58f7 100644 --- a/reproduce/software/make/high-level.mk +++ b/reproduce/software/make/high-level.mk @@ -428,7 +428,8 @@ $(ibidir)/cfitsio-$(cfitsio-version): export gbuild_tar=$(ddir)/$$customtar $(call gbuild, cfitsio-$(cfitsio-version), , \ --enable-sse2 --enable-reentrant \ - --with-bzip2=$(idir), , make shared fpack funpack) + --with-bzip2=$(idir), , \ + make shared fpack funpack) rm $$customtar echo "CFITSIO $(cfitsio-version)" > $@ -- cgit v1.2.1 From a981196b2e2eea6fe0517040c49a32f757ad28cf Mon Sep 17 00:00:00 2001 From: Raul Infante-Sainz Date: Fri, 19 Mar 2021 18:11:12 +0000 Subject: Configuration: nullability-completeness warnings suppressed With a recent update of macOS systems (macOS Big Sur 11.2.3 and Xcode 12.4), there are many warnings when building C programs (for example the simple program we compile to check the compiler, or some of the software like `gzip'). It prints hundreds of warning lines for every source file that are irrelevant for our builds, but really clutters the output. With this commit, these warnings are disabled by adding `-Wno-nullability-completeness' to the 'CPPFLAGS' environment variable. This has also been added to the very first check of the C compiler in the configure step. --- reproduce/software/make/basic.mk | 3 ++- reproduce/software/make/high-level.mk | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'reproduce/software/make') diff --git a/reproduce/software/make/basic.mk b/reproduce/software/make/basic.mk index efb7377..fb378b8 100644 --- a/reproduce/software/make/basic.mk +++ b/reproduce/software/make/basic.mk @@ -86,7 +86,8 @@ export SHELL := $(ibdir)/dash export PATH := $(ibdir):$(PATH) export PKG_CONFIG_PATH := $(ildir)/pkgconfig export PKG_CONFIG_LIBDIR := $(ildir)/pkgconfig -export CPPFLAGS := -I$(idir)/include $(CPPFLAGS) +export CPPFLAGS := -I$(idir)/include $(CPPFLAGS) \ + -Wno-nullability-completeness export LDFLAGS := $(rpath_command) -L$(ildir) $(LDFLAGS) # This is the "basic" tools where we are relying on the host operating diff --git a/reproduce/software/make/high-level.mk b/reproduce/software/make/high-level.mk index 26a58f7..9628df4 100644 --- a/reproduce/software/make/high-level.mk +++ b/reproduce/software/make/high-level.mk @@ -125,10 +125,10 @@ all: $(foreach p, $(targets-proglib), $(ibidir)/$(p)) \ export PATH := $(ibdir) export CCACHE_DISABLE := 1 export SHELL := $(ibdir)/bash -export CPPFLAGS := -I$(idir)/include .SHELLFLAGS := --noprofile --norc -ec export LDFLAGS := $(rpath_command) -L$(ildir) export PKG_CONFIG_LIBDIR := $(ildir)/pkgconfig +export CPPFLAGS := -I$(idir)/include -Wno-nullability-completeness export PKG_CONFIG_PATH := $(ildir)/pkgconfig:$(idir)/share/pkgconfig # Settings specific to this Makefile. -- cgit v1.2.1 From 66453b4003d539f48ce0e2944556398624e64164 Mon Sep 17 00:00:00 2001 From: Mohammad Akhlaghi Date: Wed, 24 Mar 2021 21:01:35 +0000 Subject: Maneage installation: removed TCL as a dependency of SWIG Until now the SWIG software would use the host operating system's packages to find the TCL configuraiton (which we don't install yet in Maneage). In particular, you can see the error during its configuration here: .... checking for pkg-config... pkg-config checking for Tcl configuration... found /usr/lib/tclConfig.sh /usr/lib/tclConfig.sh: line 2: dpkg-architecture: command not found /usr/lib//tcl8.6/tclConfig.sh: line 2: dpkg-architecture: com. not found With this commit, TCL has been disabled when building SWIG with the '--without-tcl' option. Later, when we add TCL in Maneage, we can remove this option. --- reproduce/software/make/high-level.mk | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'reproduce/software/make') diff --git a/reproduce/software/make/high-level.mk b/reproduce/software/make/high-level.mk index 9628df4..6ea782c 100644 --- a/reproduce/software/make/high-level.mk +++ b/reproduce/software/make/high-level.mk @@ -1317,7 +1317,8 @@ $(ibidir)/swig-$(swig-version): # pcr is a dependency of swig tarball=swig-$(swig-version).tar.gz $(call import-source, $(swig-url), $(swig-checksum)) - $(call gbuild, swig-$(swig-version), static, --without-pcre) + $(call gbuild, swig-$(swig-version), static, \ + --without-pcre --without-tcl) echo "Swig $(swig-version)" > $@ # The disables: -- cgit v1.2.1