-
Notifications
You must be signed in to change notification settings - Fork 10
Build from git
David Nichols edited this page Apr 7, 2025
·
10 revisions
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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