From fb28430d8c83f7eb3652c0db75c499d4dad15969 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Krup=C4=8D=C3=ADk?= Date: Thu, 30 Jul 2020 13:44:42 +0200 Subject: [PATCH] new file: m/Mesa/Mesa-19.0.1-GCCcore-9.3.0.eb new file: n/nettle/nettle-3.5.1-GCCcore-8.3.0.eb new file: u/UCX/UCX-1.8.0_fix-undefined-symbol.patch modified: u/UCX/UCX-1.8.1-GCC-9.3.0.eb --- m/Mesa/Mesa-19.0.1-GCCcore-9.3.0.eb | 74 ++++++++++++++++++++++ n/nettle/nettle-3.5.1-GCCcore-8.3.0.eb | 38 +++++++++++ u/UCX/UCX-1.8.0_fix-undefined-symbol.patch | 30 +++++++++ u/UCX/UCX-1.8.1-GCC-9.3.0.eb | 6 ++ 4 files changed, 148 insertions(+) create mode 100644 m/Mesa/Mesa-19.0.1-GCCcore-9.3.0.eb create mode 100644 n/nettle/nettle-3.5.1-GCCcore-8.3.0.eb create mode 100644 u/UCX/UCX-1.8.0_fix-undefined-symbol.patch diff --git a/m/Mesa/Mesa-19.0.1-GCCcore-9.3.0.eb b/m/Mesa/Mesa-19.0.1-GCCcore-9.3.0.eb new file mode 100644 index 00000000..caf4b705 --- /dev/null +++ b/m/Mesa/Mesa-19.0.1-GCCcore-9.3.0.eb @@ -0,0 +1,74 @@ +# Automatically converted from Mesa-17.2.4-intel-2017b.eb +# Original message: +# the purpose of the easyconfig is to build a Mesa for software rendering, +# not hardware rendering. This means you want at least SSE4.2. We build: +# - llvmpipe: the high-performance Gallium LLVM driver +# - swr: Intel's OpenSWR +# it will try to use the llvmpipe by default. It you want swr, do: +# GALLIUM_DRIVER=swr + +easyblock = 'MesonNinja' + +name = 'Mesa' +version = '19.0.1' + +homepage = 'http://www.mesa3d.org/' +description = """Mesa is an open-source implementation of the OpenGL specification - + a system for rendering interactive 3D graphics.""" + +toolchain = {'name': 'GCCcore', 'version': '9.3.0'} +# swr detects and builds parts specific for AVX and AVX2. If we use +# -xHost, this always gets overwritten and will fail. +toolchainopts = {'optarch': False} + +source_urls = [ + 'https://www.mesa3d.org/archive/', + 'https://mesa.freedesktop.org/archive/', + 'https://mesa.freedesktop.org/archive/%(version)s', + 'ftp://ftp.freedesktop.org/pub/mesa/%(version)s', + 'ftp://ftp.freedesktop.org/pub/mesa/older-versions/%(version_major)s.x/%(version)s', +] +sources = [SOURCELOWER_TAR_XZ] +checksums = [ + '6884163c0ea9e4c98378ab8fecd72fe7b5f437713a14471beda378df247999d4', # mesa-19.0.1.tar.xz +] + +builddependencies = [ + ('binutils', '2.34'), + ('Meson', '0.53.2', '-Python-3.8.2'), + ('Ninja', '1.10.0'), + ('flex', '2.6.4'), + ('Bison', '3.5.3'), + ('pkg-config', '0.29.2'), + ('Mako', '1.1.2'), + ('libxml2', '2.9.10'), + ('expat', '2.2.9'), + ('gettext', '0.20.1'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('nettle', '3.5.1'), + ('libdrm', '2.4.100'), + ('LLVM', '9.0.1'), + ('X11', '20200222'), + ('libunwind', '1.3.1'), +] + +configopts = " -Dplatforms=x11 -Dosmesa=gallium -Ddri3=false -Ddri-drivers='' -Dvulkan-drivers=''" +configopts += " -Dgbm=false -Dglx-direct=false -Dgallium-drivers='swrast,swr' -Degl=false" +configopts += " -Dllvm=true -Dshared-llvm=true" +configopts += " -Dlibunwind=true -Dglx=xlib" + +sanity_check_paths = { + 'files': ['lib/libGL.%s' % SHLIB_EXT, 'lib/libOSMesa.%s' % SHLIB_EXT, + 'lib/libGLESv1_CM.%s' % SHLIB_EXT, 'lib/libGLESv2.%s' % SHLIB_EXT, + 'include/GL/glext.h', 'include/GL/gl_mangle.h', + 'include/GL/glx.h', 'include/GL/osmesa.h', + 'include/GL/gl.h', 'include/GL/glxext.h', + 'include/GL/glx_mangle.h', 'include/GLES/gl.h', + 'include/GLES2/gl2.h', 'include/GLES3/gl3.h'], + 'dirs': [] +} + +moduleclass = 'vis' diff --git a/n/nettle/nettle-3.5.1-GCCcore-8.3.0.eb b/n/nettle/nettle-3.5.1-GCCcore-8.3.0.eb new file mode 100644 index 00000000..5cc13799 --- /dev/null +++ b/n/nettle/nettle-3.5.1-GCCcore-8.3.0.eb @@ -0,0 +1,38 @@ +# JH 2020 + +easyblock = 'ConfigureMake' + +name = 'nettle' +version = '3.5.1' + +homepage = 'http://www.lysator.liu.se/~nisse/nettle/' +description = """Nettle is a cryptographic library that is designed to fit easily + in more or less any context: In crypto toolkits for object-oriented + languages (C++, Python, Pike, ...), in applications like LSH or GNUPG, + or even in kernel space.""" + +toolchain = {'name': 'GCCcore', 'version': '9.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['75cca1998761b02e16f2db56da52992aef622bf55a3b45ec538bc2eedadc9419'] + +builddependencies = [ + ('binutils', '2.34'), + ('M4', '1.4.18'), +] + +dependencies = [ + ('GMP', '6.2.0'), +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['nettle-hash', 'nettle-lfib-stream', 'pkcs1-conv', 'sexp-conv']] + + [('lib/libhogweed.a', 'lib64/libhogweed.a'), + ('lib/libhogweed.%s' % SHLIB_EXT, 'lib64/libhogweed.%s' % SHLIB_EXT), + ('lib/libnettle.a', 'lib64/libnettle.a'), + ('lib/libnettle.%s' % SHLIB_EXT, 'lib64/libnettle.%s' % SHLIB_EXT)], + 'dirs': ['include/nettle'], +} + +moduleclass = 'lib' diff --git a/u/UCX/UCX-1.8.0_fix-undefined-symbol.patch b/u/UCX/UCX-1.8.0_fix-undefined-symbol.patch new file mode 100644 index 00000000..2778984e --- /dev/null +++ b/u/UCX/UCX-1.8.0_fix-undefined-symbol.patch @@ -0,0 +1,30 @@ +fix for "libuct_ib.so.0: undefined symbol: uct_ib_exp_qp_fill_attr" + +see https://github.com/openucx/ucx/issues/4883 + https://github.com/openucx/ucx/pull/4900 + +From 40d6991eca6b36c6bc2c557dccfbad7a48ce5f62 Mon Sep 17 00:00:00 2001 +From: Artemy Kovalyov +Date: Tue, 17 Mar 2020 13:34:19 +0200 +Subject: [PATCH] UCT/IB/MLX5: Fix EXP accel compilation + +--- + src/uct/ib/mlx5/exp/ib_exp.h | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/src/uct/ib/mlx5/exp/ib_exp.h b/src/uct/ib/mlx5/exp/ib_exp.h +index ab1d9237e1..e97f574b17 100644 +--- a/src/uct/ib/mlx5/exp/ib_exp.h ++++ b/src/uct/ib/mlx5/exp/ib_exp.h +@@ -7,7 +7,11 @@ + #ifndef UCT_IB_MLX5_EXP_H_ + #define UCT_IB_MLX5_EXP_H_ + +-#if HAVE_VERBS_EXP_H ++#ifdef HAVE_CONFIG_H ++# include "config.h" ++#endif ++ ++#if HAVE_MLX5_HW && HAVE_VERBS_EXP_H + void uct_ib_exp_qp_fill_attr(uct_ib_iface_t *iface, uct_ib_qp_attr_t *attr); + #else + static inline void uct_ib_exp_qp_fill_attr(uct_ib_iface_t *iface, uct_ib_qp_attr_t *attr) { } diff --git a/u/UCX/UCX-1.8.1-GCC-9.3.0.eb b/u/UCX/UCX-1.8.1-GCC-9.3.0.eb index 64cc66ba..1e6a089a 100644 --- a/u/UCX/UCX-1.8.1-GCC-9.3.0.eb +++ b/u/UCX/UCX-1.8.1-GCC-9.3.0.eb @@ -18,6 +18,10 @@ toolchainopts = {'pic': True} source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s'] sources = ['%(namelower)s-%(version)s.tar.gz'] +patches = [ + 'UCX-1.8.0_fix-undefined-symbol.patch', +] + builddependencies = [ ('pkg-config', '0.29.2', '', True), ] @@ -33,6 +37,8 @@ configopts += '--without-java --disable-doxygen-doc ' buildopts = 'V=1' +sanity_check_commands = ["ucx_info -d"] + sanity_check_paths = { 'files': ['bin/ucx_info', 'bin/ucx_perftest', 'bin/ucx_read_profile'], 'dirs': ['include', 'lib', 'share']