Skip to content

Commit

Permalink
DAOS-7267 build: remove openpa dependency (#9383)
Browse files Browse the repository at this point in the history
OpenPA is no longer used by mercury as it now instead falls back to
builtin atomics when stdatomic is not present.

Signed-off-by: Jerome Soumagne <jerome.soumagne@intel.com>
  • Loading branch information
soumagne authored Jul 18, 2022
1 parent f540d6c commit ed5ff72
Show file tree
Hide file tree
Showing 10 changed files with 17 additions and 38 deletions.
2 changes: 1 addition & 1 deletion SConstruct
Original file line number Diff line number Diff line change
Expand Up @@ -386,7 +386,7 @@ def scons(): # pylint: disable=too-many-locals,too-many-branches

base_env_mpi = env.Clone()

compiler_setup.base_setup(env, prereqs=prereqs)
compiler_setup.base_setup(env)

if not GetOption('help') and not GetOption('clean'):
mpi = daos_build.configure_mpi(base_env_mpi)
Expand Down
2 changes: 1 addition & 1 deletion ci/provisioning/post_provision_config_common_functions.sh
Original file line number Diff line number Diff line change
Expand Up @@ -249,7 +249,7 @@ post_provision_config_nodes() {
time dnf -y erase fio fuse ior-hpc mpich-autoload \
ompi argobots cart daos daos-client dpdk \
fuse-libs libisa-l libpmemobj mercury mpich \
openpa pmix protobuf-c spdk libfabric libpmem \
pmix protobuf-c spdk libfabric libpmem \
libpmemblk munge-libs munge slurm \
slurm-example-configs slurmctld slurm-slurmmd
fi
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ post_provision_config_nodes() {
# yum -y erase fio fuse ior-hpc mpich-autoload \
# ompi argobots cart daos daos-client dpdk \
# fuse-libs libisa-l libpmemobj mercury mpich \
# openpa pmix protobuf-c spdk libfabric libpmem \
# pmix protobuf-c spdk libfabric libpmem \
# libpmemblk munge-libs munge slurm \
# slurm-example-configs slurmctld slurm-slurmmd
#fi
Expand Down
6 changes: 6 additions & 0 deletions debian/changelog
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
daos (2.3.100-17) unstable; urgency=medium
[ Jerome Soumagne ]
* Remove now unused openpa dependency

-- Jerome Soumagne <jerome.soumagne@intel.com> Mon, 18 Jul 2022 11:55:00 -0600

daos (2.3.100-16) unstable; urgency=medium

[ Jeff Olivier ]
Expand Down
9 changes: 2 additions & 7 deletions site_scons/compiler_setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
'-Wno-unused-function']


def base_setup(env, prereqs=None):
def base_setup(env):
"""Setup the scons environment for the compiler
Include all our preferred compile options for the chosen
Expand Down Expand Up @@ -77,13 +77,8 @@ def base_setup(env, prereqs=None):
cenv.Append(CFLAGS='-Werror')
config = Configure(cenv)
if config.CheckHeader('stdatomic.h'):
config.Finish()
env.AppendUnique(CPPDEFINES={'HAVE_STDATOMIC': '1'})
elif prereqs:
config.Finish()
prereqs.require(env, 'openpa', headers_only=True)
else:
config.Finish()
config.Finish()

if compiler == 'icx' and not GetOption('no_rpath'):
# Hack to add rpaths
Expand Down
24 changes: 1 addition & 23 deletions site_scons/components/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -104,12 +104,6 @@ def define_mercury(reqs):
libs = []
else:
reqs.define('rt', libs=['rt'])
reqs.define('stdatomic', headers=['stdatomic.h'])

if reqs.check_component('stdatomic'):
atomic = 'stdatomic'
else:
atomic = 'openpa'

reqs.define('psm2',
retriever=GitRepoRetriever('https://github.com/intel/opa-psm2.git'),
Expand Down Expand Up @@ -162,16 +156,6 @@ def define_mercury(reqs):
package='libfabric-devel' if inst(reqs, 'ofi') else None,
patch_rpath=['lib'])

reqs.define('openpa',
retriever=GitRepoRetriever('https://github.com/pmodels/openpa.git'),
commands=[['libtoolize'],
['./autogen.sh'],
['./configure', '--prefix=$OPENPA_PREFIX'],
['make'],
['make', 'install']],
libs=['opa'],
package='openpa-devel' if inst(reqs, 'openpa') else None)

ucx_configure = ['./configure', '--disable-assertions', '--disable-params-check', '--enable-mt',
'--without-go', '--without-java', '--prefix=$UCX_PREFIX',
'--libdir=$UCX_PREFIX/lib64', '--enable-cma', '--without-cuda',
Expand Down Expand Up @@ -199,7 +183,6 @@ def define_mercury(reqs):

mercury_build = ['cmake',
'-DMERCURY_USE_CHECKSUMS=OFF',
'-DOPA_INCLUDE_DIR=$OPENPA_PREFIX/include/',
'-DCMAKE_INSTALL_PREFIX=$MERCURY_PREFIX',
'-DCMAKE_CXX_FLAGS="-std=c++11"',
'-DBUILD_EXAMPLES=OFF',
Expand All @@ -216,11 +199,6 @@ def define_mercury(reqs):
else:
mercury_build.append('-DMERCURY_ENABLE_DEBUG=OFF')

mercury_build.append(check(reqs,
'openpa',
'-DOPA_LIBRARY=$OPENPA_PREFIX/lib/libopa.a',
'-DOPA_LIBRARY=$OPENPA_PREFIX/lib64/libopa.a'))

mercury_build.extend(check(reqs,
'ofi',
['-DOFI_INCLUDE_DIR=$OFI_PREFIX/include',
Expand All @@ -234,7 +212,7 @@ def define_mercury(reqs):
['make', 'install']],
libs=['mercury'],
pkgconfig='mercury',
requires=[atomic, 'boost', 'ofi', 'ucx'] + libs,
requires=['boost', 'ofi', 'ucx'] + libs,
out_of_src_build=True,
package='mercury-devel' if inst(reqs, 'mercury') else None)

Expand Down
1 change: 0 additions & 1 deletion src/cart/utils/build-master.config
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,4 @@ component=cart
[commit_versions]
OFI = master
OMPI = 373098d8ae0053af85cc1d49a58dbe933a31a50a
OPENPA = master
MERCURY = master
1 change: 0 additions & 1 deletion utils/build.config
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ ISAL = v2.30.0
ISAL_CRYPTO = v2.23.0
SPDK = v22.01.1
OFI = v1.15.1
OPENPA = v1.0.4
MERCURY = v2.2.0rc6
PSM2 = PSM2_11.2.78
PROTOBUFC = v1.3.3
Expand Down
2 changes: 1 addition & 1 deletion utils/check/handle_rpms.sh
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ sudo yum -y remove cart cart-debuginfo cart-devel cart-tests \
daos-tests CUnit dpdk fio fuse fuse-lib hwloc \
libabt0 libcmocka libfabric libfabric-devel libisa-l \
libisa-l_crypto libopa1 libpmem libpmemblk mercury ndctl\
ompi openmpi3 openpa-devel \
ompi openmpi3 \
pexpect protobuf-c pmix \
python-configshell python-urwid \
raft raft-debuginfo raft-devel \
Expand Down
6 changes: 4 additions & 2 deletions utils/rpms/daos.spec
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

Name: daos
Version: 2.3.100
Release: 16%{?relval}%{?dist}
Release: 17%{?relval}%{?dist}
Summary: DAOS Storage Engine

License: BSD-2-Clause-Patent
Expand All @@ -34,7 +34,6 @@ BuildRequires: scons >= 2.4
BuildRequires: libfabric-devel >= %{libfabric_version}
BuildRequires: mercury-devel >= %{mercury_version}
%if (0%{?rhel} < 8) || (0%{?suse_version} > 0)
BuildRequires: openpa-devel
BuildRequires: libpsm2-devel
%endif
BuildRequires: gcc-c++
Expand Down Expand Up @@ -563,6 +562,9 @@ getent passwd daos_agent >/dev/null || useradd -s /sbin/nologin -r -g daos_agent
# No files in a shim package

%changelog
* Mon Jul 18 2022 Jerome Soumagne <jerome.soumagne@intel.com> 2.3.100-17
- Remove now unused openpa dependency

* Fri Jul 15 2022 Tom Nabarro <jeffrey.v.olivier@intel.com> 2.3.100-16
- Add pool_scrubbing_tests to test package

Expand Down

0 comments on commit ed5ff72

Please sign in to comment.