-
Notifications
You must be signed in to change notification settings - Fork 56
Building Minio
linuxonz edited this page Sep 30, 2025
·
6 revisions
The instructions provided below specify the steps to build Minio version RELEASE.2025-09-07T16-13-09Z and Minio-Client (mc) version RELEASE.2025-08-13T08-35-41Z on Linux on IBM Z for the following distributions:
- RHEL (8.10, 9.4, 9.6, 10.0)
- SLES (15 SP6, 15 SP7)
- Ubuntu (22.04, 24.04, 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.
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/refs/heads/master/Minio/2025-09-07T16-13-09Z/build_minio.sh
# Build Minio
bash build_minio.sh [Provide -t option for executing build with tests]export SOURCE_ROOT=/<source_root>/- RHEL (8.10, 9.4, 9.6, 10.0)
sudo yum install -y git make wget tar gcc curl which diffutils jq- SLES (15 SP6, 15 SP7)
sudo zypper install -y git make wget tar gcc which curl gawk m4 jq- Ubuntu (22.04, 24.04, 25.04)
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.24.2
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.2025-09-07T16-13-09Z https://github.com/minio/minio.git cd $GOPATH/src/github.com/minio/minio
make
make install cd $GOPATH/src/github.com/minio/minio
go install mvdan.cc/gofumpt@latest
gofumpt -w .&&go generate ./...
make testNotes:
-
Test case failure having
panic: test timed out after 10m0serror, passes on rerun with increased timeout as below:sed -i 's:go test -v:go test -timeout 20m -v:g' Makefile TestIAMInternalIDPConcurrencyServerSuitetest case may fail. It passes on a rerun.
minio server $SOURCE_ROOT/data- Open
http://<ip_address>:9000in your browser to access Web UI.
mkdir -p $GOPATH/src/github.com/minio
cd $GOPATH/src/github.com/minio
git clone -b RELEASE.2025-08-13T08-35-41Z 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
gofumpt -w .&&go generate ./...
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 alias set myminio http://127.0.0.1:9000 ${ADM} ${ADM}
mc admin info myminio
mc admin service stop myminioThe 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.