-
Notifications
You must be signed in to change notification settings - Fork 187
/
INSTALL
135 lines (91 loc) · 3.59 KB
/
INSTALL
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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
PREREQUISITES
-------------
In order to build CFEngine you need the following tools and libraries installed:
* C compiler supporting C90 + selected C99 constructs:
- _Bool type
- anonymous aggregates "(MyType) { .foo = 1, .bar = 2 }"
- declarations in "for" loop
- named initializers
- uintmax_t and corresponding printf/scanf formats
The following compilers are known to work:
- gcc >= 3.0
- clang >= 2.6
* GNU make
* PAM library
* OpenSSL library
* PCRE library
* POSIX threads (pthreads) library, if not provided by the operating system
* Latest available LMDB (Lightning Memory-mapped DataBase), Tokyo Cabinet or QDBM
* MySQL client library (optional)
* PostgreSQL client library (optional)
* libacl library (optional)
In order to build CFEngine cloned from git, you will need the
following additional tools:
* GNU Automake >= 1.10.1
* GNU Autoconf >= 2.60
* GNU Libtool >= 1.5.24
* Yacc (note: GNU Bison 2.4.2 has troubles invoking m4)
* Lex
Latest stable versions of the tools and libraries are generally advised.
See INSTALL DEPENDENCIES below for example of deps for various systems.
OPERATING SYSTEMS
-----------------
CFEngine is regularly built and tested on the following operating systems:
* GNU/Linux (many distributions)
* Solaris
* Windows with MinGW
HARDWARE PLATFORMS
------------------
CFEngine is regularly built and tested on the following CPU architectures:
* x86
* x86-64
* SPARC
OTHER CONFIGURATIONS
--------------------
In case you have successfully compiled CFEngine on a different OS and/or using
different tools or versions of tools, please report it to help-cfengine@ mailing
list[1]. Please consider running a testsuite (see below), and posting results to
mailing list too.
[1] https://groups.google.com/forum/#!forum/help-cfengine
BUILD INSTRUCTIONS
------------------
From tarball:
$ ./configure [configure options]
$ make [-jN]
From git checkout:
$ ./autogen.sh [configure options]
$ make [-jN]
See the available configure options:
$ ./configure --help
or
$ ./autogen.sh --help
INSTALLATION INSTRUCTIONS
-------------------------
CFEngine might be installed in two configurations:
* (default) Native CFEngine file layout. Everything is installed in
/var/cfengine, laid out as a "secondary FHS root". This layout is designed to
keep CFEngine running even if most of the system is broken (e.g. /usr is not
mounted due to NFS breakage).
* FHS file layout, enabled by --enable-fhs. This layout follows FHS 2.3.
After the build process has completed (see BUILD INSTRUCTIONS above), type:
$ make install
RUNNING TESTSUITE
-----------------
Please refer to the instructions in tests/README file.
INSTALL DEPENDENCIES
--------------------
Here we have examples of command lines for various systems to install dependencies
needed to build. The version and date checked are noted in parenthesis. Please
submit PRs with updates to this information.
* Debian (Raspbian 9 2020-04-24)
# apt-get install build-essential autoconf automake libssl-dev libpcre3 libpcre3-dev bison libbison-dev libacl1 libacl1-dev libpq-dev lmdb-utils liblmdb-dev libpam0g-dev flex libtool
* FreeBSD (12.1 2020-04-07)
See docs/BSD.md
* SUSE (Tumbleweed 2020-02-02)
# zypper install gdb gcc make lmdb autoconf automake libtool git python3 pcre-devel libopenssl-devel pam-devel
* AlpineOS (3.11.3 x86_64 2020-04-13)
# apk add alpine-sdk lmdb-dev openssl-dev bison flex-dev acl-dev pcre-dev autoconf automake libtool git python3 gdb
# ./autogen.sh --without-pam
* Termux (2020-04-24)
# pkg install build-essential autoconf automake bison flex liblmdb openssl pcre libacl
# ./autogen.sh --without-pam