Building Minio - linux-on-ibm-z/docs GitHub Wiki
The instructions provided below specify the steps to build Minio version RELEASE.2025-04-08T15-41-24Z and Minio-Client (mc) version RELEASE.2025-04-08T15-39-49Z on Linux on IBM Z for the following distributions:
- RHEL (8.8, 8.10, 9.2, 9.4, 9.5)
- SLES 15 SP6
- Ubuntu (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.
If you want to build Minio using manual steps, go to STEP 2.
Use the following commands to build Minio using the build script. Please make sure you have wget
installed.
wget -q https://raw.githubusercontent.com/linux-on-ibm-z/scripts/master/minio/2025-04-08T15-41-24Z/build_minio.sh
# Build Minio
bash build_minio.sh [Provide -t option for executing build with tests]
export SOURCE_ROOT=/<source_root>/
- RHEL (8.8, 8.10, 9.2, 9.4, 9.5)
sudo yum install -y git make wget tar gcc curl which diffutils jq
- SLES 15 SP6
sudo zypper install -y git make wget tar gcc which curl gawk m4 jq
- Ubuntu (22.04, 24.04, 24.10)
sudo apt-get update
sudo apt-get install -y git make wget tar gcc curl jq
- Install Go
export GOPATH=$SOURCE_ROOT
cd $GOPATH
GO_VERSION=1.23.4
wget -q https://storage.googleapis.com/golang/go"${GO_VERSION}".linux-s390x.tar.gz
chmod ugo+r go"${GO_VERSION}".linux-s390x.tar.gz
sudo rm -rf /usr/local/go /usr/bin/go
sudo tar -C /usr/local -xzf go"${GO_VERSION}".linux-s390x.tar.gz
sudo ln -sf /usr/local/go/bin/go /usr/bin/
sudo ln -sf /usr/local/go/bin/gofmt /usr/bin/
go version
export PATH=$PATH:$GOPATH/bin
mkdir -p $GOPATH/src/github.com/minio
cd $GOPATH/src/github.com/minio
git clone -b RELEASE.2024-12-18T13-15-44Z https://github.com/minio/minio.git
cd $GOPATH/src/github.com/minio/minio
make
make install
cd $GOPATH/src/github.com/minio/minio
make test
Notes:
-
Test case failure having
panic: test timed out after 10m0s
error, passes on rerun with increased timeout as below:sed -i 's:go test -v:go test -timeout 20m -v:g' Makefile
TestIAMInternalIDPConcurrencyServerSuite
test case may fail. It passes on a rerun.
minio server $SOURCE_ROOT/data
- Open
http://<ip_address>:9000
in your browser to access Web UI.
mkdir -p $GOPATH/src/github.com/minio
cd $GOPATH/src/github.com/minio
git clone -b RELEASE.2024-11-21T17-21-54Z https://github.com/minio/mc.git
cd $GOPATH/src/github.com/minio/mc
make
make install
# Start MinIO server in the background and store the PID
minio server data/ > minio.log 2>&1 &
MINIO_PID=$!
# Execute tests
cd $GOPATH/src/github.com/minio/mc
make test
# Kill the PID running the MinIO server after test execution
kill "$MINIO_PID"
cd $GOPATH/src/github.com/minio/mc
ADM=minioadmin
minio server $SOURCE_ROOT/data &
sleep 10
mc config host add myminio http://127.0.0.1:9000 ${ADM} ${ADM}
mc admin info myminio
mc admin service stop myminio