-
Notifications
You must be signed in to change notification settings - Fork 56
Building Minio
linuxonz edited this page Jun 5, 2025
·
7 revisions
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/refs/heads/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.2025-04-08T15-41-24Z https://github.com/minio/minio.git cd $GOPATH/src/github.com/minio/minio
make
make install cd $GOPATH/src/github.com/minio/minio
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-04-08T15-39-49Z 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 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.