aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Akhlaghi <mohammad@akhlaghi.org>2020-04-18 01:13:45 +0100
committerMohammad Akhlaghi <mohammad@akhlaghi.org>2020-04-18 01:13:45 +0100
commite9b55c97d15b32001ae393f37ebc28d01fcb9274 (patch)
treecc1a409f83f6a8a3200b94dd4398cffef26c4b57
parenta323fe115f33121c4ddb0622e31271112d4acb94 (diff)
parent3a49e2c1a627a1240919439bb1b52005e260e099 (diff)
Imported recent updates in Maneage, no conflicts
There weren't any conflicts in this merge.
-rw-r--r--reproduce/software/make/basic.mk32
-rw-r--r--reproduce/software/make/high-level.mk20
-rwxr-xr-xreproduce/software/shell/configure.sh14
3 files changed, 25 insertions, 41 deletions
diff --git a/reproduce/software/make/basic.mk b/reproduce/software/make/basic.mk
index 17bb47a..d1fbc3f 100644
--- a/reproduce/software/make/basic.mk
+++ b/reproduce/software/make/basic.mk
@@ -85,7 +85,7 @@ all: $(foreach p, $(top-level-programs), $(ibidir)/$(p))
# Servers to use as backup, later this should go in a file that is not
# under version control (the actual server that the tarbal comes from is
# irrelevant).
-backupservers = http://akhlaghi.org/reproduce-software
+backupservers = http://akhlaghi.org/maneage-software
@@ -99,7 +99,7 @@ backupservers = http://akhlaghi.org/reproduce-software
# we can preserve the variables).
#
# Software with main webpage at our backup repository
-# (http://akhlaghi.org/reproduce-software): As of our latest check their
+# (http://akhlaghi.org/maneage-software): As of our latest check their
# major release tarballs either crash or don't build on some systems (for
# example Make or Gzip), or they don't exist (for example Bzip2). So we are
# building them from their Git history (which builds properly) or host them
@@ -164,10 +164,10 @@ $(tarballs): $(tdir)/%: | $(lockdir)
| awk '{print $$1}' ); \
\
mergenames=1; \
- if [ $$n = bash ]; then c=$(bash-checksum); w=http://akhlaghi.org/reproduce-software; \
+ if [ $$n = bash ]; then c=$(bash-checksum); w=http://akhlaghi.org/maneage-software; \
elif [ $$n = binutils ]; then c=$(binutils-checksum); w=http://ftp.gnu.org/gnu/binutils; \
- elif [ $$n = bzip ]; then c=$(bzip2-checksum); w=http://akhlaghi.org/reproduce-software; \
- elif [ $$n = cert ]; then c=$(cert-checksum); w=http://akhlaghi.org/reproduce-software; \
+ elif [ $$n = bzip ]; then c=$(bzip2-checksum); w=http://akhlaghi.org/maneage-software; \
+ elif [ $$n = cert ]; then c=$(cert-checksum); w=http://akhlaghi.org/maneage-software; \
elif [ $$n = coreutils ]; then c=$(coreutils-checksum); w=http://ftp.gnu.org/gnu/coreutils;\
elif [ $$n = curl ]; then c=$(curl-checksum); w=https://curl.haxx.se/download; \
elif [ $$n = diffutils ]; then c=$(diffutils-checksum); w=http://ftp.gnu.org/gnu/diffutils;\
@@ -187,9 +187,9 @@ $(tarballs): $(tdir)/%: | $(lockdir)
elif [ $$n = m ]; then \
mergenames=0; \
c=$(m4-checksum); \
- w=http://akhlaghi.org/reproduce-software/m4-1.4.18-patched.tar.gz; \
+ w=http://akhlaghi.org/maneage-software/m4-1.4.18-patched.tar.gz; \
elif [ $$n = make ]; then c=$(make-checksum); w=https://ftp.gnu.org/gnu/make; \
- elif [ $$n = metastore ]; then c=$(metastore-checksum); w=http://akhlaghi.org/reproduce-software; \
+ elif [ $$n = metastore ]; then c=$(metastore-checksum); w=http://akhlaghi.org/maneage-software; \
elif [ $$n = mpc ]; then c=$(mpc-checksum); w=http://ftp.gnu.org/gnu/mpc; \
elif [ $$n = mpfr ]; then c=$(mpfr-checksum); w=http://www.mpfr.org/mpfr-current;\
elif [ $$n = ncurses ]; then c=$(ncurses-checksum); w=http://ftp.gnu.org/gnu/ncurses; \
@@ -567,18 +567,9 @@ $(ibidir)/readline: $(ibidir)/ncurses \
SHLIB_LIBS="-lncursesw" -j$(numthreads)) \
&& echo "GNU Readline $(readline-version)" > $@
-# When we have a static C library, PatchELF will be built statically. This
-# is because PatchELF links with the C++ standard library. But we need to
-# run PatchELF later on `libstdc++'! This circular dependency can cause a
-# crash, so when PatchELF can't be built statically, we won't build GCC
-# either, see the `configure.sh' script where we define `good_static_libc'
-# for more.
$(ibidir)/patchelf: | $(ibidir)/make \
$(tdir)/patchelf-$(patchelf-version).tar.gz
- if [ $(good_static_libc) = 1 ]; then \
- export LDFLAGS="$$LDFLAGS -static"; \
- fi; \
- $(call gbuild, patchelf-$(patchelf-version), static) \
+ $(call gbuild, patchelf-$(patchelf-version)) \
&& echo "PatchELF $(patchelf-version)" > $@
@@ -1339,10 +1330,13 @@ $(ibidir)/gcc: | $(ibidir)/binutils \
if [ x"$$isdynamic" != x ]; then \
cp $$f $$tempname; \
patchelf --set-rpath $(ildir) $$tempname; \
- if [ "$$f" = $(ildir)/libstdc++.so ]; then \
+ echo "$$f: added rpath"; \
+ islibcpp=$$(echo $$f | grep "libstdc++"); \
+ if [ x"$$islibcpp" != x ]; then \
patchelf --add-needed $(ildir)/libiconv.so $$tempname; \
+ echo "$$f: linked with libiconv"; \
fi; \
- mv $$tempname $$f; echo "corrected"; \
+ mv $$tempname $$f; \
fi; \
done; \
fi \
diff --git a/reproduce/software/make/high-level.mk b/reproduce/software/make/high-level.mk
index ef4dd4c..ce617af 100644
--- a/reproduce/software/make/high-level.mk
+++ b/reproduce/software/make/high-level.mk
@@ -103,7 +103,7 @@ export BASH_ENV := $(shell pwd)/reproduce/software/shell/bashrc.sh
# Servers to use as backup, later this should go in a file that is not
# under version control (the actual server that the tarbal comes from is
# irrelevant).
-backupservers = http://akhlaghi.org/reproduce-software
+backupservers = http://akhlaghi.org/maneage-software
# Building flags:
#
@@ -213,7 +213,7 @@ $(tarballs): $(tdir)/%: | $(lockdir)
# Set the top download link of the requested tarball.
mergenames=1
- if [ $$n = apachelog ]; then c=$(apachelog4cxx-checksum); w=http://akhlaghi.org/reproduce-software
+ if [ $$n = apachelog ]; then c=$(apachelog4cxx-checksum); w=http://akhlaghi.org/maneage-software
elif [ $* = apr-util-$(apr-util-version).tar.gz ]; then
c=$(apr-util-checksum); w=https://www-us.apache.org/dist/apr
elif [ $$n = apr ]; then c=$(apr-checksum); w=https://www-us.apache.org/dist/apr
@@ -222,7 +222,7 @@ $(tarballs): $(tdir)/%: | $(lockdir)
mergenames=0
c=$(atlas-checksum)
w=https://sourceforge.net/projects/math-atlas/files/Stable/$(atlas-version)/atlas$(atlas-version).tar.bz2/download
- elif [ $$n = autoconf ]; then c=$(autoconf-checksum); w=http://akhlaghi.org/reproduce-software
+ elif [ $$n = autoconf ]; then c=$(autoconf-checksum); w=http://akhlaghi.org/maneage-software
elif [ $$n = automake ]; then c=$(automake-checksum); w=http://ftp.gnu.org/gnu/automake
elif [ $$n = bison ]; then c=$(bison-checksum); w=http://ftp.gnu.org/gnu/bison
elif [ $$n = boost ]; then
@@ -264,9 +264,9 @@ $(tarballs): $(tdir)/%: | $(lockdir)
c=$(hdf5-checksum)
majorver=$$(echo $(hdf5-version) | sed -e 's/\./ /g' | awk '{printf("%d.%d", $$1, $$2)}')
w=https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-$$majorver/hdf5-$(hdf5-version)/src/$*
- elif [ $$n = healpix ]; then c=$(healpix-checksum); w=http://akhlaghi.org/reproduce-software
+ elif [ $$n = healpix ]; then c=$(healpix-checksum); w=http://akhlaghi.org/maneage-software
elif [ $$n = help ]; then c=$(help2man-checksum); w=http://ftp.gnu.org/gnu/help2man
- elif [ $$n = imagemagick ]; then c=$(imagemagick-checksum); w=http://akhlaghi.org/reproduce-software
+ elif [ $$n = imagemagick ]; then c=$(imagemagick-checksum); w=http://akhlaghi.org/maneage-software
elif [ $$n = imfit ]; then
mergenames=0
c=$(imfit-checksum)
@@ -274,7 +274,7 @@ $(tarballs): $(tdir)/%: | $(lockdir)
elif [ $$n = install ]; then c=NO-CHECK-SUM; w=http://mirror.ctan.org/systems/texlive/tlnet
elif [ $$n = jpegsrc ]; then c=$(libjpeg-checksum); w=http://ijg.org/files
elif [ $$n = lapack ]; then c=$(lapack-checksum); w=http://www.netlib.org/lapack
- elif [ $$n = libnsl ]; then c=$(libnsl-checksum); w=http://akhlaghi.org/reproduce-software
+ elif [ $$n = libnsl ]; then c=$(libnsl-checksum); w=http://akhlaghi.org/maneage-software
elif [ $$n = libpng ]; then c=$(libpng-checksum); w=https://download.sourceforge.net/libpng
elif [ $$n = libgit ]; then
mergenames=0
@@ -283,7 +283,7 @@ $(tarballs): $(tdir)/%: | $(lockdir)
elif [ $$n = libtirpc ]; then c=$(libtirpc-checksum); w=https://downloads.sourceforge.net/libtirpc
elif [ $$n = libxml ]; then c=$(libxml2-checksum); w=ftp://xmlsoft.org/libxml2
elif [ $$n = missfits ]; then c=$(missfits-checksum); w=https://www.astromatic.net/download/missfits
- elif [ $$n = netpbm ]; then c=$(netpbm-checksum); w=http://akhlaghi.org/reproduce-software
+ elif [ $$n = netpbm ]; then c=$(netpbm-checksum); w=http://akhlaghi.org/maneage-software
elif [ $$n = openblas ]; then
mergenames=0
c=$(openblas-checksum)
@@ -299,15 +299,15 @@ $(tarballs): $(tdir)/%: | $(lockdir)
majver=$$(echo $(R-version) | sed -e's/\./ /g' | awk '{print $$1}')
w=https://cran.r-project.org/src/base/R-$$majver
elif [ $$n = rpcsvc ]; then c=$(rpcsvc-proto-checksum); w=https://github.com/thkukuk/rpcsvc-proto/releases/download/v$(rpcsvc-proto-version)
- elif [ $$n = scamp ]; then c=$(scamp-checksum); w=http://akhlaghi.org/reproduce-software
+ elif [ $$n = scamp ]; then c=$(scamp-checksum); w=http://akhlaghi.org/maneage-software
elif [ $$n = scons ]; then
mergenames=0
c=$(scons-checksum)
w=https://sourceforge.net/projects/scons/files/scons/$(scons-version)/scons-$(scons-version).tar.gz/download
- elif [ $$n = sextractor ]; then c=$(sextractor-checksum); w=http://akhlaghi.org/reproduce-software
+ elif [ $$n = sextractor ]; then c=$(sextractor-checksum); w=http://akhlaghi.org/maneage-software
elif [ $$n = swarp ]; then c=$(swarp-checksum); w=https://www.astromatic.net/download/swarp
elif [ $$n = swig ]; then c=$(swig-checksum); w=https://sourceforge.net/projects/swig/files/swig/swig-$(swig-version)
- elif [ $$n = tides ]; then c=$(tides-checksum); w=http://akhlaghi.org/reproduce-software
+ elif [ $$n = tides ]; then c=$(tides-checksum); w=http://akhlaghi.org/maneage-software
elif [ $$n = tiff ]; then c=$(libtiff-checksum); w=https://download.osgeo.org/libtiff
elif [ $$n = wcslib ]; then c=$(wcslib-checksum); w=ftp://ftp.atnf.csiro.au/pub/software/wcslib
elif [ $$n = xlsxio ]; then
diff --git a/reproduce/software/shell/configure.sh b/reproduce/software/shell/configure.sh
index 4eefe7b..47b60a6 100755
--- a/reproduce/software/shell/configure.sh
+++ b/reproduce/software/shell/configure.sh
@@ -331,15 +331,8 @@ fi
# See if a link-able static C library exists
# ------------------------------------------
#
-# After building GCC, we must use PatchELF to correct its RPATHs. However,
-# PatchELF links internally with `libstdc++'. So a dynamicly linked
-# PatchELF cannot be used to correct the links to `libstdc++' in general
-# (on some systems this causes no problem, but on others it doesn't!).
-#
-# However, to build a Static PatchELF, we need to be able to link with the
-# static C library, which is not always available on some GNU/Linux
-# systems. Therefore we need to check this here. If we can't build a static
-# PatchELF, we won't build any GCC either.
+# A static C library and the `sys/cdefs.h' header are necessary for
+# building GCC.
if [ x"$host_cc" = x0 ]; then
echo; echo; echo "Checking if static C library is available...";
cat > $testsource <<EOF
@@ -352,11 +345,9 @@ EOF
cc_call="$CC $testsource $CPPFLAGS $LDFLAGS -o$testprog -static -lc"
if $cc_call && $testprog; then
gccwarning=0
- good_static_libc=1
rm $testsource $testprog
else
echo; echo "Compilation command:"; echo "$cc_call"
- good_static_libc=0
rm $testsource
gccwarning=1
host_cc=1
@@ -1206,7 +1197,6 @@ fi
echo; echo "Building necessary software (if necessary)..."
make -k -f reproduce/software/make/basic.mk \
sys_library_path=$sys_library_path \
- good_static_libc=$good_static_libc \
rpath_command=$rpath_command \
static_build=$static_build \
numthreads=$numthreads \