-
Notifications
You must be signed in to change notification settings - Fork 56
Building Scala 3.x
Below versions of Scala are available in respective distributions at the time of creation of these build instructions:
- RHEL 8.10 has
2.10.6 - SLES 15 SP6 has
2.10.7 - Ubuntu (22.04, 24.04, 24.10) have
2.11.12-5 - Ubuntu 25.04 have
2.11.12-6
The instructions provided below specify the steps to build Scala version 3.3.6 on Linux on IBM Z Systems for following distributions:
- RHEL (8.10, 9.4, 9.5)
- SLES 15 SP6
- Ubuntu (22.04, 24.04, 24.10, 25.04)
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.
export SOURCE_ROOT=/<source_root>/
-
RHEL (8.10, 9.4, 9.5)
sudo yum install -y tar wget curl diffutils gcc make -
SLES 15 SP6
sudo zypper install -y wget tar gzip curl gawk gcc make -
Ubuntu (22.04, 24.04, 24.10, 25.04)
sudo apt-get update sudo apt-get install -y tar wget curl gzip gcc make
-
With IBM Semeru Runtime (except Ubuntu 25.04)
- Download and install IBM Semeru Runtime (Java 8 or 11 or 17 or 21) from here.
-
With Eclipse Adoptium Temurin Runtime (except Ubuntu 25.04)
- Download and install Eclipse Adoptium Temurin Runtime (Java 11 or 17 or 21) from here.
-
Download and install AdoptOpenJDK8 from here
-
With OpenJDK 8
- RHEL (8.10, 9.4, 9.5)
sudo yum install -y java-1.8.0-openjdk-devel
- SLES 15 SP6
sudo zypper install -y java-1_8_0-openjdk-devel
- Ubuntu (22.04, 24.04, 24.10, 25.04)
sudo apt-get install -y openjdk-8-jdk
- RHEL (8.10, 9.4, 9.5)
-
With OpenJDK 11
- RHEL (8.10, 9.4, 9.5)
sudo yum install -y java-11-openjdk-devel
- SLES 15 SP6
sudo zypper install -y java-11-openjdk-devel
- Ubuntu (22.04, 24.04, 24.10, 25.04)
sudo apt-get install -y openjdk-11-jdk
- RHEL (8.10, 9.4, 9.5)
-
With OpenJDK 17
- RHEL (8.10, 9.4, 9.5)
sudo yum install -y java-17-openjdk-devel
- SLES 15 SP6
sudo zypper install -y java-17-openjdk java-17-openjdk-devel
- Ubuntu (22.04, 24.04, 24.10, 25.04)
sudo apt-get install -y openjdk-17-jdk
- RHEL (8.10, 9.4, 9.5)
-
With OpenJDK 21
- RHEL (8.10, 9.4, 9.5)
sudo yum install -y java-21-openjdk-devel
- SLES 15 SP6
sudo zypper install -y java-21-openjdk java-21-openjdk-devel
- Ubuntu (22.04, 24.04, 24.10, 25.04)
sudo apt-get install -y openjdk-21-jdk
- RHEL (8.10, 9.4, 9.5)
Note: At the time of creation of these build instructions, Scala 3.3.6 was verified with
OpenJDK 1.8.0, 11.0.27, 17.0.15, 21.0.7
IBM Semeru Runtime Open Edition 1.8.0_452-b09, 11.0.27+6, 17.0.15+6 and 21.0.7+6-LTS
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_282-b08)
Eclipse Adoptium Temurin-11.0.27+6, 17.0.15+6, 21.0.7+6-LTS
cd $SOURCE_ROOT/
wget ftp://sourceware.org/pub/libffi/libffi-3.2.1.tar.gz
tar xvfz libffi-3.2.1.tar.gz
cd libffi-3.2.1
./configure --prefix=/usr/local
make
sudo make install
sudo ldconfig
sudo ldconfig /usr/local/lib64export JAVA_HOME=<Path to Java>
export PATH=$JAVA_HOME/bin:$PATHcd $SOURCE_ROOT
wget https://github.com/scala/scala3/releases/download/3.3.6/scala3-3.3.6.tar.gz
tar -xvf scala3-3.3.6.tar.gz
export PATH=$SOURCE_ROOT/scala3-3.3.6/bin:$PATHCheck Scala version by using the following commands
scala -version
scalac -versionScala code runner version 3.3.6 -- Copyright 2002-2025, LAMP/EPFL
Scala compiler version 3.3.6 -- Copyright 2002-2025, LAMP/EPFL
Create a test file called Hello.scala using below command:
echo '@main def hello = println("Hello, world!")' > Hello.scalascalac Hello.scalaNote: This will create several files:
Hello$package$.class
Hello$package.class
Hello$package.tasty
Hello.scala
hello.class
hello.tastyscala helloThe output of the above test program should be:
Hello, world!Note: For addition information on Getting Started with Scala, visit here
The 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.