Skip to content
David Nichols edited this page Apr 7, 2025 · 10 revisions

Ubuntu 24.04

Qore

# install dependencies
sudo apt install -y \
    cmake \
    pkg-config \
    flex \
    bison \
    libmpfr-dev \
    libpcre3-dev \
    libssl-dev \
    zlib1g-dev \
    libbz2-dev \
    doxygen

# checkout Qore sources, configure, and build
git clone https://github.com/qorelanguage/qore.git
cd qore
mkdir build
cd build
V8_INCLUDE_DIR=/usr/include/node cmake .. -DSINGLE_COMPILATION_UNIT=1 -DCMAKE_BUILD_TYPE=release
make && sudo make install

# test install
../examples/test/qlib/DataProvider/DataProvider.qtest -vv 

v8 Module

# install dependencies
sudo apt install -y \
    libnode-dev

# checkout Qore v8 module sources, configure, and build
git clone https://github.com/qorelanguage/module-v8.git
cd module-v8
mkdir build
cd build
cmake .. -DSINGLE_COMPILATION_UNIT=1 -DCMAKE_BUILD_TYPE=release
make && sudo make install

# build the Javascript target
cd ts
nvm use v20
rm -rf dist/* && yarn install && yarn build
cd ..

# test install
../test/v8.qtest -vv
../test/interface.qtest -vv

jni Module

# install dependencies
sudo apt install -y \
    openjdk-17-jdk

# checkout Qore jni module sources, configure, and build
git clone https://github.com/qorelanguage/module-jni.git
cd mpdule-jni
mkdir build
cd build
cmake .. -DSINGLE_COMPILATION_UNIT=1 -DCMAKE_BUILD_TYPE=release
make && sudo make install

# test install (note that the test script will fail when run from the build directory)
cd ..
./test/jni.qtest -vv

python Module

# NOTE: Ubuntu 24.04 uses Python 3.12 which is not supported by the Qore python module; we need to install Python 3.11
apt -y install --no-install-recommends \
    netbase \
    gnupg1 \
    apt-transport-https \
    gpg \
    gpg-agent \
    dirmngr

# setup installation of Python 3.11
# creates keyboxes
gpg --list-keys
# import key
gpg --no-default-keyring --keyring /usr/share/keyrings/deadsnakes.gpg --keyserver keyserver.ubuntu.com --recv-keys F23C5A6CF475977595C89F51BA6932366A755776
# setup PPA
echo "deb [signed-by=/usr/share/keyrings/deadsnakes.gpg] https://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu noble main" | tee /etc/apt/sources.list.d/python.list
apt update

# install Python 3.11 dependencies
sudo apt -y install python-is-python3 \
    python3.11 \
    libpython3.11 \
    libpython3.11-stdlib \
    libpython3.11-dev

# checkout Qore python module sources, configure, and build
git clone https://github.com/qorelanguage/module-python.git
cd module-python
mkdir build
cd build
cmake .. -DSINGLE_COMPILATION_UNIT=1 -DCMAKE_BUILD_TYPE=release
make && sudo make install

# test install
../test/python.qtest -vv

yaml Module

# install dependencies
sudo apt install -y \
    libyaml-dev

# checkout Qore yaml module sources, configure, and build
git clone https://github.com/qorelanguage/module-yaml.git
cd module-yaml
mkdir build
cd build
cmake .. -DSINGLE_COMPILATION_UNIT=1 -DCMAKE_BUILD_TYPE=release
make && sudo make install

# test install
../test/yaml.qtest -vv

json Module

# checkout Qore json module sources, configure, and build
git clone https://github.com/qorelanguage/module-json.git
cd module-json
mkdir build
cd build
cmake .. -DSINGLE_COMPILATION_UNIT=1 -DCMAKE_BUILD_TYPE=release
make && sudo make install

# test install
../test/json.qtest -vv

process Module

# checkout Qore process module sources, configure, and build
git clone https://github.com/qorelanguage/module-process.git
cd module-process
mkdir build
cd build
cmake .. -DSINGLE_COMPILATION_UNIT=1 -DCMAKE_BUILD_TYPE=release
make && sudo make install

# test install
../test/process.qtest -vv

uuid Module

# install dependencies
sudo apt install -y uuid-dev

# checkout Qore uuid module sources, configure, and build
git clone https://github.com/qorelanguage/module-uuid.git
cd module-uuid
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=release
make && sudo make install

# test install
../test/uuid-test.qtest -vv

Clone this wiki locally