aboutsummaryrefslogtreecommitdiff
path: root/reproduce/software/make/high-level.mk
AgeCommit message (Collapse)AuthorLines
2019-04-30New rule to build Coreutils, it is now built alongMohammad Akhlaghi-1/+1
Recently, after the installation of Coreutils, we added a step to manually run PatchELF over all the contents of the `$(ibdir)'. However, after a fresh test, this method failed: because while PatchELF was updating `mv', another program that was using `mv' couldn't do so and crashed. To fix this problem, Coreutils is now installed in a dummy directory also and the exact files that need `rpath' are identified and PatchELF is run on them (to be clean). Also, higher-level `basic.mk' software (higher-level than Bash), were re-organized so they depend on Coreutils. With this, we are no sure that when Coreutils is being built, it is the only program that is being built and PatchELF won't interfere with any other program. Also, OpenSSL and CMake were set to be bulit in parallel to speed up their build.
2019-04-30Imported some recent/parallel work, conflicts fixedMohammad Akhlaghi-27/+34
Especially because of the new convention regarding backslashes, there were many conflicts that are now fixed. But none were substantial.
2019-04-30End-of-line Backslashs no longer right under each otherMohammad Akhlaghi-193/+193
When we need to quote the new-line character we end the line with a backslash (`\'). Until now, our convention has been to put all such backslashes under each other to help in visual inspection. But this causes a lot of confusion in version control: if only one line's length is larger, the whole block will be marked as changed and thus makes it hard to visually see the actual change. It also makes debuging the code (adding some temporary lines) hard. With this commit, I went through all the files and tried to fix all such cases so only a single white space character is between the last command character and the backslash. Where there was an empty line (ending with a backslash, to help in visually separating the code into blocks), I put the backslash right under the previous line's. This completes task #15259.
2019-04-29Corrected spaces/TAB in some rulesRaul Infante-Sainz-61/+61
In some rules there were some spaces when we should use TAB, and also the other way around. We were using TAB instead using spaces. With this commit, we fix that spaces/TAB in the necessary rules.
2019-04-29Modified copyright information of some filesRaul Infante-Sainz-0/+1
With this commit, the copyright information of some files have been modify in order to include the work of Raul Infante-Sainz.
2019-04-27Astrometry-net installation modified to avoid two reporting stepsRaul Infante-Sainz-0/+8
Until this commit, we had a problem in the installation of Astrometry-net in Mac OS systems. During the runing of the Makefile, it stopped at the reporting stage because it tried to do a couple of steps that in Mac OS are not possible: $ cat /proc/cpuinfo $ free The reason is that `/proc/cpuinfo' and `free' doesn't exist in Mac OS. With this commit, we override these two steps. Since they are only for reporting, they are not mandatory. So, we avoid doing them by using `sed' before running the Makefile.
2019-04-27Modified netpbm installation answers for Mac OS systemsRaul Infante-Sainz-6/+4
Until now, we installed `netpbm' by setting the default paths to libraries and headers. That worked fine for GNU/Linux systems, however, in Mac OS systems we have to explicity say to `netpbm' questions what are the paths to the libraries and headers. We found this problem because we tried to run `solve-field' to obtain the astrometry of some images, and then it goes to use `pnmfile', a program that failed because it was not properly linked with `libnetpmb'. With this commit, we fix this problem by answering properly the questions in the configure step of `netpbm' and setting explicity where we want to place the libraries and headers. With this commit, we also update `netpbm' version. To do that, we have to download the last version, for which it doesn't exist a tarball. So, we built this tarball and put it in the Mohammad's webpage.
2019-04-25Added --enable-single option in FFTW installationRaul Infante-Sainz-1/+1
Until this commit, FFTW was installed by default, without the single precission option. However, when installing `sextractor' in a new system we found an error in the installation complaining about not having single precission files of FFTW. More explicity the error was: "FFTW single precision library files not found in [...]". With this commit, we fix this problem by passing the option `--enable-single' in the installation of FFTW.
2019-04-22High-level software now specified in TARGETS.mkMohammad Akhlaghi-65/+47
Until now, to specify which high-level software you want the project to contain, it was necessary to go into the `high-level.mk' Makefile that is complicated and can create bugs. With this commit, a new `reproduce/software/config/installation/TARGETS.mk' file has been created that is easily/cleanly in charge of documenting the final high-level software that must be built for the project. Also, until now, FFTW was set as a dependency of Numpy while we couldn't actually get Numpy to use it! It was just there for future reference and to justify its build rule. But now that many software won't be built and there is no problem with having rules even though a project might not use them, it has been removed.
2019-04-22Git, Metastore, cURL and Libbsd moved to basic softwareMohammad Akhlaghi-113/+1
Git and Metastore are very basic and fundamental tools for the template, so to keep things clean (let the `high-level.mk' software only represent optional software in the template), these two software (and their dependencies: `cURL' and `Libbsd') will now be built in `basic.mk'.
2019-04-22Removed ATLAS as a prerequisite of ScampRaul Infante-Sainz-4/+12
Until this commit, ATLAS was a prerequisite of Scamp. The documentation says that. However, we have been able to install Scamp without having ATLAS installed. As a consecuence, ATLAS does not have to be a prerequisite of Scamp anymore. With this commit, we remove ATLAS as prerequisite of Scamp. We also put available software in the template as optional because not all people are going to use these software.
2019-04-22SCAMP and cdsclient have been added into the projectRaul Infante-Sainz-5/+44
With this commit, we add SCAMP into the project. This program is part of the Astromatic software and the main purpose is to make the fine astrometry and the distorsion correction astronomical images. In principle, SCAMP needs ATLAS library to be able to work (that is what the documentation says). However, we had some problems with ATLAS libraries on Mac OS system, and due to that, we set the option `--enable-openblas' in the configure step. By doing that, we are be able to install SCAMP with no problems. One dependency of SCAMP is `cdsclient', it has been also added with this commit. The `cdsclient' package is a set of C and shell routines which can be built on Unix stations or PCs running Linux, which once compiled allow to query some databases located at CDS or on mirrors over the network.
2019-04-17SExtractor is now included into the projectRaul Infante-Sainz-1/+18
With this commit, we add SExtractor to be installed into the project. It is a widely used program to detect object and build catalogues from astronomical images. We had some problems when installing it because it could not link with some ATLAS libraries. But, since we have OpenBLAS installed, we can use it to override the problem with ATLAS.
2019-04-17SWarp is now into the pipelineRaul Infante-Sainz-16/+25
SWarp resamples and co-adds together FITS images using any arbitrary astrometric projection defined in the WCS standard. It is a very useful program for astronomy and that is why we added it to the pipeline. With this commit, we also cite the paper for Astrometry-net that until now was missing.
2019-04-16Typo corrections in Astrometry-net dependency rulesRaul Infante-Sainz-11/+11
Due to the copy/paste of rules from other files, in some rules there were some spaces insteand of tab. There were also a lack of semicolon in the building of CC, and bad extensions in various tarballs. With this commit, all of these typos have been fixed.
2019-04-16Astrometry-net and all its dependencies are now in the projectRaul Infante-Sainz-6/+45
With this commit, we include Astrometry-net software and one remaining dependency of it (Swig). In principle it should work as far as we tested all of this software in GNU/Linux, but we need to test also in Mac OS. As a result, this commit is just for setting all the rules and dependencies, but more tests are necessaries to ensure it works properly, specially in Mac OS systems.
2019-04-16Netpbm and its dependencies are now includedRaul Infante-Sainz-11/+50
With this commit, the installation of `netpbm' has been included. This software has a crazy dialogue installation that we override by giving to it the answers (they differs on GNU/Linux and Mac OS systems). `libxml2' also has been built (a remaining dependency of `netpbm'). In this commit, `libpng' version has been downgraded because it is required by `netpbm'. The motivation of installing `netpbm' is that it is a dependency of Astrometry-net software.
2019-04-16Cairo library and its dependency Pixman, are now includedRaul Infante-Sainz-1/+16
In this commit we add Cairo library. The motivation of including this library is because it is a dependency of Astrometry-net (which is a common software used in astronomy projects). In principle it will not be build by default by de pipeline, but we will keep the rule just in case it is needed. Pixman is another library which is a prerequisite of Cairo, it is also built with this commit.
2019-04-15New architecture to separate software-building and analysis stepsMohammad Akhlaghi-0/+720
Until now, the software building and analysis steps of the pipeline were intertwined. However, these steps (of how to build a software, and how to use it) are logically completely independent. Therefore with this commit, the pipeline now has a new architecture (particularly in the `reproduce' directory) to emphasize this distinction: The `reproduce' directory now has the two `software' and `analysis' subdirectories and the respective parts of the previous architecture have been broken up between these two based on their function. There is also no more `src' directory. The `config' directory for software and analysis is now mixed with the language-specific directories. Also, some of the software versions were also updated after some checks with their webpages. This new architecture will allow much more focused work on each part of the pipeline (to install the software and to run them for an analysis).