From db97ea9a8f32050f74d8c981a9efa21f9e0dc512 Mon Sep 17 00:00:00 2001 From: Mohammad Akhlaghi Date: Wed, 14 Nov 2018 01:33:16 +0000 Subject: ./configure and building of Bash and Make with more basic tools MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit After a test by Raúl Infante Sainz, we found out that the configure script and the Make script for Bash and Make are making too many assumptions on more recent versions of both. As a result, it couldn't be built. Therefore, the `configure' script was modified to not use more recent tools like `readlink' (to find the absolute address of a relative one). It was also re-organized to not have to read the configuration parameters from a text file. The parameters are directly read from the command-line and are written into the proper file afterwards. This removes the need to opening a text editor by the user (which also caused problems on Raúl's system). To fix the Make version issue, the building of Bash and Make are now done in a new Makefile (`reproduce/src/make/dependencies-basic.mk'). This file doesn't make many of the assumptions that were made in `dependencies.mk'. So it should hopefully work on any version of Make. To help in debugging, for now, the Makefile of configure, are asked to work on one thread (the `-j' option is commented in the `configure'). But after checks, we'll fix this. --- reproduce/config/pipeline/LOCAL.mk.in | 93 ++--------------------------------- 1 file changed, 4 insertions(+), 89 deletions(-) (limited to 'reproduce/config') diff --git a/reproduce/config/pipeline/LOCAL.mk.in b/reproduce/config/pipeline/LOCAL.mk.in index b74d9f6..d6bf2c0 100644 --- a/reproduce/config/pipeline/LOCAL.mk.in +++ b/reproduce/config/pipeline/LOCAL.mk.in @@ -1,89 +1,4 @@ -# Top-level user specific directories. Note the points below: -# -# - The VALUES to these directories are initially JUST PLACE-HOLDERS! -# Please correct them based on your system. -# -# - The directories don't need to necessarily exist. If they do not exist, -# they will be created and the necessary data will be downloaded into -# them. Ofcourse provided that you have write permissions and an internet -# connection. -# -# - Do not use the tilde expansion `~' or variables for your home -# directory. Please use the full address, for example -# `/home/your-user-name'. -# -# - An ending forward-slash `/' is NOT necessary. In the pipeline, all -# these variables will be followed by a `/', so if you put a `/' at the -# end of the value here, you will see a `//' in the printed outputs -# during the processing. This has no technical problem, but can make -# reading the outputs harder and is thus not recommended. - - - - - -# Build directory -# --------------- -# -# This is where the intermediate outputs of each step are kept. -# -# Why a separate build directory? So the source and configuration files for -# this reproduction pipeline do not get crowded by all the -# intermediate/derivative files. Also to make synchronization and backups -# more easy: the contents of the build directory do not need to be backed -# up since they can be reproduced and they can be large. -# -# IMPORTANT NOTE: Keep atleast one blank space before and after `='. -BDIR = /path/of/directory/for/building - - - - - -# (OPTIONAL) Dependencies directory -# --------------------------------- -# -# To ensure an identical build environment, the pipeline will use its own -# build of the programs it needs. Therefore the tarball of the relevant -# programs are necessary for this pipeline. If a tarball isn't present in -# the specified directory, it will be downloaded by the pipeline. Therefore -# an internet connection will be mandatory. -# -# Important note: Keep atleast one blank space before and after `='. -DEPENDENCIES-DIR = /optional/path/to/directory/containing/tarballs - - - - - -# (OPTIONAL) Memory mapping minimum size -# -------------------------------------- -# -# Some programs (for example Gnuastro) can deal with cases where the local -# system doesn't have enough memory (RAM) to keep large files there. For -# example, they will create memory-mapped (`mmap' for short) files on the -# HDD or SSD and read/write to them instead of RAM. This will ofcourse, -# slow down the processing, but atleast the program won't crash. -# -# Since the memory requirements of different systems are different and it -# has no effect on the software's final result, the minimum size of an -# allocated array to warrant a mapping to HDD/SSD instead of RAM must also -# be defined here. This value will be used in the programs that support -# this feature. -MINMAPSIZE = 1000000000 - - - - - -# (OPTIONAL) Downloader program -# ----------------------------- -# -# The downloder program (and its output option name, for example `wget -O' -# or `curl -o') that will be used if any of the necessary datasets aren't -# already available on the system. -# -# This is usually set at an early stage of the configuration system -# automatically before the file is opened for editing by the user. It is -# thus recommended to not modify it manually. -DOWNLOADER = @downloader@ +# Local pipeline configuration. +BDIR = @bdir@ +DEPENDENCIES-DIR = @ddir@ +DOWNLOADER = @downloader@ -- cgit v1.2.1