-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcontent_install.html
More file actions
201 lines (170 loc) · 7.56 KB
/
Copy pathcontent_install.html
File metadata and controls
201 lines (170 loc) · 7.56 KB
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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
---
layout: default
title: Installation Instructions - SECONDO
description: extensible database system
---
<style type="text/css">
ol li { margin-bottom: 1em; }
</style>
<h1> Installation Instructions </h1>
This page explains how to install <span class="secondo">Secondo</span> and the tools it
requires on your computer. The currently supported and CI-verified paths are a build from
sources on <b>Ubuntu / Debian</b>, precompiled <tt>.deb</tt> binary packages for Ubuntu,
and a build on <b>macOS</b> using <a href="https://brew.sh/">Homebrew</a>. Older
distributions are covered by the
<a href="content_install_legacy.html">historical installation guides</a>. The build of
<span class="secondo">Secondo</span> from sources itself is explained on the
<a href="content_sources.html">Sources</a> page.
<h2> Which installation is right for you? </h2>
<ul>
<li> Just want to try <span class="secondo">Secondo</span> on Ubuntu →
<a href="#deb">binary <tt>.deb</tt> packages (apt-get)</a> </li>
<li> Build or extend <span class="secondo">Secondo</span> on Ubuntu / Debian →
<a href="#ubuntu">installation from sources</a> </li>
<li> macOS → <a href="#macos">installation with Homebrew</a> </li>
<li> Older distributions (Fedora, SuSE, older Ubuntu) →
<a href="content_install_legacy.html">historical installation guides</a> </li>
</ul>
<h2 id="ubuntu"> Installation on Ubuntu / Debian (from sources) </h2>
<p>
The steps below install the tools required to compile
<span class="secondo">Secondo</span> and then build the system from sources. They are
verified in continuous integration on <b>Ubuntu 22.04, 24.04 and 26.04</b> (on the
Intel/AMD <code>x86_64</code> architecture). <b>Debian 13 (Trixie)</b> works in exactly
the same way; the package names below are identical on Debian.
</p>
<ol>
<li>
<b>Install the build tools and libraries.</b> These include the C/C++ compiler, Berkeley DB,
the Boost libraries, a Java Development Kit (<code>default-jdk</code>) for the Java GUI, and
SWI-Prolog for the optimizer:
<pre>
sudo apt-get update
sudo apt-get install flex bison gcc g++ build-essential \
libdb5.3 libdb5.3-dev libdb5.3++ libdb5.3++-dev db5.3-util \
libjpeg-dev libgsl0-dev libreadline-dev librecode-dev \
libgmp-dev libgmp10 libncurses-dev libxml2-dev libboost-all-dev \
libbison-dev libfl-dev libquadmath0 nlohmann-json3-dev \
default-jdk swi-prolog swi-prolog-nox
</pre>
</li>
<li>
<b>Get the sources and build <span class="secondo">Secondo</span>.</b> The build
environment (compiler, Berkeley DB, SWI-Prolog paths, ...) is derived
automatically from the installed tools; you only have to set
<code>SECONDO_BUILD_DIR</code> and source the detection script:
<pre>
export SECONDO_BUILD_DIR=$HOME/secondo
source $SECONDO_BUILD_DIR/CM-Scripts/secondo-detect.sh
</pre>
It is convenient to add these two lines to your <code>~/.bashrc</code>, so the
environment is set up automatically in every new terminal:
<pre>
echo 'export SECONDO_BUILD_DIR=$HOME/secondo' >> ~/.bashrc
echo 'source $SECONDO_BUILD_DIR/CM-Scripts/secondo-detect.sh' >> ~/.bashrc
</pre>
Then download the sources and build the system as described on the
<a href="content_sources.html">Sources</a> page (in short: run <code>make</code>
in <code>$SECONDO_BUILD_DIR</code>).
</li>
</ol>
<h2 id="deb"> Binary Installation via <tt>.deb</tt> Packages (Ubuntu, apt-get) </h2>
<p>
For users who just want to try <span class="secondo">Secondo</span> without compiling it,
we provide precompiled <tt>.deb</tt> packages for Ubuntu 22.04, 24.04 and 26.04. They
install <span class="secondo">Secondo</span> and all of its dependencies within a few
minutes via <tt>apt-get</tt>, and are the recommended starting point for new users.
Developers who want to build their own extensions should instead build
<a href="#ubuntu">from sources</a> as described above.
</p>
<p>
See the
<a href="files/Installation/Ubuntu/content_Installation_repos.html">Ubuntu installation
guide using apt-get</a> for the full instructions. Note that these packages are built for
the <code>x86_64</code>/<code>amd64</code> architecture only; on other architectures
(e.g. arm64) please <a href="#ubuntu">build from sources</a>.
</p>
<h2 id="macos">Installation on macOS (Intel and Apple Silicon)</h2>
<p>
On macOS, all tools required by <span class="secondo">Secondo</span> are installed
with the <a href="https://brew.sh/">Homebrew</a> package manager — a separate
SDK download is no longer needed. The steps below are verified on
<b>macOS 15 (Sequoia)</b> and <b>macOS 26 (Tahoe)</b>, on both Intel
(x86_64) and Apple Silicon (arm64). Enter the commands
in a terminal.
</p>
<ol>
<li>
<b>Install the Xcode command line tools</b> (C/C++ compiler, <code>make</code>, system headers):
<pre>
xcode-select --install
</pre>
</li>
<li>
<b>Install Homebrew</b> (skip if it is already present); see
<a href="https://brew.sh/">brew.sh</a>:
<pre>
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
</pre>
</li>
<li>
<b>Install the build tools and libraries.</b> These include SWI-Prolog for the
optimizer and a Java Development Kit for the Java GUI:
<pre>
brew install flex bison berkeley-db gsl jpeg-turbo boost gmp \
libxml2 readline nlohmann-json swi-prolog openjdk@21
</pre>
Homebrew's <code>flex</code>, <code>bison</code> and <code>openjdk@21</code> are
"keg-only" and are not put on the <code>PATH</code> automatically. Add flex and
bison to your <code>~/.zshrc</code>:
<pre>
echo 'export PATH="$(brew --prefix bison)/bin:$(brew --prefix flex)/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
</pre>
For the JDK, follow the <code>caveats</code> printed by Homebrew to make it visible
to the system (or install an equivalent JDK 21, e.g. Temurin).
</li>
<li>
<b>Get the sources and build <span class="secondo">Secondo</span>.</b> The build
environment (compiler, Berkeley DB, SWI-Prolog paths, ...) is derived
automatically from the installed tools; you only have to set
<code>SECONDO_BUILD_DIR</code> and source the detection script:
<pre>
export SECONDO_BUILD_DIR=$HOME/secondo
source $SECONDO_BUILD_DIR/CM-Scripts/secondo-detect.sh
</pre>
It is convenient to add these two lines to your <code>~/.zshrc</code>, so the
environment is set up automatically in every new terminal:
<pre>
echo 'export SECONDO_BUILD_DIR=$HOME/secondo' >> ~/.zshrc
echo 'source $SECONDO_BUILD_DIR/CM-Scripts/secondo-detect.sh' >> ~/.zshrc
</pre>
Then download the sources and build the system as described on the
<a href="content_sources.html">Sources</a> page (in short: run <code>make</code>
in <code>$SECONDO_BUILD_DIR</code>).
</li>
</ol>
<h3>Upgrading the macOS version</h3>
After an upgrade of the macOS operating system, the Xcode developer tools
have to be reinstalled. If you have upgraded your system and the call of <code> make </code>
produces the following error message:
<pre>
xcrun: error: invalid active developer path
</pre>
then you have to reinstall the Xcode developer tools. To do so, start a
terminal and enter:
<pre>
xcode-select --install
</pre>
In the upcoming dialog, click on the button <code>Installation</code> and wait until the
installation is finished. After that, the <code>make</code> process should run
as before.
<h2> Installation Guides for Historical Distributions </h2>
<p>
Older operating-system releases (Fedora, SuSE, and older Ubuntu versions) were installed
with per-version scripts that are no longer maintained. They are kept for reference on the
<a href="content_install_legacy.html">historical installation guides</a> page.
</p>
<div class="footnote">
Last Changed: 2026-07-15 (JNI)
</div>