Skip to content

Building Linux i686 (32bits) Third Party Dependencies

Pablo Tesone edited this page Aug 16, 2021 · 4 revisions

Dependencies

 sudo apt-get install libc6-dev:i386 libgcc-9-dev:i386 gcc-i686-linux-gnu g++-i686-linux-gnu uuid-dev:i386 
libsdl-dev:i386 libssl-dev:i386

openssl-1.1.1k

wget https://www.openssl.org/source/openssl-1.1.1k.tar.gz
tar xvfz openssl-1.1.1k.tar.gz
./Configure --prefix=/home/osboxes/dev/thirdParty-i686 --cross-compile-prefix=i686-linux-gnu- linux-x86 && make install

zlib-1.2.11

wget https://zlib.net/zlib-1.2.11.tar.gz
tar xvfz zlib-1.2.11.tar.gz
cd zlib-1.2.11

CHOST=i686 \
CC=i686-linux-gnu-gcc \
AR=i686-linux-gnu-ar \
RANLIB=i686-linux-gnu-ranlib \
./configure --prefix=/home/osboxes/dev/thirdParty-i686/ && make install

libssh2-1.9.0

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-i686/lib/pkgconfig" cmake . -DCMAKE_TOOLCHAIN_FILE=/home/osboxes/dev/git-repos/pharo-vm/cmake/toolchains/i686-Linux.toolchain -DCMAKE_PREFIX_PATH=/home/osboxes/dev/thirdParty-i686/ -DBUILD_SHARED_LIBS=ON -DENABLE_ZLIB_COMPRESSION=ON -DCMAKE_INSTALL_PREFIX:PATH=/home/osboxes/dev/thirdParty-i686/ -DBUILD_EXAMPLES=NO -DBUILD_TESTING=NO

make install

libgit2-1.0.1

TAG v1.0.1

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-i686/lib/pkgconfig" cmake . -DBUILD_CLAR=OFF -DCMAKE_TOOLCHAIN_FILE=/home/osboxes/dev/git-repos/pharo-vm/cmake/toolchains/i686-Linux.toolchain -DCMAKE_PREFIX_PATH=/home/osboxes/dev/thirdParty-i686/ -DCMAKE_INSTALL_PREFIX:PATH=/home/osboxes/dev/thirdParty-i686/

make install

libpng-1.6.37

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-i686/lib/pkgconfig" cmake . -DCMAKE_TOOLCHAIN_FILE=/home/osboxes/dev/git-repos/pharo-vm/cmake/toolchains/i686-Linux.toolchain -DCMAKE_PREFIX_PATH=/home/osboxes/dev/thirdParty-i686/  -DCMAKE_INSTALL_PREFIX:PATH=/home/osboxes/dev/thirdParty-i686/

make install

freetype-2.10.0

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

PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/home/osboxes/dev/thirdParty-i686/lib/pkgconfig" ./configure --prefix=/home/osboxes/dev/thirdParty-i686/ --build=x86_64-linux-gnu --host=i686-linux-gnu && make install

SDL2-2.0.14

wget https://libsdl.org/release/SDL2-2.0.7.tar.gz
tar xvfz SDL2-2.0.7.tar.gz

mkdir build-SDL2-2.0.7
cd build-SDL2-2.0.7

PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/home/osboxes/dev/thirdParty-i686/lib/pkgconfig" cmake ../SDL2-2.0.7 -B . -DCMAKE_TOOLCHAIN_FILE=/home/osboxes/dev/git-repos/pharo-vm/cmake/toolchains/i686-Linux.toolchain -DVIDEO_OPENGLES=OFF -DCMAKE_PREFIX_PATH=/home/osboxes/dev/thirdParty-i686/  -DCMAKE_INSTALL_PREFIX:PATH=/home/osboxes/dev/thirdParty-i686/

make install

pixman-0.40.0

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

PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/home/osboxes/dev/thirdParty-i686/lib/pkgconfig" ./configure --prefix=/home/osboxes/dev/thirdParty-i686/ --build=x86_64-linux-gnu --host=i686-linux-gnu && make install

cairo-1.16.0

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-i686/include LDFLAGS=-L/home/osboxes/dev/thirdParty-i686/lib PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/home/osboxes/dev/thirdParty-i686/lib/pkgconfig" ./configure --prefix=/home/osboxes/dev/thirdParty-i686/ --build=x86_64-linux-gnu --host=i686-linux-gnu --disable-xlib && make install

Build Bundles

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 SDL2-2.0.14.zip libSDL2*.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