- 
                Notifications
    
You must be signed in to change notification settings  - Fork 56
 
Building OCaml
        linuxonz edited this page Nov 15, 2024 
        ·
        47 revisions
      
    Below versions of OCaml are available in respective distributions at the time of creation of these build instructions:
- RHEL (8.8, 8.10) have 
4.07.0 - RHEL (9.2, 9.4) have 
4.11.1 - SLES (15 SP5, 15 SP6)  have 
4.05.0 - Ubuntu 20.04 has 
4.08.1 - Ubuntu 22.04 has 
4.13.1 - Ubuntu (24.04, 24.10) have  
4.14.1 
The instructions provided below specify the steps to build OCaml v5.2.0 on Linux on IBM Z for following distributions:
- RHEL (8.8, 8.10, 9.2, 9.4)
 - SLES (15 SP5, 15 SP6)
 - Ubuntu (20.04, 22.04, 24.04, 24.10)
 
General Notes:
- When following the steps below please use a standard permission user unless otherwise specified.
 - A directory 
/<source_root>/will be referred to in these instructions, this is a temporary writable directory anywhere you'd like to place it. 
- 
RHEL (8.8, 8.10)
sudo yum install -y gcc make git gawk sed diffutils
 - 
RHEL (9.2, 9.4)
sudo yum install -y gcc gcc-c++ make git gawk sed diffutils binutils lbzip2 hostname tar unzip cmake curl wget vim patch tcl gettext autoconf libtool automake bzip2 zlib zlib-devel bison
cd /<source_root>/ URL=https://ftp.gnu.org/gnu/gcc/gcc-10.4.0/gcc-10.4.0.tar.gz curl -sSL $URL | tar xzf - || error "GCC 10.4.0" cd gcc-10.4.0 ./contrib/download_prerequisites mkdir build-gcc cd build-gcc ../configure -v --with-bugurl=file:///usr/share/doc/gcc-10/README.Bugs --enable-languages=c,c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-10 --program-prefix=s390x-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --disable-werror --with-arch=zEC12 --with-long-double-128 --disable-multilib --enable-checking=release --build=s390x-linux-gnu --host=s390x-linux-gnu --target=s390x-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-mutex --enable-__cxa_atexit make -j$(nproc) sudo make install sudo rm -f /usr/bin/gcc sudo rm -f /usr/bin/g++ export CC=/usr/bin/s390x-linux-gnu-gcc-10 export CXX=/usr/bin/s390x-linux-gnu-g++-10 sudo ln -sf /usr/bin/s390x-linux-gnu-gcc-10 /usr/bin/gcc sudo ln -sf /usr/bin/s390x-linux-gnu-g++-10 /usr/bin/g++
 - 
SLES (15 SP5, 15 SP6)
sudo zypper install -y gcc make git-core gawk sed diffutils
 - 
Ubuntu (20.04, 22.04, 24.04, 24.10)
sudo apt-get update sudo apt-get -y install gcc make git gawk sed diffutils
 
cd /<source_root>/
git clone -b 5.2.0 https://github.com/ocaml/ocaml.git
cd ocaml./configure --enable-ocamltestmakemake testssudo make installocaml --versionThe output should be:
The OCaml toplevel, version 5.2.0The information provided in this article is accurate at the time of writing, but on-going development in the open-source projects involved may make the information incorrect or obsolete. Please open issue or contact us on IBM Z Community if you have any questions or feedback.