Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
eclipse
GitHub Repository: eclipse/sumo
Path: blob/main/build_config/install_dependencies.sh
185785 views
1
#!/bin/bash
2
3
SCRIPT_DIR=$(dirname $0)
4
# Check for macOS
5
if [[ "$(uname)" == "Darwin" ]]; then
6
brew update && brew bundle --file=$SCRIPT_DIR/Brewfile --no-upgrade
7
exit 0
8
fi
9
10
if [[ ! -f /etc/os-release ]]; then
11
echo "Unknown OS and /etc/os-release not found"
12
exit 1
13
fi
14
source /etc/os-release
15
16
# Determine Linux version
17
case "$ID" in
18
ubuntu|debian)
19
apt-get -y install $(cat $SCRIPT_DIR/build_req_deb.txt)
20
;;
21
centos)
22
if [[ "$VERSION_ID" == "7" ]]; then
23
yum install -y epel-release
24
yum-config-manager --add-repo=https://download.opensuse.org/repositories/science:/dlr/CentOS_7/
25
yum install -y --nogpgcheck ccache libxerces-c-devel proj-devel fox16-devel bzip2-devel gl2ps-devel swig3 eigen3-devel
26
yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-$(uname -m)/pgdg-redhat-repo-latest.noarch.rpm
27
yum install -y geos311-devel
28
yum install -y https://packages.apache.org/artifactory/arrow/centos/7/apache-arrow-release-latest.rpm
29
yum install -y arrow-devel parquet-devel # For Apache Parquet
30
else
31
echo "CentOS version other than 7 detected: $VERSION_ID"
32
fi
33
;;
34
almalinux)
35
# this is only tested with quay.io/pypa/manylinux_2_28_x86_64 and will probably not work with vanilla almalinux
36
dnf install -y epel-release
37
dnf install -y ccache xerces-c-devel proj-devel bzip2-devel gl2ps-devel swig gdal-devel eigen3-devel geos-devel
38
# fox dependencies
39
dnf install -y libX11-devel libXft-devel libXcursor-devel libXrandr-devel libXinerama-devel mesa-libGL-devel mesa-libGLU-devel freetype-devel fontconfig-devel libjpeg-turbo-devel libpng-devel
40
# installing arrow / parquet
41
dnf install -y https://packages.apache.org/artifactory/arrow/almalinux/$(echo $VERSION_ID | cut -f1 -d.)/apache-arrow-release-latest.rpm
42
dnf install -y arrow-devel parquet-devel
43
cd /opt
44
# building fox from source
45
curl -LO http://www.fox-toolkit.org/ftp/fox-1.6.59.tar.gz
46
tar xf fox-1.6.59.tar.gz
47
cd fox-1.6.59
48
./configure --disable-static --enable-shared
49
make -j$(nproc)
50
make install
51
cd ..
52
# building jupedsim from source
53
curl -LO https://github.com/PedestrianDynamics/jupedsim/archive/refs/tags/v1.3.1.tar.gz
54
tar xf v1.3.1.tar.gz
55
cmake -B jupedsim-build -DCMAKE_BUILD_TYPE=Release jupedsim-1.3.1
56
cmake --build jupedsim-build -j$(nproc)
57
cmake --install jupedsim-build
58
;;
59
*)
60
echo "Unknown or unsupported OS: $ID"
61
;;
62
esac
63
64
# see https://github.com/pypa/manylinux/issues/1421
65
pipx install -f patchelf==0.16.1.0
66
67