hpc / hpc/mpifileutils

RHEL8 build

Open
#547 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
200
Forks
85
Avg merge
3d 21h
Merged PRs (30d)
2

Description

Dear HPC mpifileutils tool maintenor,

For a lustre installation, I was asked to build on RHEL8.6 this tool via the specfile you provide.

Here is the file I add to use:

Name:           mpifileutils
Version:        v0.11.1
Release:        1%{?dist}
Summary:        File utilities designed for scalability and performance.

Group:          System Environment/Libraries
License:        Copyright and BSD License
URL:            https://hpc.github.io/mpifileutils
Source:         %{name}-%{version}.tar.gz
BuildRoot:      %_topdir/BUILDROOT
Requires: libcircle, lwgrp, dtcmp, libarchive, openssl, openssl-devel
BuildRequires: cmake, libattr-devel, libarchive-devel, bzip2-devel, lustre-client-devel, openssl-devel

%description
File utilities designed for scalability and performance.

%prep
%setup -q

%build
#topdir=`pwd`
#installdir=$topdir/install

cmake ./ -DWITH_DTCMP_PREFIX=${installdir} -DWITH_LibCircle_PREFIX=${installdir} -DCMAKE_INSTALL_PREFIX=%{buildroot}/usr -DENABLE_LUSTRE=ON -DENABLE_XATTRS=ON
make

%install
rm -rf %{buildroot}
make install
#make install DESTDIR=$RPM_BUILD_ROOT


%files
%defattr(-,root,root,-)
%{_bindir}/*
%{_includedir}/*
%{_libdir}/*
%{_mandir}/*
%{_datadir}/*

%changelog

Also, I had to use this commandline:

QA_SKIP_BUILD_ROOT=1  rpmbuild --nodebuginfo   -ba mpifileutils.spec

I was a bit in a hurry to get the tool available so removing debuginfo and not having to use QA is not a good idea so maybe it is possible to be better int he compilation... Also, those tips can help others who need to build this tool!

I prefer not asking for a PR as the modifications are not clean but maybe it is possible to work on updating the file to meet the RHEL requirements.

Addon: I forgot to say that I needed also to load an MPI library and this was done via a "module load openmpi" (specific to my platform here)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the provided RPM specfile and reviewing its CMake and packaging settings. Reproduce the RHEL8.6 build with rpmbuild, the reported dependencies, and the required MPI module, then compare the result with the current workaround. Done means the specfile builds and packages mpifileutils on RHEL8 without skipping QA or debuginfo checks.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, linux
Domain
build-system, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.