Skip to content

Building Minio

linuxonz edited this page Jan 29, 2025 · 1 revision

Building Minio

The instructions provided below specify the steps to build Minio version RELEASE.2024-12-18T13-15-44Z and Minio-Client (mc) version RELEASE.2024-11-21T17-21-54Z on Linux on IBM Z for the following distributions:

  • RHEL (8.8, 8.10, 9.2, 9.4, 9.5)
  • SLES 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.

1. Install dependencies

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 (20.04, 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

2. Download, build and configure Minio

2.1. Download Minio code

   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 minio/

2.2. Build and Install Minio

   cd $GOPATH/src/github.com/minio/minio
   make
   make install

2.3. Run tests (Optional)

   cd $GOPATH/src/github.com/minio/minio
   make test

Note: 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 15m -v:g' Makefile

2.4. Start Minio Server

   minio server $SOURCE_ROOT/data

2.5. Access Minio on browser

  • Open http://<ip_address>:9000 in your browser to access Web UI.

3. Download, build and configure Minio-Client (mc)

3.1. Download mc code

   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 mc/

3.2. Build and Install mc

   cd $GOPATH/src/github.com/minio/mc
   make
   make install

3.3. Run tests (Optional)

   cd $GOPATH/src/github.com/minio/mc
   make test

3.4. Verification

   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

References:

Clone this wiki locally