StanfordLegion/legion

Realm: Unable to build UCX on Ubuntu 23.10

bryevdv opened this issue · 2 comments

Attempting to build legate.core with --network ucx and get several errors like:

    In file included from /home/bryan/work/legate.core.internal/build/debug-gcc/_deps/legion-src/runtime/realm/ucx/mpool.cc:17:
    /home/bryan/work/legate.core.internal/build/debug-gcc/_deps/legion-src/runtime/realm/ucx/mpool.h:147:5: error: 'uintptr_t' does not name a type
      147 |     uintptr_t parent_obj;
          |     ^~~~~~~~~
    /home/bryan/work/legate.core.internal/build/debug-gcc/_deps/legion-src/runtime/realm/ucx/mpool.h:23:1: note: 'uintptr_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'?

The following patch on control_replication on a separate legion checkout allows successful compilation with UCX:

diff --git a/runtime/realm/ucx/mpool.cc b/runtime/realm/ucx/mpool.cc
index 22e9e828b..c750cbde4 100644
--- a/runtime/realm/ucx/mpool.cc
+++ b/runtime/realm/ucx/mpool.cc
@@ -20,6 +20,7 @@
 
 #include <string>
 #include <cmath>
+#include <cstdint>
 
 namespace Realm {
   Logger log_ucp_mp("ucpmp");
diff --git a/runtime/realm/ucx/mpool.h b/runtime/realm/ucx/mpool.h
index 1bf7bae03..18c9c6435 100644
--- a/runtime/realm/ucx/mpool.h
+++ b/runtime/realm/ucx/mpool.h
@@ -19,6 +19,7 @@
 
 #include <string>
 #include <climits>
+#include <cstdint>
 #include <unordered_map>
 
 /* A chunk looks like this:

In case it is useful here is the conda environment:

# packages in environment at /home/bryan/anaconda3/envs/iotst:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                  2_kmp_llvm    conda-forge
accessible-pygments       0.0.4              pyhd8ed1ab_0    conda-forge
alabaster                 0.7.16             pyhd8ed1ab_0    conda-forge
aom                       3.7.1                h59595ed_0    conda-forge
asciitree                 0.3.3                      py_2    conda-forge
asttokens                 2.4.1              pyhd8ed1ab_0    conda-forge
attrs                     23.2.0             pyh71513ae_0    conda-forge
babel                     2.14.0             pyhd8ed1ab_0    conda-forge
beautifulsoup4            4.12.3             pyha770c72_0    conda-forge
binutils_impl_linux-64    2.40                 hf600244_0    conda-forge
bleach                    6.1.0              pyhd8ed1ab_0    conda-forge
blosc                     1.21.5               h0f2a231_0    conda-forge
brotli                    1.1.0                hd590300_1    conda-forge
brotli-bin                1.1.0                hd590300_1    conda-forge
brotli-python             1.1.0           py310hc6cd4ac_1    conda-forge
brunsli                   0.1                  h9c3ff4c_0    conda-forge
bzip2                     1.0.8                hd590300_5    conda-forge
c-ares                    1.25.0               hd590300_0    conda-forge
c-blosc2                  2.13.1               hb4ffafa_0    conda-forge
ca-certificates           2023.11.17           hbcca054_0    conda-forge
cached-property           1.5.2                hd8ed1ab_1    conda-forge
cached_property           1.5.2              pyha770c72_1    conda-forge
certifi                   2023.11.17         pyhd8ed1ab_0    conda-forge
cffi                      1.16.0          py310h2fee648_0    conda-forge
cfgv                      3.3.1              pyhd8ed1ab_0    conda-forge
charls                    2.4.2                h59595ed_0    conda-forge
charset-normalizer        3.3.2              pyhd8ed1ab_0    conda-forge
clang                     17.0.6               hda56bd4_2    conda-forge
clang-17                  17.0.6          default_hb11cfb5_2    conda-forge
clang-format              17.0.6          default_hb11cfb5_2    conda-forge
clang-format-17           17.0.6          default_hb11cfb5_2    conda-forge
clang-tools               17.0.6          default_hb11cfb5_2    conda-forge
cmake                     3.28.1               hcfe8598_0    conda-forge
colorama                  0.4.6              pyhd8ed1ab_0    conda-forge
coverage                  7.4.0           py310h2372a71_0    conda-forge
cuda-cccl                 12.2.53                       0    nvidia/label/cuda-12.2.0
cuda-cudart               12.2.53                       0    nvidia/label/cuda-12.2.0
cuda-cudart-dev           12.2.53                       0    nvidia/label/cuda-12.2.0
cuda-cudart-static        12.2.53                       0    nvidia/label/cuda-12.2.0
cuda-driver-dev           12.2.53                       0    nvidia/label/cuda-12.2.0
cuda-nvml-dev             12.2.81                       0    nvidia/label/cuda-12.2.0
cuda-nvrtc                12.0.140                      0    nvidia/label/cuda-12.0.1
cuda-nvrtc-dev            12.0.140                      0    nvidia/label/cuda-12.0.1
cuda-nvtx                 12.2.53                       0    nvidia/label/cuda-12.2.0
cuda-version              12.2                 he2b69de_2    conda-forge
cunumeric                 23.11.0.dev0+157.g5557be58           dev_0    <develop>
cupy                      12.3.0          py310hfc31588_2    conda-forge
curl                      8.5.0                hca28451_0    conda-forge
cutensor                  1.7.0.1              h10b603f_3    conda-forge
cython                    3.0.7           py310hc6cd4ac_0    conda-forge
dav1d                     1.2.1                hd590300_0    conda-forge
decorator                 5.1.1              pyhd8ed1ab_0    conda-forge
defusedxml                0.7.1              pyhd8ed1ab_0    conda-forge
distlib                   0.3.8              pyhd8ed1ab_0    conda-forge
distro                    1.9.0              pyhd8ed1ab_0    conda-forge
docutils                  0.20.1          py310hff52083_3    conda-forge
doxygen                   1.10.0               h661eb56_0    conda-forge
elfutils                  0.190                h6f2b95c_0    conda-forge
entrypoints               0.4                pyhd8ed1ab_0    conda-forge
exceptiongroup            1.2.0              pyhd8ed1ab_2    conda-forge
executing                 2.0.1              pyhd8ed1ab_0    conda-forge
fasteners                 0.17.3             pyhd8ed1ab_0    conda-forge
fastrlock                 0.8.2           py310hc6cd4ac_2    conda-forge
filelock                  3.13.1             pyhd8ed1ab_0    conda-forge
fsspec                    2023.12.2          pyhca7485f_0    conda-forge
gcc_impl_linux-64         13.2.0               h338b0a0_3    conda-forge
gettext                   0.21.1               h27087fc_0    conda-forge
giflib                    5.2.1                h0b41bf4_3    conda-forge
git                       2.43.0          pl5321h7bc287a_0    conda-forge
gmp                       6.3.0                h59595ed_0    conda-forge
gnutls                    3.7.9                hb077bed_0    conda-forge
h5py                      3.10.0          nompi_py310h65828d5_101    conda-forge
hdf5                      1.14.3          nompi_h4f84152_100    conda-forge
highfive                  2.9.0                h7ef1e6a_0    conda-forge
icu                       73.2                 h59595ed_0    conda-forge
identify                  2.5.33             pyhd8ed1ab_0    conda-forge
idna                      3.6                pyhd8ed1ab_0    conda-forge
imagecodecs               2024.1.1        py310h496a806_0    conda-forge
imagesize                 1.4.1              pyhd8ed1ab_0    conda-forge
importlib-metadata        7.0.1              pyha770c72_0    conda-forge
importlib_metadata        7.0.1                hd8ed1ab_0    conda-forge
importlib_resources       6.1.1              pyhd8ed1ab_0    conda-forge
iniconfig                 2.0.0              pyhd8ed1ab_0    conda-forge
ipython                   8.20.0             pyh707e725_0    conda-forge
jedi                      0.19.1             pyhd8ed1ab_0    conda-forge
jinja2                    3.1.3              pyhd8ed1ab_0    conda-forge
jsonschema                4.21.1             pyhd8ed1ab_0    conda-forge
jsonschema-specifications 2023.12.1          pyhd8ed1ab_0    conda-forge
jupyter_client            8.6.0              pyhd8ed1ab_0    conda-forge
jupyter_core              5.7.1           py310hff52083_0    conda-forge
jupyterlab_pygments       0.3.0              pyhd8ed1ab_0    conda-forge
jxrlib                    1.1                  hd590300_3    conda-forge
kerchunk                  0.2.2              pyhd8ed1ab_0    conda-forge
kernel-headers_linux-64   2.6.32              he073ed8_16    conda-forge
keyutils                  1.6.1                h166bdaf_0    conda-forge
krb5                      1.21.2               h659d440_0    conda-forge
kvikio                    23.12.00        cuda12_py310_231206_gf90bfbe_0    rapidsai
lcms2                     2.16                 hb7c19ff_0    conda-forge
ld_impl_linux-64          2.40                 h41732ed_0    conda-forge
legate-core               23.11.0.dev0+512.g1ec106c6.dirty           dev_0    <develop>
legate-io                 0.1                       dev_0    <develop>
legion                    0.1                      pypi_0    pypi
legion-jupyter            0.1                      pypi_0    pypi
lerc                      4.0.0                h27087fc_0    conda-forge
libaec                    1.1.2                h59595ed_1    conda-forge
libarchive                3.7.2                h2aa1ff5_1    conda-forge
libavif16                 1.0.3                hef5bec9_1    conda-forge
libblas                   3.9.0           16_linux64_openblas    conda-forge
libbrotlicommon           1.1.0                hd590300_1    conda-forge
libbrotlidec              1.1.0                hd590300_1    conda-forge
libbrotlienc              1.1.0                hd590300_1    conda-forge
libcblas                  3.9.0           16_linux64_openblas    conda-forge
libclang-cpp17            17.0.6          default_hb11cfb5_2    conda-forge
libclang13                17.0.6          default_ha2b6cf4_2    conda-forge
libcublas                 12.2.1.16                     0    nvidia/label/cuda-12.2.0
libcublas-dev             12.2.1.16                     0    nvidia/label/cuda-12.2.0
libcufft                  11.0.8.15                     0    nvidia/label/cuda-12.2.0
libcufft-dev              11.0.8.15                     0    nvidia/label/cuda-12.2.0
libcufile                 1.5.1.14                      0    nvidia/label/cuda-12.0.1
libcufile-dev             1.5.1.14                      0    nvidia/label/cuda-12.0.1
libcurand                 10.3.3.53                     0    nvidia/label/cuda-12.2.0
libcurand-dev             10.3.3.53                     0    nvidia/label/cuda-12.2.0
libcurl                   8.5.0                hca28451_0    conda-forge
libcusolver               11.5.0.53                     0    nvidia/label/cuda-12.2.0
libcusolver-dev           11.5.0.53                     0    nvidia/label/cuda-12.2.0
libcusparse               12.1.1.53                     0    nvidia/label/cuda-12.2.0
libcusparse-dev           12.1.1.53                     0    nvidia/label/cuda-12.2.0
libdeflate                1.19                 hd590300_0    conda-forge
libedit                   3.1.20191231         he28a2e2_2    conda-forge
libev                     4.33                 hd590300_2    conda-forge
libevent                  2.1.12               hf998b51_1    conda-forge
libexpat                  2.5.0                hcb278e6_1    conda-forge
libffi                    3.4.2                h7f98852_5    conda-forge
libgcc-devel_linux-64     13.2.0             ha9c7c90_103    conda-forge
libgcc-ng                 13.2.0               h807b86a_3    conda-forge
libgfortran-ng            13.2.0               h69a702a_3    conda-forge
libgfortran5              13.2.0               ha4646dd_3    conda-forge
libgomp                   13.2.0               h807b86a_3    conda-forge
libhwloc                  2.9.3           default_h554bfaf_1009    conda-forge
libiconv                  1.17                 hd590300_2    conda-forge
libidn2                   2.3.4                h166bdaf_0    conda-forge
libjpeg-turbo             3.0.0                hd590300_1    conda-forge
libkvikio                 23.12.00        cuda12_231206_gf90bfbe_0    rapidsai
liblapack                 3.9.0           16_linux64_openblas    conda-forge
libllvm14                 14.0.6               hcd5def8_4    conda-forge
libllvm17                 17.0.6               hb3ce162_1    conda-forge
libmicrohttpd             0.9.77               h97afed2_0    conda-forge
libnghttp2                1.58.0               h47da74e_1    conda-forge
libnl                     3.9.0                hd590300_0    conda-forge
libnsl                    2.0.1                hd590300_0    conda-forge
libnuma                   2.0.16               h0b41bf4_1    conda-forge
libnvjitlink              12.2.91                       0    nvidia/label/cuda-12.2.0
libnvjitlink-dev          12.2.91                       0    nvidia/label/cuda-12.2.0
libopenblas               0.3.21          openmp_h74cd887_3    conda-forge
libpng                    1.6.39               h753d276_0    conda-forge
libsanitizer              13.2.0               h7e041cc_3    conda-forge
libsodium                 1.0.18               h36c2ea0_1    conda-forge
libsqlite                 3.44.2               h2797004_0    conda-forge
libssh2                   1.11.0               h0841786_0    conda-forge
libstdcxx-ng              13.2.0               h7e041cc_3    conda-forge
libtasn1                  4.19.0               h166bdaf_0    conda-forge
libtiff                   4.6.0                ha9c0a0a_2    conda-forge
libunistring              0.9.10               h7f98852_0    conda-forge
libuuid                   2.38.1               h0b41bf4_0    conda-forge
libuv                     1.46.0               hd590300_0    conda-forge
libwebp-base              1.3.2                hd590300_0    conda-forge
libxcrypt                 4.4.36               hd590300_1    conda-forge
libxml2                   2.12.4               h232c23b_1    conda-forge
libzlib                   1.2.13               hd590300_5    conda-forge
libzopfli                 1.0.3                h9c3ff4c_0    conda-forge
llvm-openmp               17.0.6               h4dfa4b3_0    conda-forge
llvmlite                  0.41.1          py310h1b8f574_0    conda-forge
lz4-c                     1.9.4                hcb278e6_0    conda-forge
lzo                       2.10              h516909a_1000    conda-forge
make                      4.3                  hd18ef5c_1    conda-forge
markdown                  3.3.7              pyhd8ed1ab_0    conda-forge
markdown-it-py            3.0.0              pyhd8ed1ab_0    conda-forge
markupsafe                2.1.4           py310h2372a71_0    conda-forge
matplotlib-inline         0.1.6              pyhd8ed1ab_0    conda-forge
mdit-py-plugins           0.4.0              pyhd8ed1ab_0    conda-forge
mdurl                     0.1.2              pyhd8ed1ab_0    conda-forge
mistune                   3.0.2              pyhd8ed1ab_0    conda-forge
mock                      5.1.0              pyhd8ed1ab_0    conda-forge
mpi                       1.0                     openmpi    conda-forge
msgpack-python            1.0.7           py310hd41b1e2_0    conda-forge
mypy                      1.8.0           py310h2372a71_0    conda-forge
mypy_extensions           1.0.0              pyha770c72_0    conda-forge
myst-parser               2.0.0              pyhd8ed1ab_0    conda-forge
nbclient                  0.8.0              pyhd8ed1ab_0    conda-forge
nbconvert                 7.14.2             pyhd8ed1ab_0    conda-forge
nbconvert-core            7.14.2             pyhd8ed1ab_0    conda-forge
nbconvert-pandoc          7.14.2             pyhd8ed1ab_0    conda-forge
nbformat                  5.9.2              pyhd8ed1ab_0    conda-forge
nbsphinx                  0.9.3              pyhd8ed1ab_0    conda-forge
nccl                      2.19.4.1             h3a97aeb_0    conda-forge
ncurses                   6.4                  h59595ed_2    conda-forge
nettle                    3.9.1                h7ab15ed_0    conda-forge
ninja                     1.11.1               h924138e_0    conda-forge
nodeenv                   1.8.0              pyhd8ed1ab_0    conda-forge
numba                     0.58.1          py310h7dc5dd1_0    conda-forge
numcodecs                 0.11.0          py310heca2aa9_1    conda-forge
numpy                     1.26.3          py310hb13e2d6_0    conda-forge
nvcomp                    3.0.5                h10b603f_0    conda-forge
openblas                  0.3.21          openmp_h53a8fd6_3    conda-forge
openjpeg                  2.5.0                h488ebb8_3    conda-forge
openmpi                   5.0.1              h4970cb7_101    conda-forge
openssl                   3.2.1                hd590300_0    conda-forge
opt_einsum                3.3.0              pyhc1e730c_2    conda-forge
p11-kit                   0.24.1               hc5aa10d_0    conda-forge
packaging                 23.2               pyhd8ed1ab_0    conda-forge
pandoc                    3.1.3                h32600fe_0    conda-forge
pandocfilters             1.5.0              pyhd8ed1ab_0    conda-forge
parso                     0.8.3              pyhd8ed1ab_0    conda-forge
pcre2                     10.42                hcad00b1_0    conda-forge
perl                      5.32.1          7_hd590300_perl5    conda-forge
pexpect                   4.9.0              pyhd8ed1ab_0    conda-forge
pickleshare               0.7.5                   py_1003    conda-forge
pip                       23.3.2             pyhd8ed1ab_0    conda-forge
pkg-config                0.29.2            h36c2ea0_1008    conda-forge
pkgutil-resolve-name      1.3.10             pyhd8ed1ab_1    conda-forge
platformdirs              4.1.0              pyhd8ed1ab_0    conda-forge
pluggy                    1.4.0              pyhd8ed1ab_0    conda-forge
pre-commit                3.6.0              pyha770c72_0    conda-forge
prompt-toolkit            3.0.42             pyha770c72_0    conda-forge
psutil                    5.9.8           py310h2372a71_0    conda-forge
ptyprocess                0.7.0              pyhd3deb0d_0    conda-forge
pure_eval                 0.2.2              pyhd8ed1ab_0    conda-forge
pycparser                 2.21               pyhd8ed1ab_0    conda-forge
pydata-sphinx-theme       0.15.2             pyhd8ed1ab_0    conda-forge
pygments                  2.17.2             pyhd8ed1ab_0    conda-forge
pynvml                    11.5.0             pyhd8ed1ab_0    conda-forge
pysocks                   1.7.1              pyha2e5f31_6    conda-forge
pytest                    7.4.4              pyhd8ed1ab_0    conda-forge
pytest-cov                4.1.0              pyhd8ed1ab_0    conda-forge
pytest-lazy-fixture       0.6.3                      py_0    conda-forge
pytest-mock               3.12.0             pyhd8ed1ab_0    conda-forge
python                    3.10.13         hd12c33a_1_cpython    conda-forge
python-dateutil           2.8.2              pyhd8ed1ab_0    conda-forge
python-fastjsonschema     2.19.1             pyhd8ed1ab_0    conda-forge
python_abi                3.10                    4_cp310    conda-forge
pytz                      2023.3.post1       pyhd8ed1ab_0    conda-forge
pyyaml                    6.0.1           py310h2372a71_1    conda-forge
pyzmq                     25.1.2          py310h795f18f_0    conda-forge
rav1e                     0.6.6                he8a937b_2    conda-forge
rdma-core                 50.0                 hd3aeb46_0    conda-forge
readline                  8.2                  h8228510_1    conda-forge
referencing               0.32.1             pyhd8ed1ab_0    conda-forge
requests                  2.31.0             pyhd8ed1ab_0    conda-forge
rhash                     1.4.4                hd590300_0    conda-forge
rpds-py                   0.17.1          py310hcb5633a_0    conda-forge
rust                      1.75.0               h70c747d_0    conda-forge
rust-std-x86_64-unknown-linux-gnu 1.75.0               h2c6d0dc_0    conda-forge
scikit-build              0.17.6             pyh4af843d_0    conda-forge
scipy                     1.12.0          py310hb13e2d6_2    conda-forge
setuptools                69.0.3             pyhd8ed1ab_0    conda-forge
six                       1.16.0             pyh6c4a22f_0    conda-forge
snappy                    1.1.10               h9fff704_0    conda-forge
snowballstemmer           2.2.0              pyhd8ed1ab_0    conda-forge
soupsieve                 2.5                pyhd8ed1ab_1    conda-forge
sphinx                    7.2.6              pyhd8ed1ab_0    conda-forge
sphinx-copybutton         0.5.2              pyhd8ed1ab_0    conda-forge
sphinxcontrib-applehelp   1.0.8              pyhd8ed1ab_0    conda-forge
sphinxcontrib-devhelp     1.0.6              pyhd8ed1ab_0    conda-forge
sphinxcontrib-htmlhelp    2.0.5              pyhd8ed1ab_0    conda-forge
sphinxcontrib-jsmath      1.0.1              pyhd8ed1ab_0    conda-forge
sphinxcontrib-qthelp      1.0.7              pyhd8ed1ab_0    conda-forge
sphinxcontrib-serializinghtml 1.1.10             pyhd8ed1ab_0    conda-forge
stack_data                0.6.2              pyhd8ed1ab_0    conda-forge
svt-av1                   1.8.0                h59595ed_0    conda-forge
sysroot_linux-64          2.12                he073ed8_16    conda-forge
tifffile                  2023.12.9          pyhd8ed1ab_0    conda-forge
tinycss2                  1.2.1              pyhd8ed1ab_0    conda-forge
tk                        8.6.13          noxft_h4845f30_101    conda-forge
toml                      0.10.2             pyhd8ed1ab_0    conda-forge
tomli                     2.0.1              pyhd8ed1ab_0    conda-forge
tornado                   6.3.3           py310h2372a71_1    conda-forge
traitlets                 5.14.1             pyhd8ed1ab_0    conda-forge
types-docutils            0.20.0.20240125    pyhd8ed1ab_0    conda-forge
typing-extensions         4.9.0                hd8ed1ab_0    conda-forge
typing_extensions         4.9.0              pyha770c72_0    conda-forge
tzdata                    2023d                h0c530f3_0    conda-forge
ucx                       1.15.0               h6d2d1ec_3    conda-forge
ujson                     5.9.0           py310hc6cd4ac_0    conda-forge
ukkonen                   1.0.1           py310hd41b1e2_4    conda-forge
urllib3                   2.1.0              pyhd8ed1ab_0    conda-forge
virtualenv                20.25.0            pyhd8ed1ab_0    conda-forge
wcwidth                   0.2.13             pyhd8ed1ab_0    conda-forge
webencodings              0.5.1              pyhd8ed1ab_2    conda-forge
wheel                     0.42.0             pyhd8ed1ab_0    conda-forge
xz                        5.2.6                h166bdaf_0    conda-forge
yaml                      0.2.5                h7f98852_2    conda-forge
zarr                      2.16.1             pyhd8ed1ab_0    conda-forge
zeromq                    4.3.5                h59595ed_0    conda-forge
zfp                       1.0.1                h59595ed_0    conda-forge
zipp                      3.17.0             pyhd8ed1ab_0    conda-forge
zlib                      1.2.13               hd590300_5    conda-forge
zlib-ng                   2.0.7                h0b41bf4_0    conda-forge
zstd                      1.5.5                hfc55251_0    conda-forge

I pinged Hessam to take a look

@apryakhin FYI I did submit an MR already on GitLab (!1094)