File: PACKAGING

package info (click to toggle)
abinit 9.10.4-3
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 518,712 kB
  • sloc: xml: 877,568; f90: 577,240; python: 80,760; perl: 7,019; ansic: 4,585; sh: 1,925; javascript: 601; fortran: 557; cpp: 454; objc: 323; makefile: 77; csh: 42; pascal: 31
file content (120 lines) | stat: -rw-r--r-- 3,706 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
Packaging Abinit
================

Which versions may be packaged?
-------------------------------

Abinit uses a x.y.z version numbering scheme, with the following
meanings:

  * x: major version number, changes around every 5 years
  * y: minor version number
         +---> even values : production releases
         +---> odd values  : development releases
  * z: patch level, usually between 0 and 3

Development releases should not be packaged.



External packages on which Abinit is dependent
----------------------------------------------

Abinit depends on several other packages:

  * BLAS (mandatory)
  * LAPACK (mandatory)
  * NetCDF (mandatory)
  * LibXC (mandatory)
  * AtomPAW (may safely be disabled)
  * BigDFT (may safely be disabled)
  * Wannier90 (recommended)

It is possible to build them within Abinit, by using the corresponding
--with-(dft|linalg|trio)-flavor flags of the configure script. In this
case their source tarballs will be downloaded from their home pages or
the Abinit website, and stored into ~/.abinit/tarballs in order to avoid
multiple downloads, unless you use the --with-fallbacks-tardir option of
configure.

The best way to deal with external packages is however to make use of
pre-compiled versions already available on your system. In this case you
may use the --disable-fallbacks option of configure, in conjunction with
the following options:

  * --with-*-bins, for the executables;
  * --with-*-incs, for the C headers and Fortran modules;
  * --with-*-libs, for the libraries.

Please note that "make -j<n>" will work only if you use externally
compiled packages. Having external BLAS, LAPACK, and NetCDF libraries
may nonetheless be sufficient.



Other external packages
-----------------------

Abinit may use the following other packages:

  * FFTW3;
  * ScaLAPACK.



Building Abinit
---------------

The configure script of Abinit provides many options, in order to keep
manual adjustments of the environment variables at the minimum. It is
also possible to store the options in a config file (see
~abinit/doc/build/config-template.ac9 for details), in order to facilitate
the reuse of platform-specific options. When packaging Abinit you will
likely want to disable this mechanism, by using the
--disable-config-file option of configure, or provide your own version
through the --with-config-file option.

Build flags are managed so that one can tune separately:

  * debug flags (--with-*-dbgflags options);
  * optimization flags (--with-*-optflags options);
  * hints necessary to have the compilers behaving properly
    (--enable-hints option).

It is however possible to bypass this mechanism by manually providing
CFLAGS, CXXFLAGS, and FCFLAGS, which, when set, will systematically
override the build system settings.



Testing Abinit
--------------

At present 'make check' runs the whole serial part of the Abinit test
suite, comprising more than 600 tests, which can at times prove quite
computer-intensive. We have started to work on making a reduced
selection of the most frequently failing tests, that would be more
suitable for packaging.

Abinit does not yet provide unit tests. A partial coverage of the code
at this level will be provided in the future.



Installing Abinit
-----------------

Abinit now installs in a FHS-compliant way, hence there should not be
any particular issue at the packaging level. It currently installs the
main programs, the documentation, and the test suite (in
<prefix>/share/abinit). Manpages will come as well at some point in the
future (help is gladly welcome).



Troubleshooting
---------------

Please contact Yann Pouillon <yann.pouillon@ehu.es> should you encounter
any important issue.