Skip to content

Building Linux ARM64 Third Party Dependencies

Pablo Tesone edited this page Aug 19, 2022 · 4 revisions

openssl-1.1.1k

cd /home/osboxes/dev/thirdParty-arm64
wget https://www.openssl.org/source/openssl-1.1.1k.tar.gz
tar xvfz openssl-1.1.1k.tar.gz
cd openssl-1.1.1k
./config --prefix=/home/osboxes/dev/thirdParty-arm64 && make install

libssh2-1.9.0

cd /home/osboxes/dev/thirdParty-arm64
wget https://www.libssh2.org/download/libssh2-1.9.0.tar.gz
tar xvfz libssh2-1.9.0.tar.gz
cd libssh2-1.9.0

PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/home/osboxes/dev/thirdParty-arm64/lib/pkgconfig" cmake . -DCMAKE_PREFIX_PATH=/home/osboxes/dev/thirdParty-arm64/ -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX:PATH=/home/osboxes/dev/thirdParty-arm64/ -DBUILD_EXAMPLES=NO -DBUILD_TESTING=NO

make install

libgit2-1.0.1

TAG v1.0.1

cd /home/osboxes/dev/thirdParty-arm64
git clone https://github.com/libgit2/libgit2.git
cd libgit2
git checkout v1.0.1

PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/home/osboxes/dev/thirdParty-arm64/lib/pkgconfig" cmake . -DBUILD_CLAR=OFF  -DCMAKE_PREFIX_PATH=/home/osboxes/dev/thirdParty-arm64/ -DCMAKE_INSTALL_PREFIX:PATH=/home/osboxes/dev/thirdParty-arm64/ -DCMAKE_FIND_ROOT_PATH=/home/osboxes/dev/thirdParty-arm64/lib/ -DOPENSSL_SSL_LIBRARY=/home/osboxes/dev/thirdParty-arm64/lib/

make install

libgit2-1.4.4

TAG v1.4.4

cd /home/osboxes/dev/thirdParty-arm64
git clone https://github.com/libgit2/libgit2.git
cd libgit2
git checkout v1.4.4

PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/home/osboxes/dev/thirdParty-arm64/lib/pkgconfig" cmake . -DBUILD_TESTS=OFF  -DCMAKE_PREFIX_PATH=/home/osboxes/dev/thirdParty-arm64/ -DCMAKE_INSTALL_PREFIX:PATH=/home/osboxes/dev/thirdParty-arm64/ -DCMAKE_FIND_ROOT_PATH=/home/osboxes/dev/thirdParty-arm64/lib/ -DOPENSSL_SSL_LIBRARY=/home/osboxes/dev/thirdParty-arm64/lib/ -DUSE_SSH=ON

make install

freetype-2.10.0

cd /home/osboxes/dev/thirdParty-arm64
wget https://download.savannah.gnu.org/releases/freetype/freetype-2.10.0.tar.gz
tar xvfz freetype-2.10.0.tar.gz
cd freetype-2.10.0
./configure --prefix=/home/osboxes/dev/thirdParty-arm64/ && make install

SDL2-2.0.14

sudo apt-get install libx11-dev \
libgl1-mesa-dev \
libxext-dev
cd /home/osboxes/dev/thirdParty-arm64
wget https://libsdl.org/release/SDL2-2.0.7.tar.gz
tar xvfz SDL2-2.0.7.tar.gz
cd SDL2-2.0.7
./configure --prefix=/home/osboxes/dev/thirdParty-arm64/ && make install

pixman-0.40.0

cd /home/osboxes/dev/thirdParty-arm64
wget https://www.cairographics.org/releases/pixman-0.40.0.tar.gz
tar xvfz pixman-0.40.0.tar.gz
cd pixman-0.40.0
./configure --prefix=/home/osboxes/dev/thirdParty-arm64/ && make install

zlib-1.2.11

cd /home/osboxes/dev/thirdParty-arm64
wget https://zlib.net/zlib-1.2.11.tar.gz
tar xvfz zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure --prefix=/home/osboxes/dev/thirdParty-arm64/ && make install

libpng-1.6.37

cd /home/osboxes/dev/thirdParty-arm64
wget https://download.sourceforge.net/libpng/libpng-1.6.37.tar.gz
tar xvfz libpng-1.6.37.tar.gz
cd libpng-1.6.37

PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/home/osboxes/dev/thirdParty-arm64/lib/pkgconfig" cmake . -DCMAKE_PREFIX_PATH=/home/osboxes/dev/thirdParty-arm64/  -DCMAKE_INSTALL_PREFIX:PATH=/home/osboxes/dev/thirdParty-arm64/

make install

cairo-1.16.0

cd /home/osboxes/dev/thirdParty-arm64
wget https://www.cairographics.org/releases/cairo-1.16.0.tar.xz
tar xvf cairo-1.16.0.tar.xz
cd cairo-1.16.0

CFLAGS=-I/home/osboxes/dev/thirdParty-arm64/include LDFLAGS=-L/home/osboxes/dev/thirdParty-arm64/lib PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/home/osboxes/dev/thirdParty-arm64/lib/pkgconfig" ./configure --prefix=/home/osboxes/dev/thirdParty-arm64/

make install

Build Bundles

cd /home/osboxes/dev/thirdParty-arm64/lib

zip -y openssl-1.1.1k.zip libssl.so* libcrypto.so*
zip -y zlib-1.2.11.zip libz.so*
zip -y libssh2-1.9.0.zip libssh2.so*
zip -y libgit2-1.0.1.zip libgit2.so*
zip -y libgit2-1.4.4.zip libgit2.so*

zip -y SDL2-2.0.14.zip libSDL*.so*

zip -y freetype-2.10.0.zip libfreetype.so*
zip -y pixman-0.40.0.zip libpixman-1.so*
zip -y cairo-1.16.0.zip libcairo*.so*
zip -y libpng-1.6.37.zip libpng*.so*
Clone this wiki locally