Build Artanis-0.6 on Ubuntu-24.04

HardenedLinux
2 min readMay 11, 2024

--

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

Reference

https://www.artanis.dev/blog/build-0.6-ubuntu.html

--

--