Build Artanis-0.6 on Ubuntu-24.04
Artanis is the Web framework written with GNU Guile Scheme. Get more information here: artanis.dev
Operating system
The integrated tests are based on Ubuntu 24.04. And you may do it under your favorite distro according to this post.
Dependencies
sudo apt install texinfo guile-3.0 guile-3.0-dev build-essential automake git
sudo apt install autoconf libtool libmariadb-dev-compat libmariadb-dev libnss3
sudo apt install libnss3-dev gettext redis redis-server libcurl4-openssl-dev
For Artanis-0.6, here’re the critical dependencies and their versions:
- guile-3.0.9
- guile-dbi-2.1.8
- guile-dbd-mysql-2.1.8
- guile-curl-0.9
- guile-redis-2.2.0
- guile-json-4.7.3
In this article we choose MariaDB, and you should install guile-dbd-mysql for it.
Build dependencies
guile-dbi-2.1.8 and guile-dbd-mysql-2.1.8
Since these two dependencies are in the same repo, we build them in a row.
git clone https://github.com/opencog/guile-dbi.git
cd guile-dbi
git checkout guile-dbi-2.1.8
cd guile-dbi
./autogen.sh
./configure --prefix=/usr
make -j5
sudo make install
ldconfig
cd ..
git checkout guile-dbd-mysql-2.1.8
cd guile-dbd-mysql
./autogen.sh
./configure --prefix=/usr
make -j5
sudo make install
sudo ldconfig
guile-curl-0.9
git clone https://github.com/spk121/guile-curl.git
cd guile-curl
git checkout v0.9
./bootstrap && ./configure --prefix=/usr
make -j5
sudo make install
sudo ln -s /usr/lib/guile/3.0/extensions/libguile-curl.* /usr/lib/
sudo ldconfig
Please note that you need to make the soft link under Debian/Ubuntu. Otherwise the lib may not be recognized.
guile-redis-2.2.0
git clone https://github.com/aconchillo/guile-redis.git
cd guile-redis
git checkout -b 2.2.0
autoreconf -vif
./configure --prefix=/usr
make -j5
sudo make install
sudo ldconfig
guile-json-4.7.3
git clone https://github.com/aconchillo/guile-json.git
cd guile-json
git checkout -b 4.7.3
autoreconf -iv
./configure --prefix=/usr
make -j5
sudo make install
sudo ldconfig
Build Artanis-0.6
git clone https://gitlab.com/hardenedlinux/artanis.git
git checkout v0.6
./autogen.sh
mkdir -p build
cd build
../configure --prefix=/usr
make -j5
sudo make install
Test
make test