Repositories / jai.git
INSTALL
Clone (read-only): git clone http://git.guha-anderson.com/git/jai.git
To build and use jai, you will need the following:
- A modern C++ compiler (tested with gcc 15 and clang 22)
- A modern version of Linux (kernel 6.13 and later should work)
- libmount (possible distro package names: util-linux-libs, libmount-dev)
- libacl (possible distro package names: acl, libacl1-dev)
In Ubuntu, you may need the following to get a modern compiler:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update
sudo apt install g++-15 libmount-dev libacl1-dev pkg-config
export CXX=g++-15
To build from a release tarball, run:
./configure
make
To build from a git checkout, you will also need to install autoconf,
automake, and pandoc (to format the man page). Run:
./autogen.sh
./configure
make
To install (must be root for setuid):
sudo make install
sudo systemd-sysusers
To override the installation prefix:
./configure --prefix=/usr
make
sudo make install
sudo systemd-sysusers
Most of the tests require a setuid root version of jai to test. Since
people's build directories are often mounted nosuid, make `jai.suid`
in the top of your build directory a symbolic link to a place with a
setuid executable. You can run:
sudo test/setup-setuid.sh
to do this automatically in /var/tmp, which is generally mounted
setuid capable.