hpc / mpifileutils

File utilities designed for scalability and performance.
https://hpc.github.io/mpifileutils
BSD 3-Clause "New" or "Revised" License
162 stars 64 forks source link

RHEL8 build #547

Open MarbolanGos opened 1 year ago

MarbolanGos commented 1 year ago

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)

adammoody commented 1 year ago

Thank you, @MarbolanGos . I'll take a look and work to update the spec file.