CMake cannot locate libraries and includes

I found and read your article at PingCAP. I was impressed and I would like to compile. However, when I tried, I got the following error:
-- Enabling the GLIBCXX11 ABI
-- Building CURA targeting GPU
-- Finding RAPIDJSON
-- RapidJSON found. Headers: /home/yujinkim/vcpkg/packages/rapidjson_x64-linux/share/rapidjson/../../include
-- Finding ARROW
-- Using CONDA_PREFIX: /home/yujinkim/miniconda3/envs/cudf_dev
-- Using ARROW: /home/yujinkim/miniconda3/envs/cudf_dev/include : /home/yujinkim/miniconda3/envs/cudf_dev/lib/libarrow.so
-- Finding CUDA
-- CUDA_VERSION_MAJOR: 11
-- CUDA_VERSION_MINOR: 1
-- CUDA_VERSION: 11.1
GPU_ARCHS = 60;70;75;80
-- Using CUDA: /usr/local/cuda/include : /usr/local/cuda/lib64/stubs/libcuda.so
-- Using CUDART: /usr/local/cuda/lib64/libcudart.so
-- Finding CUDF
-- Using CONDA_PREFIX: /home/yujinkim/miniconda3/envs/cudf_dev
-- Using CUDF: /home/yujinkim/miniconda3/envs/cudf_dev/include : /home/yujinkim/miniconda3/envs/cudf_dev/lib/libcudf.so;CUDF_LIB-NOTFOUND;CUDF_LIB-NOTFOUND;CUDF_LIB-NOTFOUND;CUDF_LIB-NOTFOUND;CUDF_LIB-NOTFOUND;CUDF_LIB-NOTFOUND;CUDF_LIB-NOTFOUND;CUDF_LIB-NOTFOUND;CUDF_LIB-NOTFOUND;CUDF_LIB-NOTFOUND;CUDF_LIB-NOTFOUND;CUDF_LIB-NOTFOUND;CUDF_LIB-NOTFOUND;CUDF_LIB-NOTFOUND
-- Using LIBCUDACXX: CUDF_LIBCUDACXX_INCLUDE_DIR-NOTFOUND
-- GTEST: Enabling the GLIBCXX11 ABI
-- Configuring done
-- Generating done
-- Build files have been written to: /home/yujinkim/cura/build/googletest
-- GTEST BUILD: Enabling Parallel CMake build with all threads
[ 12%] Performing update step for 'GoogleTest'
[ 25%] No patch step for 'GoogleTest'
[ 37%] Performing configure step for 'GoogleTest'
-- Configuring done
-- Generating done
-- Build files have been written to: /home/yujinkim/cura/build/googletest/build
[ 50%] Performing build step for 'GoogleTest'
[ 18%] Built target gtest
[ 54%] Built target gmock_main
[ 81%] Built target gmock
[100%] Built target gtest_main
[ 62%] Performing install step for 'GoogleTest'
[ 18%] Built target gtest
[ 54%] Built target gmock_main
[ 81%] Built target gmock
[100%] Built target gtest_main
Install the project...
-- Install configuration: ""
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/lib/libgmock.a
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/lib/libgmock_main.a
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gmock
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gmock/internal
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gmock/internal/gmock-generated-internal-utils.h.pump
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gmock/internal/gmock-generated-internal-utils.h
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gmock/internal/gmock-port.h
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gmock/internal/gmock-internal-utils.h
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gmock/internal/custom
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gmock/internal/custom/gmock-generated-actions.h.pump
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gmock/internal/custom/gmock-generated-actions.h
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gmock/internal/custom/gmock-port.h
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gmock/internal/custom/gmock-matchers.h
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gmock/gmock-generated-matchers.h.pump
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gmock/gmock-more-actions.h
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gmock/gmock-generated-function-mockers.h.pump
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gmock/gmock.h
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gmock/gmock-more-matchers.h
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gmock/gmock-cardinalities.h
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gmock/gmock-generated-actions.h.pump
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gmock/gmock-generated-actions.h
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gmock/gmock-generated-function-mockers.h
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gmock/gmock-spec-builders.h
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gmock/gmock-generated-nice-strict.h
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gmock/gmock-matchers.h
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gmock/gmock-generated-matchers.h
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gmock/gmock-generated-nice-strict.h.pump
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gmock/gmock-actions.h
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/lib/libgtest.a
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/lib/libgtest_main.a
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gtest
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gtest/internal
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gtest/internal/gtest-death-test-internal.h
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gtest/internal/gtest-linked_ptr.h
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gtest/internal/gtest-type-util.h
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gtest/internal/gtest-port-arch.h
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gtest/internal/gtest-tuple.h.pump
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gtest/internal/gtest-type-util.h.pump
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gtest/internal/gtest-param-util-generated.h.pump
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gtest/internal/gtest-port.h
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gtest/internal/gtest-param-util-generated.h
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gtest/internal/gtest-internal.h
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gtest/internal/gtest-tuple.h
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gtest/internal/gtest-string.h
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gtest/internal/gtest-filepath.h
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gtest/internal/gtest-param-util.h
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gtest/internal/custom
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gtest/internal/custom/gtest-port.h
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gtest/internal/custom/gtest.h
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gtest/internal/custom/gtest-printers.h
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gtest/gtest-test-part.h
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gtest/gtest-death-test.h
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gtest/gtest_pred_impl.h
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gtest/gtest-spi.h
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gtest/gtest-message.h
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gtest/gtest.h
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gtest/gtest-param-test.h
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gtest/gtest-printers.h
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gtest/gtest-typed-test.h
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gtest/gtest-param-test.h.pump
-- Up-to-date: /home/yujinkim/cura/build/googletest/install/include/gtest/gtest_prod.h
[ 75%] Completed 'GoogleTest'
[100%] Built target GoogleTest
-- GoogleTest installed here: /home/yujinkim/cura/build/googletest/install
-- Google C++ Testing Framework (Google Test) found in /home/yujinkim/cura/build/googletest
-- CURA_TEST_LIST set to: EXECUTION_TEST;EXPLAIN_TEST;EXPRESSION_TEST;KERNEL_TEST;PARSER_TEST
-- Configuring done
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
/home/yujinkim/cura/CUDF_LIBCUDACXX_INCLUDE_DIR
   used as include directory in directory /home/yujinkim/cura
/home/yujinkim/miniconda3/envs/cudf_dev/lib/libcudf.so;CUDF_LIB-NOTFOUND;CUDF_LIB-NOTFOUND;CUDF_LIB-NOTFOUND;CUDF_LIB-NOTFOUND;CUDF_LIB-NOTFOUND;CUDF_LIB-NOTFOUND;CUDF_LIB-NOTFOUND;CUDF_LIB-NOTFOUND;CUDF_LIB-NOTFOUND;CUDF_LIB-NOTFOUND;CUDF_LIB-NOTFOUND;CUDF_LIB-NOTFOUND;CUDF_LIB-NOTFOUND;CUDF_LIB
    linked by target "cura" in directory /home/yujinkim/cura

CMake Warning (dev) in CMakeLists.txt:
  Policy CMP0104 is not set: CMAKE_CUDA_ARCHITECTURES now detected for NVCC,
  empty CUDA_ARCHITECTURES not allowed.  Run "cmake --help-policy CMP0104"
  for policy details.  Use the cmake_policy command to set the policy and
  suppress this warning.

  CUDA_ARCHITECTURES is empty for target "cura".
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Generating done
CMake Generate step failed.  Build files cannot be regenerated correctly.

I'm using Ubuntu 20.04 and I built cuDF from source (branch-0.19 targeting CUDA 10.1). I took a look at /cmake/find/cudf.cmake and, in lines 129-150:
set(CUDF_MODULE_LIST
    "cudf"
    "cudf_ast"
    "cudf_base"
    "cudf_comms"
    "cudf_hash"
    "cudf_interop"
    "cudf_io"
    "cudf_join"
    "cudf_merge"
    "cudf_partitioning"
    "cudf_reductions"
    "cudf_replace"
    "cudf_reshape"
    "cudf_rolling"
    "cudf_transpose")

foreach(CUDF_MODULE IN LISTS CUDF_MODULE_LIST)
  find_library(CUDF_LIB NAMES ${CUDF_MODULE} HINTS "${CONDA_PREFIX}/lib")
  list(APPEND CUDF_LIBRARIES "${CUDF_LIB}")
  unset(CUDF_LIB CACHE)
endforeach()

... I found that the corresponding files (e.g. cudf_ast) did not exist in the lib directory mentioned, which only contained libcudf.so.
So, I wonder, what can I do in order to get these libraries to exist?

Hi Yujin, glad that you tried cura. And sorry about that our project lacks documentary.
Regarding to your question, a quick way would be that you try using cudf 0.18, which is the version we have been successfully building cura last time. By looking at the cudf history, PR https://github.com/rapidsai/cudf/pull/7107 seems combine multiple libraries together since 0.19, whereas it was once split into multiple since 0.18.
Cudf is in fast pace of development and we haven't caught up to its latest version yet. We'll try to do it but that may take a while. If you have any questions using cura, please tell us and we're happy to help. Thank you.
BTW: it's preferable to enable cudf's ptds build option, this is kind of essential for cura.

Hi,
Thank you. I've switched to branch-0.18, and could find all the binary libraries, but I still can't find simt/chrono in libcudacxx.
Apparently, [https://github.com/NVIDIA/libcudacxx/commit/19a20a7219c26de51e6d09d86902283c57a3e76c](libcudacxx 19a20a7219c) renamed simt to cuda. So, I will have to try an earlier version. What version of libcudacxx works best?

Hi,
It was a CMake error. Here's the output: Pastebin.com.
An abridged version:
yujinkim@istanbul:~/cura/build$ conda activate cudf_dev
(cudf_dev) yujinkim@istanbul:~/cura/build$ cmake .. -DENABLE_CUDF=1
-- The C compiler identification is GNU 9.3.0
-- The CXX compiler identification is GNU 9.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Enabling the GLIBCXX11 ABI
-- Building CURA targeting GPU
-- Finding RAPIDJSON
-- RapidJSON found. Headers: /home/yujinkim/vcpkg/packages/rapidjson_x64-linux/share/rapidjson/../../include
-- Finding ARROW
-- Using CONDA_PREFIX: /home/yujinkim/miniconda3/envs/cudf_dev
-- Using ARROW: /home/yujinkim/miniconda3/envs/cudf_dev/include : /home/yujinkim/miniconda3/envs/cudf_dev/lib/libarrow.so
-- Finding CUDA
-- The CUDA compiler identification is NVIDIA 11.1.74
-- Detecting CUDA compiler ABI info
-- Detecting CUDA compiler ABI info - done
-- Check for working CUDA compiler: /usr/local/cuda/bin/nvcc - skipped
-- Detecting CUDA compile features
-- Detecting CUDA compile features - done
-- CUDA_VERSION_MAJOR: 11
-- CUDA_VERSION_MINOR: 1
-- CUDA_VERSION: 11.1
GPU_ARCHS = 60;70;75;80
-- Using CUDA: /usr/local/cuda/include : /usr/local/cuda/lib64/stubs/libcuda.so
-- Using CUDART: /usr/local/cuda/lib64/libcudart.so
-- Finding CUDF
-- Using CONDA_PREFIX: /home/yujinkim/miniconda3/envs/cudf_dev
-- Using CUDF: /home/yujinkim/miniconda3/envs/cudf_dev/include : /home/yujinkim/miniconda3/envs/cudf_dev/lib/libcudf.so;/home/yujinkim/miniconda3/envs/cudf_dev/lib/libcudf_ast.so;/home/yujinkim/miniconda3/envs/cudf_dev/lib/libcudf_base.so;/home/yujinkim/miniconda3/envs/cudf_dev/lib/libcudf_comms.so;/home/yujinkim/miniconda3/envs/cudf_dev/lib/libcudf_hash.so;/home/yujinkim/miniconda3/envs/cudf_dev/lib/libcudf_interop.so;/home/yujinkim/miniconda3/envs/cudf_dev/lib/libcudf_io.so;/home/yujinkim/miniconda3/envs/cudf_dev/lib/libcudf_join.so;/home/yujinkim/miniconda3/envs/cudf_dev/lib/libcudf_merge.so;/home/yujinkim/miniconda3/envs/cudf_dev/lib/libcudf_partitioning.so;/home/yujinkim/miniconda3/envs/cudf_dev/lib/libcudf_reductions.so;/home/yujinkim/miniconda3/envs/cudf_dev/lib/libcudf_replace.so;/home/yujinkim/miniconda3/envs/cudf_dev/lib/libcudf_reshape.so;/home/yujinkim/miniconda3/envs/cudf_dev/lib/libcudf_rolling.so;/home/yujinkim/miniconda3/envs/cudf_dev/lib/libcudf_transpose.so
-- Using LIBCUDACXX: CUDF_LIBCUDACXX_INCLUDE_DIR-NOTFOUND
-- GTEST: Enabling the GLIBCXX11 ABI
...
[100%] Built target GoogleTest
-- GoogleTest installed here: /home/yujinkim/cura/build/googletest/install
-- Google C++ Testing Framework (Google Test) found in /home/yujinkim/cura/build/googletest
-- CURA_TEST_LIST set to: EXECUTION_TEST;EXPLAIN_TEST;EXPRESSION_TEST;KERNEL_TEST;PARSER_TEST
-- Configuring done
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
/home/yujinkim/cura/CUDF_LIBCUDACXX_INCLUDE_DIR
   used as include directory in directory /home/yujinkim/cura

CMake Warning (dev) in CMakeLists.txt:
  Policy CMP0104 is not set: CMAKE_CUDA_ARCHITECTURES now detected for NVCC,
  empty CUDA_ARCHITECTURES not allowed.  Run "cmake --help-policy CMP0104"
  for policy details.  Use the cmake_policy command to set the policy and
  suppress this warning.

  CUDA_ARCHITECTURES is empty for target "cura".
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Generating done
CMake Generate step failed.  Build files cannot be regenerated correctly.

My CMake is 3.18.5.

If it is the later case, I think libcudacxx is installed during cudf conda env initialization. Have you tried updating the conda env after you switching to cudf 0.18?

I did exit my shell, logged in again, and reactivated the environment.

If it is the later case, I think libcudacxx is installed during cudf conda env initialization. Have you tried updating the conda env after you switching to cudf 0.18?

I did exit my shell, logged in again, and reactivated the environment.

Could you list the path of libcudacxx and anything that may indicate its version?
Updating conda env requires a command like conda env update .... Have you done that?

...

Could you list the path of libcudacxx and anything that may indicate its version?

It's located in /miniconda3/envs/cudf_dev/include/libcudf/libcudacxx/cuda (most in its std/ folder) but I am not sure how to retrieve its version.

Updating conda env requires a command like conda env update .... Have you done that?

I don't know if I'm doing this the right way since I couldn't find an instruction to do this in cudf/CONTRIBUTING.md.
(cudf_dev) yujinkim@istanbul:~/cudf/conda/environments$ conda env update -f cudf_dev_cuda10.1.yml
Collecting package metadata (repodata.json): done
Solving environment: done

==> WARNING: A newer version of conda exists. <==
  current version: 4.9.2
  latest version: 4.10.1

Please update conda by running

    $ conda update -n base -c defaults conda

Installing pip dependencies: \ Ran pip subprocess with arguments:
['/home/yujinkim/miniconda3/envs/cudf_dev/bin/python', '-m', 'pip', 'install', '-U', '-r', '/home/yujinkim/cudf/conda/environments/condaenv._ud6i1j8.requirements.txt']
Pip subprocess output:
Collecting git+https://github.com/dask/dask.git@main (from -r /home/yujinkim/cudf/conda/environments/condaenv._ud6i1j8.requirements.txt (line 1))
  Cloning https://github.com/dask/dask.git (to revision main) to /tmp/pip-req-build-e4mdmgbq
Collecting git+https://github.com/dask/distributed.git@main (from -r /home/yujinkim/cudf/conda/environments/condaenv._ud6i1j8.requirements.txt (line 2))
  Cloning https://github.com/dask/distributed.git (to revision main) to /tmp/pip-req-build-5kgbk9cn
Collecting git+https://github.com/python-streamz/streamz.git (from -r /home/yujinkim/cudf/conda/environments/condaenv._ud6i1j8.requirements.txt (line 3))
  Cloning https://github.com/python-streamz/streamz.git to /tmp/pip-req-build-bkbno9zj
Requirement already satisfied: pyorc in /home/yujinkim/miniconda3/envs/cudf_dev/lib/python3.7/site-packages (from -r /home/yujinkim/cudf/conda/environments/condaenv._ud6i1j8.requirements.txt (line 4)) (0.4.0)
Requirement already satisfied: pyyaml in /home/yujinkim/miniconda3/envs/cudf_dev/lib/python3.7/site-packages (from dask==2021.6.1+1.g8aea537d->-r /home/yujinkim/cudf/conda/environments/condaenv._ud6i1j8.requirements.txt (line 1)) (5.4.1)
Requirement already satisfied: cloudpickle>=1.1.1 in /home/yujinkim/miniconda3/envs/cudf_dev/lib/python3.7/site-packages (from dask==2021.6.1+1.g8aea537d->-r /home/yujinkim/cudf/conda/environments/condaenv._ud6i1j8.requirements.txt (line 1)) (1.6.0)
Requirement already satisfied: fsspec>=0.6.0 in /home/yujinkim/miniconda3/envs/cudf_dev/lib/python3.7/site-packages (from dask==2021.6.1+1.g8aea537d->-r /home/yujinkim/cudf/conda/environments/condaenv._ud6i1j8.requirements.txt (line 1)) (2021.6.0)
Requirement already satisfied: toolz>=0.8.2 in /home/yujinkim/miniconda3/envs/cudf_dev/lib/python3.7/site-packages (from dask==2021.6.1+1.g8aea537d->-r /home/yujinkim/cudf/conda/environments/condaenv._ud6i1j8.requirements.txt (line 1)) (0.11.1)
Requirement already satisfied: partd>=0.3.10 in /home/yujinkim/miniconda3/envs/cudf_dev/lib/python3.7/site-packages (from dask==2021.6.1+1.g8aea537d->-r /home/yujinkim/cudf/conda/environments/condaenv._ud6i1j8.requirements.txt (line 1)) (1.2.0)
Requirement already satisfied: click>=6.6 in /home/yujinkim/miniconda3/envs/cudf_dev/lib/python3.7/site-packages (from distributed==2021.6.1+1.gd9bc3c63->-r /home/yujinkim/cudf/conda/environments/condaenv._ud6i1j8.requirements.txt (line 2)) (8.0.1)
Requirement already satisfied: msgpack>=0.6.0 in /home/yujinkim/miniconda3/envs/cudf_dev/lib/python3.7/site-packages (from distributed==2021.6.1+1.gd9bc3c63->-r /home/yujinkim/cudf/conda/environments/condaenv._ud6i1j8.requirements.txt (line 2)) (1.0.2)
Requirement already satisfied: psutil>=5.0 in /home/yujinkim/miniconda3/envs/cudf_dev/lib/python3.7/site-packages (from distributed==2021.6.1+1.gd9bc3c63->-r /home/yujinkim/cudf/conda/environments/condaenv._ud6i1j8.requirements.txt (line 2)) (5.8.0)
Requirement already satisfied: sortedcontainers!=2.0.0,!=2.0.1 in /home/yujinkim/miniconda3/envs/cudf_dev/lib/python3.7/site-packages (from distributed==2021.6.1+1.gd9bc3c63->-r /home/yujinkim/cudf/conda/environments/condaenv._ud6i1j8.requirements.txt (line 2)) (2.4.0)
Requirement already satisfied: tblib>=1.6.0 in /home/yujinkim/miniconda3/envs/cudf_dev/lib/python3.7/site-packages (from distributed==2021.6.1+1.gd9bc3c63->-r /home/yujinkim/cudf/conda/environments/condaenv._ud6i1j8.requirements.txt (line 2)) (1.7.0)
Requirement already satisfied: zict>=0.1.3 in /home/yujinkim/miniconda3/envs/cudf_dev/lib/python3.7/site-packages (from distributed==2021.6.1+1.gd9bc3c63->-r /home/yujinkim/cudf/conda/environments/condaenv._ud6i1j8.requirements.txt (line 2)) (2.0.0)
Requirement already satisfied: setuptools in /home/yujinkim/miniconda3/envs/cudf_dev/lib/python3.7/site-packages (from distributed==2021.6.1+1.gd9bc3c63->-r /home/yujinkim/cudf/conda/environments/condaenv._ud6i1j8.requirements.txt (line 2)) (49.6.0.post20210108)
Requirement already satisfied: tornado>=5 in /home/yujinkim/miniconda3/envs/cudf_dev/lib/python3.7/site-packages (from distributed==2021.6.1+1.gd9bc3c63->-r /home/yujinkim/cudf/conda/environments/condaenv._ud6i1j8.requirements.txt (line 2)) (6.1)
Requirement already satisfied: six in /home/yujinkim/miniconda3/envs/cudf_dev/lib/python3.7/site-packages (from streamz==0.6.2->-r /home/yujinkim/cudf/conda/environments/condaenv._ud6i1j8.requirements.txt (line 3)) (1.16.0)
Requirement already satisfied: importlib-metadata in /home/yujinkim/miniconda3/envs/cudf_dev/lib/python3.7/site-packages (from click>=6.6->distributed==2021.6.1+1.gd9bc3c63->-r /home/yujinkim/cudf/conda/environments/condaenv._ud6i1j8.requirements.txt (line 2)) (4.5.0)
Requirement already satisfied: locket in /home/yujinkim/miniconda3/envs/cudf_dev/lib/python3.7/site-packages (from partd>=0.3.10->dask==2021.6.1+1.g8aea537d->-r /home/yujinkim/cudf/conda/environments/condaenv._ud6i1j8.requirements.txt (line 1)) (0.2.0)
Requirement already satisfied: heapdict in /home/yujinkim/miniconda3/envs/cudf_dev/lib/python3.7/site-packages (from zict>=0.1.3->distributed==2021.6.1+1.gd9bc3c63->-r /home/yujinkim/cudf/conda/environments/condaenv._ud6i1j8.requirements.txt (line 2)) (1.0.1)
Requirement already satisfied: typing-extensions>=3.6.4 in /home/yujinkim/miniconda3/envs/cudf_dev/lib/python3.7/site-packages (from importlib-metadata->click>=6.6->distributed==2021.6.1+1.gd9bc3c63->-r /home/yujinkim/cudf/conda/environments/condaenv._ud6i1j8.requirements.txt (line 2)) (<IP_ADDRESS>)
Requirement already satisfied: zipp>=0.5 in /home/yujinkim/miniconda3/envs/cudf_dev/lib/python3.7/site-packages (from importlib-metadata->click>=6.6->distributed==2021.6.1+1.gd9bc3c63->-r /home/yujinkim/cudf/conda/environments/condaenv._ud6i1j8.requirements.txt (line 2)) (3.4.1)

done
#
# To activate this environment, use
#
#     $ conda activate cudf_dev
#
# To deactivate an active environment, use
#
#     $ conda deactivate

I don't think there was any change.

I've found that libcudacxx is part of the CUDA Toolkit. I see that a CUDA Toolkit is installed in my Conda environment:
(cudf_dev) yujinkim@istanbul:~/miniconda3/envs/cudf_dev/include$ conda list | grep cuda
...
cudatoolkit               10.1.243             h036e899_8    nvidia
...

Could you paste the actual path of file chrono under your libcudacxx directory?
We may hit some unexpected condition here. As a quick fix, you can try replace the actual relative path of file chrono in line https://github.com/zanmato1984/cura/blob/d894d4cd6275d402b4c90cda52f58b6598b4268e/cmake/find/cudf.cmake#L153 .

The chrono file is located in ~/miniconda3/envs/cudf_dev/include/libcudf/libcudacxx/cuda/std/.
I'll try to change the relative path and, if needed, also change the "name" to cuda/chrono or std/chrono.

OK, now I'm in the make stage, and I have many errors in the standard library like this:
(cudf_dev) yujinkim@istanbul:~/cura/build$ make
[  1%] Building CXX object CMakeFiles/cura.dir/src/c/api.cpp.o
In file included from /usr/local/cuda/include/cuda_runtime_api.h:144,
                 from /home/yujinkim/miniconda3/envs/cudf_dev/include/rmm/detail/error.hpp:21,
                 from /home/yujinkim/miniconda3/envs/cudf_dev/include/rmm/cuda_stream_view.hpp:19,
                 from /home/yujinkim/miniconda3/envs/cudf_dev/include/rmm/device_buffer.hpp:18,
                 from /home/yujinkim/miniconda3/envs/cudf_dev/include/cudf/null_mask.hpp:20,
                 from /home/yujinkim/miniconda3/envs/cudf_dev/include/cudf/column/column.hpp:20,
                 from /home/yujinkim/miniconda3/envs/cudf_dev/include/cudf/table/table.hpp:18,
                 from /home/yujinkim/cura/include/cura/data/fragment.h:8,
                 from /home/yujinkim/cura/src/c/api.cpp:4:
/usr/local/cuda/include/crt/host_defines.h:86: error: "__forceinline__" redefined [-Werror]
   86 | #define __forceinline__ \
      |
In file included from /home/yujinkim/miniconda3/envs/cudf_dev/include/libcudf/libcudacxx/cuda/std/version:13,
                 from /home/yujinkim/miniconda3/envs/cudf_dev/include/libcudf/libcudacxx/cuda/std/cstddef:20,
                 from /home/yujinkim/miniconda3/envs/cudf_dev/include/libcudf/libcudacxx/cuda/std/type_traits:17,
                 from /usr/include/c++/9/bits/move.h:55,
                 from /usr/include/c++/9/bits/nested_exception.h:40,
                 from /usr/include/c++/9/exception:144,
                 from /usr/include/c++/9/stdexcept:38,
                 from /home/yujinkim/cura/include/cura/common/errors.h:3,
                 from /home/yujinkim/cura/src/c/api.cpp:2:
/home/yujinkim/miniconda3/envs/cudf_dev/include/libcudf/libcudacxx/cuda/std/detail/__config:30: note: this is the location of the previous definition
   30 |         #define __forceinline__
      |
In file included from /usr/include/c++/9/bits/nested_exception.h:40,
                 from /usr/include/c++/9/exception:144,
                 from /usr/include/c++/9/stdexcept:38,
                 from /home/yujinkim/cura/include/cura/common/errors.h:3,
                 from /home/yujinkim/cura/src/c/api.cpp:2:
/usr/include/c++/9/bits/move.h:74:27: error: ‘remove_reference’ in namespace ‘std’ does not name a template type
   74 |     forward(typename std::remove_reference<_Tp>::type& __t) noexcept
      |                           ^~~~~~~~~~~~~~~~
/usr/include/c++/9/bits/move.h:74:43: error: expected ‘,’ or ‘...’ before ‘<’ token
   74 |     forward(typename std::remove_reference<_Tp>::type& __t) noexcept
      |                                           ^
/usr/include/c++/9/bits/move.h: In function ‘constexpr _Tp&& std::forward(int)’:
/usr/include/c++/9/bits/move.h:75:33: error: ‘__t’ was not declared in this scope; did you mean ‘__1’?
   75 |     { return static_cast<_Tp&&>(__t); }
      |                                 ^~~
      |                                 __1
/usr/include/c++/9/bits/move.h: At global scope:
/usr/include/c++/9/bits/move.h:85:27: error: ‘remove_reference’ in namespace ‘std’ does not name a template type
   85 |     forward(typename std::remove_reference<_Tp>::type&& __t) noexcept
      |                           ^~~~~~~~~~~~~~~~
/usr/include/c++/9/bits/move.h:85:43: error: expected ‘,’ or ‘...’ before ‘<’ token
   85 |     forward(typename std::remove_reference<_Tp>::type&& __t) noexcept
      |                                           ^
/usr/include/c++/9/bits/move.h:85:5: error: redefinition of ‘template<class _Tp> constexpr _Tp&& std::forward(int)’
   85 |     forward(typename std::remove_reference<_Tp>::type&& __t) noexcept
      |     ^~~~~~~
/usr/include/c++/9/bits/move.h:74:5: note: ‘template<class _Tp> constexpr _Tp&& std::forward(int)’ previously declared here
   74 |     forward(typename std::remove_reference<_Tp>::type& __t) noexcept
      |     ^~~~~~~
/usr/include/c++/9/bits/move.h:98:29: error: ‘remove_reference’ in namespace ‘std’ does not name a template type
   98 |     constexpr typename std::remove_reference<_Tp>::type&&
      |                             ^~~~~~~~~~~~~~~~
/usr/include/c++/9/bits/move.h:98:45: error: expected unqualified-id before ‘<’ token
   98 |     constexpr typename std::remove_reference<_Tp>::type&&
      |                                             ^
/usr/include/c++/9/bits/move.h:105:20: error: expected template-name before ‘<’ token
  105 |     : public __and_<__not_<is_nothrow_move_constructible<_Tp>>,
      |                    ^
/usr/include/c++/9/bits/move.h:105:20: error: expected ‘{’ before ‘<’ token
/usr/include/c++/9/bits/move.h:118:5: error: expected nested-name-specifier before ‘conditional’
  118 |     conditional<__move_if_noexcept_cond<_Tp>::value, const _Tp&, _Tp&&>::type
      |     ^~~~~~~~~~~
/usr/include/c++/9/bits/move.h:118:16: error: expected initializer before ‘<’ token
  118 |     conditional<__move_if_noexcept_cond<_Tp>::value, const _Tp&, _Tp&&>::type
      |                ^
/usr/include/c++/9/bits/move.h: In function ‘_Tp std::__exchange(_Tp&, _Up&&)’:
/usr/include/c++/9/bits/move.h:151:28: error: ‘move’ is not a member of ‘std’
  151 |       _Tp __old_val = std::move(__obj);
      |                            ^~~~
/usr/include/c++/9/bits/move.h:56:1: note: ‘std::move’ is defined in header ‘<utility>’; did you forget to ‘#include <utility>’?
   55 | #include <type_traits> // Brings in std::declval too.
  +++ |+#include <utility>
   56 |
/usr/include/c++/9/bits/move.h: At global scope:
/usr/include/c++/9/bits/move.h:179:14: error: expected nested-name-specifier before ‘enable_if’
  179 |     typename enable_if<__and_<__not_<__is_tuple_like<_Tp>>,
      |              ^~~~~~~~~
/usr/include/c++/9/bits/move.h:179:23: error: expected initializer before ‘<’ token
  179 |     typename enable_if<__and_<__not_<__is_tuple_like<_Tp>>,
      |                       ^
...
^Cmake[2]: *** [CMakeFiles/cura.dir/build.make:82: CMakeFiles/cura.dir/src/c/api.cpp.o] Interrupt
make[1]: *** [CMakeFiles/Makefile2:396: CMakeFiles/cura.dir/all] Interrupt
make: *** [Makefile:114: all] Interrupt

I think I have something misconfigured.

This error seems unfamiliar to me. As you mentioned it might be some fundamental configuration issue. One thing you can look at is if the compiler to build cura is the same as the one you built cudf. As far as I recall there are some limitation of GCC version when compiling cuda projects.

By looking at the information you supplied before, I found something suspicious:
Your local installation of CUDA is 11.1:
-- The CUDA compiler identification is NVIDIA 11.1.74
-- Detecting CUDA compiler ABI info
-- Detecting CUDA compiler ABI info - done
-- Check for working CUDA compiler: /usr/local/cuda/bin/nvcc - skipped

However you were using a conda env targeting CUDA 10.1:
(cudf_dev) yujinkim@istanbul:~/cudf/conda/environments$ conda env update -f cudf_dev_cuda10.1.yml

It might not be the reason of the error, but it worth a shot to try updating conda env to 11.0 (yes, cudf 0.18 doesn't have a 11.1 conda env but 11.0 would do too).

I'm suspecting the same thing. Unfortunately, I am not the owner of the computer I'm using, and my colleagues are using CUDA 10.1 toolkits so I need to use the same working versions. However, I also got ahold of my own computer with an NVIDIA GPU, so I will try that setup there with the matching versions of CUDA installation/tookits. Thanks for the extended support and I'll get back to you tomorrow (Pacific Time).

OK, hope things go well on your own machine. Come back anytime.

I've set up my own computer (Windows and WSL2 Ubuntu 20.04) which does recognize and run CUDA on my GPU from the Linux side.
So far I was able to configure the build like so:
(rapids-0.18) $ pwd
/home/yujinkim/cura/build
(rapids-0.18) $ CC=clang CXX=clang++ cmake .. -DENABLE_CUDF=1
-- The C compiler identification is Clang 10.0.0
-- The CXX compiler identification is Clang 10.0.0
-- Check for working C compiler: /usr/bin/clang
-- Check for working C compiler: /usr/bin/clang -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/clang++
-- Check for working CXX compiler: /usr/bin/clang++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Building CURA targeting GPU
-- Finding RAPIDJSON
-- RapidJSON found. Headers: /home/yujinkim/vcpkg/packages/rapidjson_x64-linux/share/rapidjson/../../include
-- Finding ARROW
-- Using CONDA_PREFIX: /home/yujinkim/miniconda3/envs/rapids-0.18
-- Using ARROW: /home/yujinkim/miniconda3/envs/rapids-0.18/include : /home/yujinkim/miniconda3/envs/rapids-0.18/lib/libarrow.so
-- Finding CUDA
-- The CUDA compiler identification is NVIDIA 11.0.221
-- Check for working CUDA compiler: /usr/local/cuda-11.0/bin/nvcc
-- Check for working CUDA compiler: /usr/local/cuda-11.0/bin/nvcc -- works
-- Detecting CUDA compiler ABI info
-- Detecting CUDA compiler ABI info - done
-- CUDA_VERSION_MAJOR: 11
-- CUDA_VERSION_MINOR: 0
-- CUDA_VERSION: 11.0
GPU_ARCHS = 60;70;75;80
-- Using CUDA: /usr/local/cuda/include : /usr/local/cuda/lib64/stubs/libcuda.so
-- Using CUDART: /usr/local/cuda/lib64/libcudart.so
-- Finding CUDF
-- Using CONDA_PREFIX: /home/yujinkim/miniconda3/envs/rapids-0.18
-- Using CUDF: /home/yujinkim/miniconda3/envs/rapids-0.18/include : /home/yujinkim/miniconda3/envs/rapids-0.18/lib/libcudf.so;/home/yujinkim/miniconda3/envs/rapids-0.18/lib/libcudf_ast.so;/home/yujinkim/miniconda3/envs/rapids-0.18/lib/libcudf_base.so;/home/yujinkim/miniconda3/envs/rapids-0.18/lib/libcudf_comms.so;/home/yujinkim/miniconda3/envs/rapids-0.18/lib/libcudf_hash.so;/home/yujinkim/miniconda3/envs/rapids-0.18/lib/libcudf_interop.so;/home/yujinkim/miniconda3/envs/rapids-0.18/lib/libcudf_io.so;/home/yujinkim/miniconda3/envs/rapids-0.18/lib/libcudf_join.so;/home/yujinkim/miniconda3/envs/rapids-0.18/lib/libcudf_merge.so;/home/yujinkim/miniconda3/envs/rapids-0.18/lib/libcudf_partitioning.so;/home/yujinkim/miniconda3/envs/rapids-0.18/lib/libcudf_reductions.so;/home/yujinkim/miniconda3/envs/rapids-0.18/lib/libcudf_replace.so;/home/yujinkim/miniconda3/envs/rapids-0.18/lib/libcudf_reshape.so;/home/yujinkim/miniconda3/envs/rapids-0.18/lib/libcudf_rolling.so;/home/yujinkim/miniconda3/envs/rapids-0.18/lib/libcudf_transpose.so
-- Using LIBCUDACXX: /home/yujinkim/miniconda3/envs/rapids-0.18/include/libcudf/libcudacxx/cuda
-- GTEST: Disabling the GLIBCXX11 ABI
-- The C compiler identification is Clang 10.0.0
-- The CXX compiler identification is Clang 10.0.0
-- Check for working C compiler: /usr/bin/clang
-- Check for working C compiler: /usr/bin/clang -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/clang++
-- Check for working CXX compiler: /usr/bin/clang++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: /home/yujinkim/cura/build/googletest
-- GTEST BUILD: Enabling Parallel CMake build with all threads
...
[100%] Completed 'GoogleTest'
[100%] Built target GoogleTest
-- GoogleTest installed here: /home/yujinkim/cura/build/googletest/install
-- Google C++ Testing Framework (Google Test) found in /home/yujinkim/cura/build/googletest
-- CURA_TEST_LIST set to: EXECUTION_TEST;EXPLAIN_TEST;EXPRESSION_TEST;KERNEL_TEST;PARSER_TEST
-- Configuring done
-- Generating done
-- Build files have been written to: /home/yujinkim/cura/build
(rapids-0.18) $

In summary, I'm using

Clang 10.0,
CUDA 10.1, and
cuDF 0.18.

Now in the build stage, I'm getting an error but it's something different. See:
(rapids-0.18) $ make
Scanning dependencies of target cura
[  1%] Building CXX object CMakeFiles/cura.dir/src/c/api.cpp.o
In file included from /home/yujinkim/cura/src/c/api.cpp:4:
In file included from /home/yujinkim/cura/include/cura/data/fragment.h:3:
In file included from /home/yujinkim/cura/include/cura/expression/expressions.h:4:
In file included from /home/yujinkim/cura/include/cura/data/column.h:3:
In file included from /home/yujinkim/cura/include/cura/type/data_type.h:5:
In file included from /home/yujinkim/miniconda3/envs/rapids-0.18/include/arrow/api.h:22:
In file included from /home/yujinkim/miniconda3/envs/rapids-0.18/include/arrow/array.h:25:
In file included from /home/yujinkim/miniconda3/envs/rapids-0.18/include/arrow/array/array_base.h:26:
/home/yujinkim/miniconda3/envs/rapids-0.18/include/arrow/array/data.h:236:32: error: implicit instantiation of undefined template 'std::atomic<long>'
  mutable std::atomic<int64_t> null_count;
                               ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/atomic_base.h:145:12: note: template is declared here
    struct atomic;
           ^
In file included from /home/yujinkim/cura/src/c/api.cpp:4:
In file included from /home/yujinkim/cura/include/cura/data/fragment.h:3:
In file included from /home/yujinkim/cura/include/cura/expression/expressions.h:4:
In file included from /home/yujinkim/cura/include/cura/data/column.h:3:
In file included from /home/yujinkim/cura/include/cura/type/data_type.h:5:
In file included from /home/yujinkim/miniconda3/envs/rapids-0.18/include/arrow/api.h:22:
In file included from /home/yujinkim/miniconda3/envs/rapids-0.18/include/arrow/array.h:25:
In file included from /home/yujinkim/miniconda3/envs/rapids-0.18/include/arrow/array/array_base.h:31:
/home/yujinkim/miniconda3/envs/rapids-0.18/include/arrow/type.h:68:37: error: implicit instantiation of undefined template 'std::atomic<std::__cxx11::basic_string<char> *>'
  mutable std::atomic<std::string*> fingerprint_;
                                    ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/atomic_base.h:148:12: note: template is declared here
    struct atomic<_Tp*>;
           ^
In file included from /home/yujinkim/cura/src/c/api.cpp:4:
In file included from /home/yujinkim/cura/include/cura/data/fragment.h:3:
In file included from /home/yujinkim/cura/include/cura/expression/expressions.h:4:
In file included from /home/yujinkim/cura/include/cura/data/column.h:3:
In file included from /home/yujinkim/cura/include/cura/type/data_type.h:5:
In file included from /home/yujinkim/miniconda3/envs/rapids-0.18/include/arrow/api.h:22:
In file included from /home/yujinkim/miniconda3/envs/rapids-0.18/include/arrow/array.h:25:
In file included from /home/yujinkim/miniconda3/envs/rapids-0.18/include/arrow/array/array_base.h:31:
/home/yujinkim/miniconda3/envs/rapids-0.18/include/arrow/type.h:69:37: error: implicit instantiation of undefined template 'std::atomic<std::__cxx11::basic_string<char> *>'
  mutable std::atomic<std::string*> metadata_fingerprint_;
                                    ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/atomic_base.h:148:12: note: template is declared here
    struct atomic<_Tp*>;
           ^
In file included from /home/yujinkim/cura/src/c/api.cpp:4:
In file included from /home/yujinkim/cura/include/cura/data/fragment.h:3:
In file included from /home/yujinkim/cura/include/cura/expression/expressions.h:4:
In file included from /home/yujinkim/cura/include/cura/data/column.h:3:
In file included from /home/yujinkim/cura/include/cura/type/data_type.h:5:
In file included from /home/yujinkim/miniconda3/envs/rapids-0.18/include/arrow/api.h:22:
In file included from /home/yujinkim/miniconda3/envs/rapids-0.18/include/arrow/array.h:25:
In file included from /home/yujinkim/miniconda3/envs/rapids-0.18/include/arrow/array/array_base.h:31:
/home/yujinkim/miniconda3/envs/rapids-0.18/include/arrow/type.h:415:25: error: only virtual member functions can be marked 'final'
  int bit_width() const final { return 1; }
                        ^~~~~~
/home/yujinkim/miniconda3/envs/rapids-0.18/include/arrow/type.h:417:33: error: only virtual member functions can be marked 'override'
  DataTypeLayout layout() const override {
                                ^~~~~~~~~
/home/yujinkim/miniconda3/envs/rapids-0.18/include/arrow/type.h:422:42: error: only virtual member functions can be marked 'override'
  std::string ComputeFingerprint() const override;
                                         ^~~~~~~~
/home/yujinkim/miniconda3/envs/rapids-0.18/include/arrow/type.h:382:26: error: only virtual member functions can be marked 'override'
  bool is_signed() const override { return std::is_signed<C_TYPE>::value; }
                         ^~~~~~~~~
/home/yujinkim/miniconda3/envs/rapids-0.18/include/arrow/type.h:427:14: note: in instantiation of template class 'arrow::detail::IntegerTypeImpl<arrow::UInt8Type, arrow::Type::UINT8, unsigned char>' requested here
    : public detail::IntegerTypeImpl<UInt8Type, Type::UINT8, uint8_t> {
             ^
/home/yujinkim/miniconda3/envs/rapids-0.18/include/arrow/type.h:432:42: error: only virtual member functions can be marked 'override'
  std::string ComputeFingerprint() const override;
                                         ^~~~~~~~
/home/yujinkim/miniconda3/envs/rapids-0.18/include/arrow/type.h:382:26: error: only virtual member functions can be marked 'override'
  bool is_signed() const override { return std::is_signed<C_TYPE>::value; }
                         ^~~~~~~~~
/home/yujinkim/miniconda3/envs/rapids-0.18/include/arrow/type.h:437:14: note: in instantiation of template class 'arrow::detail::IntegerTypeImpl<arrow::Int8Type, arrow::Type::INT8, signed char>' requested here
    : public detail::IntegerTypeImpl<Int8Type, Type::INT8, int8_t> {
             ^
/home/yujinkim/miniconda3/envs/rapids-0.18/include/arrow/type.h:442:42: error: only virtual member functions can be marked 'override'
  std::string ComputeFingerprint() const override;
                                         ^~~~~~~~
/home/yujinkim/miniconda3/envs/rapids-0.18/include/arrow/type.h:382:26: error: only virtual member functions can be marked 'override'
  bool is_signed() const override { return std::is_signed<C_TYPE>::value; }
                         ^~~~~~~~~
/home/yujinkim/miniconda3/envs/rapids-0.18/include/arrow/type.h:447:14: note: in instantiation of template class 'arrow::detail::IntegerTypeImpl<arrow::UInt16Type, arrow::Type::UINT16, unsigned short>' requested here
    : public detail::IntegerTypeImpl<UInt16Type, Type::UINT16, uint16_t> {
             ^
/home/yujinkim/miniconda3/envs/rapids-0.18/include/arrow/type.h:452:42: error: only virtual member functions can be marked 'override'
  std::string ComputeFingerprint() const override;
                                         ^~~~~~~~
/home/yujinkim/miniconda3/envs/rapids-0.18/include/arrow/type.h:382:26: error: only virtual member functions can be marked 'override'
  bool is_signed() const override { return std::is_signed<C_TYPE>::value; }
                         ^~~~~~~~~
/home/yujinkim/miniconda3/envs/rapids-0.18/include/arrow/type.h:457:14: note: in instantiation of template class 'arrow::detail::IntegerTypeImpl<arrow::Int16Type, arrow::Type::INT16, short>' requested here
    : public detail::IntegerTypeImpl<Int16Type, Type::INT16, int16_t> {
             ^
/home/yujinkim/miniconda3/envs/rapids-0.18/include/arrow/type.h:462:42: error: only virtual member functions can be marked 'override'
  std::string ComputeFingerprint() const override;
                                         ^~~~~~~~
/home/yujinkim/miniconda3/envs/rapids-0.18/include/arrow/type.h:382:26: error: only virtual member functions can be marked 'override'
  bool is_signed() const override { return std::is_signed<C_TYPE>::value; }
                         ^~~~~~~~~
/home/yujinkim/miniconda3/envs/rapids-0.18/include/arrow/type.h:467:14: note: in instantiation of template class 'arrow::detail::IntegerTypeImpl<arrow::UInt32Type, arrow::Type::UINT32, unsigned int>' requested here
    : public detail::IntegerTypeImpl<UInt32Type, Type::UINT32, uint32_t> {
             ^
/home/yujinkim/miniconda3/envs/rapids-0.18/include/arrow/type.h:472:42: error: only virtual member functions can be marked 'override'
  std::string ComputeFingerprint() const override;
                                         ^~~~~~~~
/home/yujinkim/miniconda3/envs/rapids-0.18/include/arrow/type.h:382:26: error: only virtual member functions can be marked 'override'
  bool is_signed() const override { return std::is_signed<C_TYPE>::value; }
                         ^~~~~~~~~
/home/yujinkim/miniconda3/envs/rapids-0.18/include/arrow/type.h:477:14: note: in instantiation of template class 'arrow::detail::IntegerTypeImpl<arrow::Int32Type, arrow::Type::INT32, int>' requested here
    : public detail::IntegerTypeImpl<Int32Type, Type::INT32, int32_t> {
             ^
/home/yujinkim/miniconda3/envs/rapids-0.18/include/arrow/type.h:482:42: error: only virtual member functions can be marked 'override'
  std::string ComputeFingerprint() const override;
                                         ^~~~~~~~
/home/yujinkim/miniconda3/envs/rapids-0.18/include/arrow/type.h:382:26: error: only virtual member functions can be marked 'override'
  bool is_signed() const override { return std::is_signed<C_TYPE>::value; }
                         ^~~~~~~~~
/home/yujinkim/miniconda3/envs/rapids-0.18/include/arrow/type.h:487:14: note: in instantiation of template class 'arrow::detail::IntegerTypeImpl<arrow::UInt64Type, arrow::Type::UINT64, unsigned long>' requested here
    : public detail::IntegerTypeImpl<UInt64Type, Type::UINT64, uint64_t> {
             ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make[2]: *** [CMakeFiles/cura.dir/build.make:63: CMakeFiles/cura.dir/src/c/api.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:674: CMakeFiles/cura.dir/all] Error 2
make: *** [Makefile:95: all] Error 2
(rapids-0.18) $

The reporting is that there is a problem with Arrow.
I built the same package with GCC/G++ 9.3.0 as well. Now my error looks like this:
Scanning dependencies of target cura
[  1%] Building CXX object CMakeFiles/cura.dir/src/c/api.cpp.o
In file included from /usr/local/cuda/include/cuda_runtime_api.h:138,
                 from /home/yujinkim/miniconda3/envs/rapids-0.18/include/rmm/detail/error.hpp:21,
                 from /home/yujinkim/miniconda3/envs/rapids-0.18/include/rmm/cuda_stream_view.hpp:19,
                 from /home/yujinkim/miniconda3/envs/rapids-0.18/include/rmm/device_buffer.hpp:18,
                 from /home/yujinkim/miniconda3/envs/rapids-0.18/include/cudf/null_mask.hpp:20,
                 from /home/yujinkim/miniconda3/envs/rapids-0.18/include/cudf/column/column.hpp:20,
                 from /home/yujinkim/miniconda3/envs/rapids-0.18/include/cudf/table/table.hpp:18,
                 from /home/yujinkim/cura/include/cura/data/fragment.h:8,
                 from /home/yujinkim/cura/src/c/api.cpp:4:
/usr/local/cuda/include/crt/host_defines.h:86: error: "__forceinline__" redefined [-Werror]
   86 | #define __forceinline__ \
      |
In file included from /home/yujinkim/miniconda3/envs/rapids-0.18/include/libcudf/libcudacxx/cuda/std/version:13,
                 from /home/yujinkim/miniconda3/envs/rapids-0.18/include/libcudf/libcudacxx/cuda/std/cstddef:20,
                 from /home/yujinkim/miniconda3/envs/rapids-0.18/include/libcudf/libcudacxx/cuda/std/atomic:40,
                 from /home/yujinkim/miniconda3/envs/rapids-0.18/include/libcudf/libcudacxx/cuda/atomic:10,
                 from /home/yujinkim/miniconda3/envs/rapids-0.18/include/arrow/array/data.h:20,
                 from /home/yujinkim/miniconda3/envs/rapids-0.18/include/arrow/array/array_base.h:26,
                 from /home/yujinkim/miniconda3/envs/rapids-0.18/include/arrow/array.h:25,
                 from /home/yujinkim/miniconda3/envs/rapids-0.18/include/arrow/api.h:22,
                 from /home/yujinkim/cura/include/cura/type/data_type.h:5,
                 from /home/yujinkim/cura/include/cura/data/column.h:3,
                 from /home/yujinkim/cura/include/cura/expression/expressions.h:4,
                 from /home/yujinkim/cura/include/cura/data/fragment.h:3,
                 from /home/yujinkim/cura/src/c/api.cpp:4:
/home/yujinkim/miniconda3/envs/rapids-0.18/include/libcudf/libcudacxx/cuda/std/detail/__config:30: note: this is the location of the previous definition
   30 |         #define __forceinline__
      |
In file included from /home/yujinkim/miniconda3/envs/rapids-0.18/include/arrow/array/array_base.h:26,
                 from /home/yujinkim/miniconda3/envs/rapids-0.18/include/arrow/array.h:25,
                 from /home/yujinkim/miniconda3/envs/rapids-0.18/include/arrow/api.h:22,
                 from /home/yujinkim/cura/include/cura/type/data_type.h:5,
                 from /home/yujinkim/cura/include/cura/data/column.h:3,
                 from /home/yujinkim/cura/include/cura/expression/expressions.h:4,
                 from /home/yujinkim/cura/include/cura/data/fragment.h:3,
                 from /home/yujinkim/cura/src/c/api.cpp:4:
/home/yujinkim/miniconda3/envs/rapids-0.18/include/arrow/array/data.h:236:32: error: field ‘null_count’ has incomplete type ‘std::atomic<long int>’
  236 |   mutable std::atomic<int64_t> null_count;
...
^Cmake[2]: *** [CMakeFiles/cura.dir/build.make:63: CMakeFiles/cura.dir/src/c/api.cpp.o] Interrupt
make[1]: *** [CMakeFiles/Makefile2:674: CMakeFiles/cura.dir/all] Interrupt
make: *** [Makefile:95: all] Interrupt

(rapids-0.18) $

I think that ultimately the problem has something to do with the downloaded Arrow library (Clang is clearer here in the error messages).
Do you think if I messed with the CMake script that finds Arrow, that this problem may be solved?

I may need several inputs:

You mentioned you were using CUDA 10.1, but I saw CMake told it was actually 11.1.0.
Did you build your own cudf?
What compiler you were using to build your own cudf?
Could you try to build cura targeting CPU by setting ENABLE_CUDF=OFF? This would double check if your arrow is problematic.

One more thing. I may have mis-configured CUDA toolkit root directory in CMake.
You can try replacing /usr/local/cuda in this line
https://github.com/zanmato1984/cura/blob/d894d4cd6275d402b4c90cda52f58b6598b4268e/cmake/find/cudf.cmake#L108
with the one under your conda env directory, i.e. `/home/yujinkim/miniconda3/envs/rapids-0.18/.../cuda".
This should effectively make compiler see exactly the same cuda include/lib as you build cudf.

I may need several inputs:

You mentioned you were using CUDA 10.1, but I saw CMake told it was actually 11.0.
Did you build your own cudf?
What compiler you were using to build your own cudf?
Could you try to build cura targeting CPU by setting ENABLE_CUDF=OFF? This would double check if your arrow is problematic.

This is my own computer, so I wanted to use the right CUDA version. So, yes, I did use CUDA 11.0 (only for this computer).
No, it takes some time to build cuDF so I decided to use the one provided from Conda.
(N/A)
I am having an odd kind of error during the CMake configuration process (with Arrow):

(rapids-0.18) $ CC=clang CXX=clang++ cmake .. -DENABLE_CUDF=0
-- The C compiler identification is Clang 10.0.0
-- The CXX compiler identification is Clang 10.0.0
-- Check for working C compiler: /usr/bin/clang
-- Check for working C compiler: /usr/bin/clang -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/clang++
-- Check for working CXX compiler: /usr/bin/clang++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Warning at CMakeLists.txt:40 (message):
  Building CURA targeting CPU, this mode is only for purposes of demo and
  study on non-CUDA devices, thus some features may be unimplemented or
  definitely suboptimal

-- Finding RAPIDJSON
-- RapidJSON found. Headers: /home/yujinkim/vcpkg/packages/rapidjson_x64-linux/share/rapidjson/../../include
-- Building ARROW
-- The C compiler identification is Clang 10.0.0
-- The CXX compiler identification is Clang 10.0.0
-- Check for working C compiler: /usr/bin/clang
-- Check for working C compiler: /usr/bin/clang -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/clang++
-- Check for working CXX compiler: /usr/bin/clang++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: /home/yujinkim/cura/build/arrow
-- ARROW BUILD: Enabling Parallel CMake build with all threads
Scanning dependencies of target Arrow
[ 12%] Creating directories for 'Arrow'
[ 25%] Performing download step (git clone) for 'Arrow'
Cloning into 'arrow'...
Note: switching to 'apache-arrow-1.0.1'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at 886d87bde [maven-release-plugin] prepare release apache-arrow-1.0.1
Submodule 'cpp/submodules/parquet-testing' (https://github.com/apache/parquet-testing.git) registered for path 'cpp/submodules/parquet-testing'
Submodule 'testing' (https://github.com/apache/arrow-testing) registered for path 'testing'
Cloning into '/home/yujinkim/cura/build/arrow/arrow/cpp/submodules/parquet-testing'...
Cloning into '/home/yujinkim/cura/build/arrow/arrow/testing'...
Submodule path 'cpp/submodules/parquet-testing': checked out '46c9e977f58f6c5ef1b81f782f3746b3656e5a8c'
Submodule path 'testing': checked out '535369d600a58cbfe6d952777187561b4dacfcbd'
[ 37%] No patch step for 'Arrow'
[ 50%] Performing update step for 'Arrow'
[ 62%] Performing configure step for 'Arrow'
-- Building using CMake version: 3.16.3
CMake Error at CMakeLists.txt:65 (string):
  string no output variable specified

CMake Error at CMakeLists.txt:66 (string):
  string no output variable specified

-- The C compiler identification is Clang 10.0.0
-- The CXX compiler identification is Clang 10.0.0
-- Check for working C compiler: /usr/bin/clang
-- Check for working C compiler: /usr/bin/clang -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/clang++
-- Check for working CXX compiler: /usr/bin/clang++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Arrow version: 1.0.1 (full: '1.0.1')
-- Arrow SO version: 100 (full: 100.1.0)
-- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
-- clang-tidy not found
-- clang-format not found
-- Could NOT find ClangTools (missing: CLANG_FORMAT_BIN CLANG_TIDY_BIN)
-- infer not found
-- Found Python3: /home/yujinkim/miniconda3/envs/rapids-0.18/bin/python3.8 (found version "3.8.10") found components: Interpreter
-- Found cpplint executable at /home/yujinkim/cura/build/arrow/arrow/cpp/build-support/cpplint.py
-- System processor: x86_64
-- Performing Test CXX_SUPPORTS_SSE4_2
-- Performing Test CXX_SUPPORTS_SSE4_2 - Success
-- Performing Test CXX_SUPPORTS_AVX2
-- Performing Test CXX_SUPPORTS_AVX2 - Success
-- Performing Test CXX_SUPPORTS_AVX512
-- Performing Test CXX_SUPPORTS_AVX512 - Success
CMake Error at cmake_modules/SetupCxxFlags.cmake:101 (string):
  string no output variable specified
Call Stack (most recent call first):
  CMakeLists.txt:425 (include)

-- Arrow build warning level: CHECKIN
Using ld linker
Configured for  build (set with cmake -DCMAKE_BUILD_TYPE={release,debug,...})
CMake Error at cmake_modules/SetupCxxFlags.cmake:533 (message):
  Unknown build type:
Call Stack (most recent call first):
  CMakeLists.txt:425 (include)

-- Configuring incomplete, errors occurred!
See also "/home/yujinkim/cura/build/arrow/build/CMakeFiles/CMakeOutput.log".
make[2]: *** [CMakeFiles/Arrow.dir/build.make:107: Arrow-prefix/src/Arrow-stamp/Arrow-configure] Error 1
make[1]: *** [CMakeFiles/Makefile2:76: CMakeFiles/Arrow.dir/all] Error 2
make: *** [Makefile:84: all] Error 2
CMake Error at cmake/Modules/ConfigureArrow.cmake:51 (message):
  Building Arrow failed: 2
Call Stack (most recent call first):
  cmake/find/arrow.cmake:19 (include)
  CMakeLists.txt:47 (include)

-- Configuring incomplete, errors occurred!
See also "/home/yujinkim/cura/build/CMakeFiles/CMakeOutput.log".
(rapids-0.18) $

The error is the same when using GCC/G++.

One more thing. I may have mis-configured CUDA toolkit root directory in CMake.
You can try replacing /usr/local/cuda in this line
https://github.com/zanmato1984/cura/blob/d894d4cd6275d402b4c90cda52f58b6598b4268e/cmake/find/cudf.cmake#L108
with the one under your conda env directory, i.e. /home/yujinkim/miniconda3/envs/rapids-0.18/.../cuda.
This should effectively make compiler see exactly the same cuda include/lib as you build cudf. And at least clear some noise for the real question we are dealing with.

Well, I can't quite find the folder in my Conda environment:
(rapids-0.18) $ ls /usr/local/cuda
EULA.txt   bin  extras   lib64    nsightee_plugins  nvvm     share  targets  version.txt
Sanitizer  doc  include  libnvvp  nvml              samples  src    tools

(rapids-0.18) $ find ~/miniconda3/envs/rapids-0.18/ -name cuda | xargs ls
/home/yujinkim/miniconda3/envs/rapids-0.18/include/boost/fiber/cuda:
waitfor.hpp

/home/yujinkim/miniconda3/envs/rapids-0.18/include/libcudf/libcudacxx/cuda:
atomic  barrier  latch  semaphore  std

/home/yujinkim/miniconda3/envs/rapids-0.18/lib/python3.8/site-packages/cupy/cuda:
__init__.py                              memory.cpython-38-x86_64-linux-gnu.so
__pycache__                              memory_hook.cpython-38-x86_64-linux-gnu.so
common.cpython-38-x86_64-linux-gnu.so    memory_hooks
compiler.py                              nccl.cpython-38-x86_64-linux-gnu.so
cub.cpython-38-x86_64-linux-gnu.so       nvtx.cpython-38-x86_64-linux-gnu.so
cudnn.py                                 pinned_memory.cpython-38-x86_64-linux-gnu.so
cufft.cpython-38-x86_64-linux-gnu.so     profiler.py
cupy_cub.cu                              runtime.py
cupy_thrust.cu                           stream.cpython-38-x86_64-linux-gnu.so
device.cpython-38-x86_64-linux-gnu.so    texture.cpython-38-x86_64-linux-gnu.so
function.cpython-38-x86_64-linux-gnu.so  thrust.cpython-38-x86_64-linux-gnu.so

/home/yujinkim/miniconda3/envs/rapids-0.18/lib/python3.8/site-packages/cupy_backends/cuda:
__init__.py  __pycache__  api  libs  stream.cpython-38-x86_64-linux-gnu.so

/home/yujinkim/miniconda3/envs/rapids-0.18/lib/python3.8/site-packages/numba/cuda:
__init__.py  cuda_paths.py  descriptor.py   intrinsic_wrapper.py  mathimpl.py   simulator_init.py  vectorizers.py
__pycache__  cudadecl.py    device_init.py  kernels               models.py     stubs.py
api.py       cudadrv        dispatcher.py   libdevice.py          nvvmutils.py  target.py
args.py      cudaimpl.py    envvars.py      libdevicedecl.py      printimpl.py  testing.py
codegen.py   cudamath.py    errors.py       libdevicefuncs.py     random.py     tests
compiler.py  decorators.py  initialize.py   libdeviceimpl.py      simulator     types.py

I might be misunderstanding something. Let me read more about CUDA/cuDF and then come back.

Hi @csm-yujinkim , I've added some simple conda support for building cura. You can now try pulling the latest change and building with the following command:
conda env create --name cura-dev --file ./conda/environments/cura_dev.yml
conda activate cura-dev
mkdir build
cd build
cmake .. -DENABLE_CUDF=ON
make -j

Let me know if this works for you.
PS: I made a mistake about the cudf version that cura depends on. It should be 0.17 rather than 0.18 and my apologies for all the mess that this misleading caused. I was recently able to get my desktop back to work (my card was borrowed before) so I took some deeper look and sorted things out. Sorry about that.

OK, it's building now, and tests pass as well.
I had to revert the script to find LIBCUDACXX, however:
diff --git a/cmake/find/cudf.cmake b/cmake/find/cudf.cmake
index a249744..9b7915d 100644
--- a/cmake/find/cudf.cmake
+++ b/cmake/find/cudf.cmake
@@ -150,7 +150,7 @@ foreach(CUDF_MODULE IN LISTS CUDF_MODULE_LIST)
 endforeach()

 find_path(CUDF_INCLUDE_DIR NAMES cudf HINTS "${CONDA_PREFIX}/include")
-find_path(CUDF_LIBCUDACXX_INCLUDE_DIR NAMES std/chrono HINTS "${CONDA_PREFIX}/include/libcudf/libcudacxx/cuda")
+find_path(CUDF_LIBCUDACXX_INCLUDE_DIR NAMES simt/chrono HINTS "${CONDA_PREFIX}/include/libcudf/libcudacxx")

 message(STATUS "Using CUDF: ${CUDF_INCLUDE_DIR} : ${CUDF_LIBRARIES}")
 message(STATUS "Using LIBCUDACXX: ${CUDF_LIBCUDACXX_INCLUDE_DIR}")

Thank you very much!

Thank you very much!

You are welcome. Let me know if you have any questions using cura.


[New Site] MoreThanTV

URL
http://morethantv.me/
Site based on
Gazelle
Whether the site restricts publishing rights
Yes
The user level required for the site to publish new torrent
Key Grip
Where to get an invite
Tracker invite forums
Anything else?
No response

Transfer to not working for MTV

@successorliver Don't have upload access.

Can I upload the .php page here? If it helps?

@successorliver Sure! Remeber delete any info realted to your account.


 output:crd:artifacts:config=deploy/manifests; \
    rm -rf vendor
bash: line 1: /home/ubuntu/go/bin/controller-gen: No such file or directory
make: *** [Makefile:64: manifests] Error 127

it can not find the command controller-gen, so I check the Makefile.
controller-gen:
ifeq (, $(shell which controller-gen))
        @{ \
        set -e ;\
        CONTROLLER_GEN_TMP_DIR=$$(mktemp -d) ;\
        cd $$CONTROLLER_GEN_TMP_DIR ;\
        go mod init tmp ;\
        go get<EMAIL_ADDRESS>;\
        rm -rf $$CONTROLLER_GEN_TMP_DIR ;\
        }
CONTROLLER_GEN=$(shell go env GOPATH)/bin/controller-gen
else
CONTROLLER_GEN=$(shell which controller-gen)
endif

go get should be modified to go install.
In earlier versions of Go, 'go get' was used to build and install packages.
Now, 'go get' is dedicated to adjusting dependencies in go.mod. 'go install'
may be used to build and install commands instead.

Also, golangci-lint is the same situation.
I modified it, and run make all again.

go mod vendor; \
    /home/ubuntu/go/bin/controller-gen object:headerFile="hack/boilerplate.go.txt" rbac:roleName=manager-role crd webhook paths="./vendor/github.com/gocrane/api/..." output:crd:artifacts:config=deploy/manifests; \
    rm -rf vendor
go generate ./...
go fmt ./...
pkg/metricquery/type.go:98:29: invalid operation: cannot compare m.Workload.Selector == nil (operator == not defined on untyped nil) (typecheck)
		if m.Workload.Selector == nil {
		                          ^
pkg/metricquery/type.go:126:3: undeclared name: `klog` (typecheck)
		klog.Errorf("Failed to build unique key, validate metric err: %v", err)
		^
pkg/metricquery/type.go:141:3: undeclared name: `klog` (typecheck)
		klog.Errorf("Failed to build unique key, not supported metric type %v", m.Type)
		^
pkg/metricquery/type.go:148:28: invalid operation: cannot compare m.Workload.Selector != nil (operator != not defined on untyped nil) (typecheck)
	if m.Workload.Selector != nil {
	                          ^
pkg/metricquery/type.go:163:29: invalid operation: cannot compare m.Container.Selector != nil (operator != not defined on untyped nil) (typecheck)
	if m.Container.Selector != nil {
	                           ^
pkg/metricquery/type.go:177:23: invalid operation: cannot compare m.Pod.Selector != nil (operator != not defined on untyped nil) (typecheck)
	if m.Pod.Selector != nil {
	                     ^
pkg/metricquery/type.go:189:24: invalid operation: cannot compare m.Node.Selector != nil (operator != not defined on untyped nil) (typecheck)
	if m.Node.Selector != nil {
	                      ^
pkg/metricquery/type.go:201:24: invalid operation: cannot compare m.Prom.Selector != nil (operator != not defined on untyped nil) (typecheck)
	if m.Prom.Selector != nil {
	                      ^
pkg/metricquery/type.go:8:2: "k8s.io/klog/v2" imported but not used (typecheck)
	"k8s.io/klog/v2"
	^
pkg/providers/proxy.go:42:4: r.Lock undefined (type *RealTimeDataProxy has no field or method Lock) (typecheck)
	r.Lock()
	  ^
pkg/providers/proxy.go:43:10: r.Unlock undefined (type *RealTimeDataProxy has no field or method Unlock) (typecheck)
	defer r.Unlock()
	        ^
pkg/providers/proxy.go:48:4: r.Lock undefined (type *RealTimeDataProxy has no field or method Lock) (typecheck)
	r.Lock()
	  ^
pkg/providers/proxy.go:49:10: r.Unlock undefined (type *RealTimeDataProxy has no field or method Unlock) (typecheck)
	defer r.Unlock()
	        ^
pkg/providers/proxy.go:54:4: r.Lock undefined (type *RealTimeDataProxy has no field or method Lock) (typecheck)
	r.Lock()
	  ^
pkg/providers/proxy.go:55:10: r.Unlock undefined (type *RealTimeDataProxy has no field or method Unlock) (typecheck)
	defer r.Unlock()
	        ^
pkg/providers/proxy.go:97:4: h.Lock undefined (type *HistoryDataProxy has no field or method Lock) (typecheck)
	h.Lock()
	  ^
pkg/providers/proxy.go:98:10: h.Unlock undefined (type *HistoryDataProxy has no field or method Unlock) (typecheck)
	defer h.Unlock()
	        ^
pkg/providers/proxy.go:106:4: h.Lock undefined (type *HistoryDataProxy has no field or method Lock) (typecheck)
	h.Lock()
	  ^
pkg/providers/proxy.go:107:10: h.Unlock undefined (type *HistoryDataProxy has no field or method Unlock) (typecheck)
	defer h.Unlock()
	        ^
pkg/providers/proxy.go:112:4: h.Lock undefined (type *HistoryDataProxy has no field or method Lock) (typecheck)
	h.Lock()
	  ^
pkg/providers/proxy.go:113:10: h.Unlock undefined (type *HistoryDataProxy has no field or method Unlock) (typecheck)
	defer h.Unlock()
	        ^
pkg/prediction/generic.go:80:2: undeclared name: `klog` (typecheck)
	klog.V(4).InfoS("Put tuple{query,caller,config} into with channel.", "query", q.MetricNamer.BuildUniqueKey(), "caller", q.Caller)
	^
pkg/prediction/generic.go:9:2: "k8s.io/klog/v2" imported but not used (typecheck)
	"k8s.io/klog/v2"
	^
pkg/ensurance/executor/podinfo/pod_info.go:8:2: could not import k8s.io/apimachinery/pkg/types (-: could not load export data: cannot import "k8s.io/apimachinery/pkg/types" (unstable iexport format version 2, just rebuild compiler and std library), export data is newer version - update tool) (typecheck)
	"k8s.io/apimachinery/pkg/types"
	^
pkg/ensurance/grpc/connection.go:8:2: "k8s.io/klog/v2" imported but not used (typecheck)
	"k8s.io/klog/v2"
	^
pkg/ensurance/analyzer/podqos-fetcher.go:12:2: could not import k8s.io/apimachinery/pkg/selection (-: could not load export data: cannot import "k8s.io/apimachinery/pkg/selection" (unstable iexport format version 2, just rebuild compiler and std library), export data is newer version - update tool) (typecheck)
	"k8s.io/apimachinery/pkg/selection"
	^
pkg/ensurance/collector/cadvisor/cadvisor_linux.go:59:17: cannot use new(CadvisorManager) (value of type *CadvisorManager) as Manager value in variable declaration: *CadvisorManager does not implement Manager (missing method GetContainerInfo) (typecheck)
var _ Manager = new(CadvisorManager)
                ^
pkg/ensurance/collector/cadvisor/cadvisor_linux.go:92:9: cannot use &(CadvisorManager literal) (value of type *CadvisorManager) as Manager value in return statement: *CadvisorManager does not implement Manager (missing method GetContainerInfo) (typecheck)
	return &CadvisorManager{
	       ^
pkg/ensurance/cm/cpumanager/cpu_manager.go:247:5: cm.Lock undefined (type *cpuManager has no field or method Lock) (typecheck)
	cm.Lock()
	   ^
pkg/ensurance/cm/cpumanager/cpu_manager.go:248:11: cm.Unlock undefined (type *cpuManager has no field or method Unlock) (typecheck)
	defer cm.Unlock()
	         ^
pkg/ensurance/cm/cpumanager/cpu_manager.go:284:5: cm.Lock undefined (type *cpuManager has no field or method Lock) (typecheck)
	cm.Lock()
	   ^
pkg/ensurance/cm/cpumanager/cpu_manager.go:285:11: cm.Unlock undefined (type *cpuManager has no field or method Unlock) (typecheck)
	defer cm.Unlock()
	         ^
pkg/ensurance/cm/cpumanager/cpu_manager.go:462:5: cm.Lock undefined (type *cpuManager has no field or method Lock) (typecheck)
	cm.Lock()
	   ^
pkg/ensurance/cm/cpumanager/cpu_manager.go:463:11: cm.Unlock undefined (type *cpuManager has no field or method Unlock) (typecheck)
	defer cm.Unlock()
	         ^
pkg/ensurance/collector/noderesourcetopology/noderesourcetopology.go:15:13: could not import k8s.io/apimachinery/pkg/types (-: could not load export data: cannot import "k8s.io/apimachinery/pkg/types" (unstable iexport format version 2, just rebuild compiler and std library), export data is newer version - update tool) (typecheck)
	patchtypes "k8s.io/apimachinery/pkg/types"
	           ^
pkg/controller/ehpa/effective_hpa_controller.go:157:12: c.Status undefined (type *EffectiveHPAController has no field or method Status) (typecheck)
		err := c.Status().Update(ctx, ehpa)
		         ^
pkg/controller/ehpa/hpa.go:164:12: c.Update undefined (type *EffectiveHPAController has no field or method Update) (typecheck)
		err := c.Update(ctx, hpaExist)
		         ^
pkg/controller/ehpa/predict.go:90:12: c.Update undefined (type *EffectiveHPAController has no field or method Update) (typecheck)
		err := c.Update(ctx, predictionExist)
		         ^
pkg/controller/ehpa/substitute.go:93:12: c.Update undefined (type *EffectiveHPAController has no field or method Update) (typecheck)
		err := c.Update(ctx, substituteExist)
		         ^
pkg/controller/ehpa/substitute_controller.go:64:12: c.Update undefined (type *SubstituteController has no field or method Update) (typecheck)
		err := c.Update(ctx, substitute)
		         ^
pkg/controller/ehpa/substitute_controller.go:76:12: c.Status undefined (type *SubstituteController has no field or method Status) (typecheck)
		err := c.Status().Update(ctx, substitute)
		         ^
pkg/controller/ehpa/hpa_event_handler.go:4:2: "k8s.io/api/autoscaling/v2beta2" imported but not used as autoscalingv2 (typecheck)
	autoscalingv2 "k8s.io/api/autoscaling/v2beta2"
	^
pkg/prediction/percentile/prediction.go:216:14: p.WithCh undefined (type *percentilePrediction has no field or method WithCh) (typecheck)
			qc := <-p.WithCh
			          ^
pkg/prediction/percentile/prediction.go:286:14: p.DelCh undefined (type *percentilePrediction has no field or method DelCh) (typecheck)
			qc := <-p.DelCh
			          ^
pkg/prediction/percentile/prediction.go:311:7: p.GetHistoryProvider undefined (type *percentilePrediction has no field or method GetHistoryProvider) (typecheck)
	if p.GetHistoryProvider() == nil {
	     ^
pkg/prediction/percentile/prediction.go:316:30: p.GetHistoryProvider undefined (type *percentilePrediction has no field or method GetHistoryProvider) (typecheck)
	historyTimeSeries, err := p.GetHistoryProvider().QueryTimeSeries(namer, start, end, c.sampleInterval)
	                            ^
pkg/prediction/percentile/prediction.go:391:33: p.GetRealtimeProvider undefined (type *percentilePrediction has no field or method GetRealtimeProvider) (typecheck)
	latestTimeSeriesList, err := p.GetRealtimeProvider().QueryLatestTimeSeries(namer)
	                               ^
cmd/craned/app/options/server_options.go:46:13: undeclared name: `gcfg` (typecheck)
		if err := gcfg.FatalOnly(gcfg.ReadInto(&gconfig, grafanaConfig)); err != nil {
		          ^
cmd/craned/app/options/server_options.go:72:8: o.APIKey undefined (type *ServerOptions has no field or method APIKey) (typecheck)
		if o.APIKey == "" && o.Username == "" && o.Password == "" {
		     ^
cmd/craned/app/options/server_options.go:10:2: "gopkg.in/gcfg.v1" imported but not used (typecheck)
	"gopkg.in/gcfg.v1"
	^
make: *** [Makefile:90: lint] Error 1

Environment (please complete the following information):

K8S Version: no
Crane Version: v0.8.0
Go Version: 1.18.5

Maybe you can try to use golang 1.17

Thanks to your reply. I modify to 1.17 version. It works fine.
Btw, why not modify to go install ?
go get: installing executables with 'go get' in module mode is deprecated.
	To adjust and download dependencies of the current module, use 'go get -d'.
	To install using requirements of the current module, use 'go install'.
	To install ignoring the current module, use 'go install' with a version,
	like 'go install example.com/cmd@latest'.
	For more information, see https://golang.org/doc/go-get-install-deprecation
	or run 'go help get' or 'go help install'.

And I check Makefile ,  mockgen uses go install.
go install github.com/golang/mock/mockgen ;

In short, the crane only supports go1.17 for now. Is that so?

yes, currently we only tested in go1.17.

yes, currently we only tested in go1.17.

Need to support go 1.17 and above? please assign me


Signup source is saving utm params as well

BUG
Current Behavior
Currently when we store signup source it's saved with all the UTM params if they are there. we don't want that
user/[northstar_id&utm=blahblahblah
Desired Behavior
cut all sources at the & so we don't save UTM params in the signup source
Steps to Replicate

signup with a source and utm params, you'll see a lot of nonsense in the table

looks like this is only happening for the "organ//custom" share stuff and not all links with UTM params

@angaither thanks! noted


Added small releases page

A small page at the top to link to the releases on github.

A consultation, how is the order established in the navbar?

Wouldn't it be a good idea to put it in second place?

I liked it more at the bottom, but its easy to change

I think it would look better in second place so you can see the versions available for easy installation

Let me do some screenshots then

If you like, also in the release section we can put the release notes


Attempting to activate globally causes large amounts of build errors

I've been using arb_utils as a script for several months successfully, however it seems to not be working any more since I cleared my cache. I tried debugging as much as I could on my own, but it's getting out of my level of knowledge.
To make sure I've started with a clean slate, I tried the following:
dart pub cache clean
dart pub global activate arb_utils

The start of the output looks like this:
Resolving dependencies...
+ _fe_analyzer_shared 47.0.0 (50.0.0 available)
+ analyzer 4.7.0 (5.2.0 available)
+ arb_utils 0.3.0
+ archive 3.3.2
+ args 2.3.1
+ async 2.10.0
+ characters 1.2.1
+ clock 1.1.1
+ collection 1.16.0 (1.17.0 available)
+ convert 3.1.1
+ crypto 3.0.2
+ dart_style 2.2.4
+ ffi 2.0.1
+ file 6.1.4
+ flutter 0.0.0 from sdk flutter
+ flutter_web_plugins 0.0.0 from sdk flutter
+ glob 2.1.0
+ http 0.13.5
+ http_parser 4.0.2
+ intl 0.17.0
+ intl_utils 2.7.0
+ js 0.6.4 (0.6.5 available)
+ material_color_utilities 0.1.5 (0.2.0 available)
+ meta 1.8.0
+ package_config 2.1.0
+ path 1.8.2
+ path_provider_linux 2.1.7
+ path_provider_platform_interface 2.0.5
+ path_provider_windows 2.1.3
+ petitparser 5.1.0
+ platform 3.1.0
+ plugin_platform_interface 2.1.3
+ process 4.2.4
+ pub_semver 2.1.2
+ shared_preferences 2.0.15
+ shared_preferences_android 2.0.14
+ shared_preferences_ios 2.1.1
+ shared_preferences_linux 2.1.1
+ shared_preferences_macos 2.0.4
+ shared_preferences_platform_interface 2.1.0
+ shared_preferences_web 2.0.4
+ shared_preferences_windows 2.1.1
+ sky_engine 0.0.99 from sdk flutter
+ source_span 1.9.1
+ string_scanner 1.1.1
+ term_glyph 1.2.1
+ typed_data 1.3.1
+ vector_math 2.1.2 (2.1.4 available)
+ watcher 1.0.2
+ win32 3.0.1
+ xdg_directories 0.2.0+2
+ yaml 3.1.1
Building package executables...
Failed to build arb_utils:sort:
projects/flutter/packages/flutter/lib/src/material/animated_icons.dart:9:8: Error: Not found: 'dart:ui'
import 'dart:ui' as ui show Paint, Path, Canvas;
       ^
projects/flutter/packages/flutter/lib/src/material/animated_icons.dart:10:8: Error: Not found: 'dart:ui'
import 'dart:ui' show lerpDouble;
       ^

and it just goes on and on. Eventually it ends with this:
projects/flutter/packages/flutter/lib/src/semantics/semantics.dart:4591:12: Error: 'TextDirection' isn't a type.
  required TextDirection? thisTextDirection,
           ^^^^^^^^^^^^^
projects/flutter/packages/flutter/lib/src/semantics/semantics.dart:4592:12: Error: 'TextDirection' isn't a type.
  required TextDirection? otherTextDirection,
           ^^^^^^^^^^^^^
projects/flutter/packages/flutter/lib/src/semantics/semantics.dart:4599:12: Error: Undefined name 'TextDirection'.
      case TextDirection.rtl:
           ^^^^^^^^^^^^^
projects/flutter/packages/flutter/lib/src/semantics/semantics.dart:4602:12: Error: Undefined name 'TextDirection'.
      case TextDirection.ltr:
           ^^^^^^^^^^^^^
projects/flutter/packages/flutter/lib/src/semantics/semantics_event.dart:87:9: Error: 'TextDirection' isn't a type.
  final TextDirection textDirection;
        ^^^^^^^^^^^^^
projects/flutter/packages/flutter/lib/src/semantics/semantics_service.dart:32:48: Error: 'TextDirection' isn't a type.
  static Future<void> announce(String message, TextDirection textDirection) async {
                                               ^^^^^^^^^^^^^
projects/flutter/packages/flutter/lib/src/painting/_network_image_io.dart:134:18: Error: 'ImmutableBuffer' isn't a type.
        final ui.ImmutableBuffer buffer = await ui.ImmutableBuffer.fromUint8List(bytes);
                 ^^^^^^^^^^^^^^^
projects/flutter/packages/flutter/lib/src/painting/_network_image_io.dart:134:52: Error: Undefined name 'ImmutableBuffer'.
        final ui.ImmutableBuffer buffer = await ui.ImmutableBuffer.fromUint8List(bytes);
                                                   ^^^^^^^^^^^^^^^

I've upgraded flutter to the latest version
$ dart --version
Dart SDK version: 2.18.2 (stable) (Tue Sep 27 13:24:11 2022 +0200) on "linux_x64"
[12:45:53] darndt@ringwood ~
$ flutter --version
Flutter 3.3.6 • channel stable • git@github.com:flutter/flutter.git
Framework • revision 6928314d50 (6 days ago) • 2022-10-25 16:34:41 -0400
Engine • revision 3ad69d7be3
Tools • Dart 2.18.2 • DevTools 2.15.0
$ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.3.6, on Ubuntu 22.04.1 LTS 5.15.0-52-generic, locale en_CA.UTF-8)
[✓] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
[✓] Chrome - develop for the web
[✓] Linux toolchain - develop for Linux desktop
[✓] Android Studio (version 2021.2)
[✓] VS Code (version 1.72.2)
[✓] Connected device (3 available)
[✓] HTTP Host Availability

• No issues found!

Happy to do more digging, but I have no idea where to keep looking. Flutter and dart appear to work fine otherwise, but I still acknowledge this could be related to my setup. I just don't know how to debug further.

I think the problem is that you are running it from Dart instead of Flutter. And as the package depends on Flutter libs it need to be ran from flutter instead. Try just changing the command from dart pub global activate arb_utils to flutter pub global activate arb_utils and let's see if that does the trick

Some error with flutter pub .... I tried clearing the cache again as well, no luck.

Hmm. I just cloned the repo and activated it with
dart pub global activate --source path projects/arb_utils

and it works fine.

Scratch that. It "activates", but I guess it doesn't build until I execute
dart pub global run arb_utils:sort lib/l10n/arb/app_en.arb

When I do that, I get the same error as above.
But, I'm able to successfully activate and run if I checkout version 0.2.0 of arb_utils instead.

The culprit seems to be
https://github.com/Rodsevich/arb_utils/blob/25b6625d9d456153ff9b2e77f97855fc2c595d0d/lib/arb_utils.dart#L9
Which in turn depends on flutter
https://github.com/Rodsevich/arb_utils/blob/25b6625d9d456153ff9b2e77f97855fc2c595d0d/lib/src/utils/locale.dart#L1

I made a 0.4.0 version with a good approach and so, but it seems to just read the incompatibility with flutter and refuses to work:
Can't load Kernel binary: Invalid kernel binary format version.
arb_utils as globally activated requires the Flutter SDK, which is unsupported for global executables.

It seems the Flutter part must be decoupled from this package. So sad


Upgrade latest annie (lux) binary

Upgrade to lux 0.15.0

Video download issue due to old annie binary is expected to solve.
repository name need to rename to web-lux

unable to decode nSig: unable to extract n-function name error is caused sometimes and This solved commit  https://github.com/iawia002/lux/commit/f938ce57369325fadc48497dec83c54a145d1999. However this didn't released yet.


Fix Langchain link in examples doc

Why are these changes needed?
The link to the Notebook associated with "Task Solving with Langchain Provided Tools as Functions" was pointing to the incorrect url.

Related issue number
N/a

Checks

[x] I've included any doc changes needed for https://microsoft.github.io/autogen/. See https://microsoft.github.io/autogen/docs/Contribute#documentation to build and test documentation locally.
[x] I've added tests (if relevant) corresponding to the changes introduced in this PR.
[x] I've made sure all auto checks have passed.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (8d5f176) 27.79% compared to head (bc95465) 27.59%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #811      +/-   ##
==========================================
- Coverage   27.79%   27.59%   -0.21%
==========================================
  Files          27       27
  Lines        3497     3497
  Branches      793      793
==========================================
- Hits          972      965       -7
- Misses       2454     2460       +6
- Partials       71       72       +1

Flag
Coverage Δ

unittests
27.59% <ø> (-0.15%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


cheeseboard, elatedness

This pull request was generated by the 'mq' tool
[test]
flake rate: 0.4
logical conflict every: 100
sleep for: 300s
[pullrequest]
requests per hour: 30
deps=[c,e]

/trunk merge


Add Placeholder for players active quests (Newest Placeholders for name/ description arent practical)

Feature Request:  Add a placeholder for players active quests (description and name)
The newest placeholders added to the last update (see below) are not specific to which jobs the player actively has.
This does not help the original issue of Bedrock (Geyser) players not knowing which quests they have active.
These placeholders when parsed against a player will display each quest based on their identifier regardless of which jobs that player is joined to. Would love for MCPE players to also enjoy quests!
New placeholders as %jobsr_questname_[jobName/number][questIdentificator]% %jobsr_questdesc[jobName/number]_[questIdentificator]% where quest identificator is quest section name and not its actual name. Quest description is returning in a multi line format with included \n for each line which usually gets

I second this, this sounds extremely useful.

This is essential for my server to keep using jobs plugin as bedrock players cant see quests

Having one placeholder to show all active quests, descriptions & progress for jobs that the player is involved in would be great for bedrock players.
Maybe something similar to
jobs_active_quests - displays all active quest titles based on which jobs the player is enrolled in
jobs_active_quests_objectives - displays all active quests objectives (descriptions) based on which jobs the player is enrolled in
jobs_active_quests_progress - displays all active quests progress bars based on which jobs the player is enrolled in

Any chance we will see this implemented?


Missing version update

Summary
The 0.6.2 is released; however, the version is in cargo.toml not up-to-date(0.6.1).

prepare a new version v0.6.3 #2251


Allow pyre to read configuration from pyproject.toml

Thanks for the effort to make this extension happen!
If pyre can use the pyproject.toml file for its settings like most tools do, that would be awesome.
This might help:
https://github.com/facebook/pyre-check/pull/799

Hello! I think that this is one for the core pyre extension (as this is what is reading all the config). Should I delegate this to https://github.com/facebook/pyre-check/issues/695 ?

@vthemelis Yes, you should. That request was created two years ago.
The Pyre team has gone radio silent on us.

Thanks! Will close this in favour of the original pyre-check issue. I can see how this sort of thing may not be at the top of their priorities.
FWIW I find that using project.toml for everything can get a bit unergonomoc so I opt in for separate config files when I can. :)


Error setup with Woocommerce 6.4.1

Hello!
I tried setup plugin for Woocommerce 6.4.1 but error: Uncaught Error: Call to a member function get_form_fields() on null in includes/payments/class-wc-unlimint-custom-gateway.php on line 82.
you check it bellow https://prnt.sc/Z6Q4Sr7mz7VD
How to fix it?

Issue was resolved in 1.0.5.


Allow for custom solvers

Purpose
Allows the use of custom solvers in cvxpy. This can be helpful when prototyping new solvers, writing official solvers for cvxpy, or developing custom solvers tailored to a specific application.
To use a custom solver, one has to implement a solver class that is a child of QpSolver or ConicSolver. Then an instance of this new solver class is passed to problem.solve(solver=.). Note that conflicts with existing solvers are avoided because custom solvers are specified by passing objects that are instances of the Solver class, while standard solvers are specified via strings (e.g. "OSQP"). Furthermore, when a user specifies a custom solver, then no standard solvers are suggested as "candidates" via cvxpy. That was done on purpose for simplicity.
Minimal usage example
import cvxpy as cp
from cvxpy.reductions.solvers.qp_solvers.osqp_qpif import OSQP

class CUSTOM_OSQP(OSQP):
    MIP_CAPABLE = False

    def name(self):
        return "CUSTOM_OSQP"

    def solve_via_data(self, *args, **kwargs):
        print("Solving with a custom QP solver!")
        super().solve_via_data(*args, **kwargs)

x = cp.Variable()
quadratic = cp.square(x)
problem = cp.Problem(cp.Minimize(quadratic))
problem.solve(solver=CUSTOM_OSQP())

See also the documentation and the tests added for more examples/details.
ToDo List:

[x] Tests
[x] Documentation

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

This is extremely cool! I'll add Steven as a reviewer.

This is interesting! The custom solver would in practice probably need to define the invert method as well, right?

Right, I have updated the docs to reflect that.

Hey, are there any other changes that you might want to see for this to get merged? I would happy to work on them :rocket:

@akshayka what do you think?

Looks good to me. Great work on the elegant implementation!


DataChain Telemetry needed

Description
We need to add DataChain telemetry to the roadmap to begin tracking usage since it is open now! 😄 🚀 🎉

We have a common library that we should utilize https://github.com/iterative/telemetry-python .

Is https://pypistats.org/packages/datachain not enough?

Is https://pypistats.org/packages/datachain not enough?

hmm ... it's super noisy and doesn't show MAU / DAU at all. Really hard to understand actual engagement, not enough visibility into what features are the most important ones


Update stable to 3.32.0

Checklist

[x] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

@conda-forge-admin, please rerender

@conda-forge-admin, please rerender

Thanks @gillins . How did you know what needed to be patched?

The OSX error was pretty self explanatory since the error said that some function was only available from OSX 10.15 onwards so I changed the OSX version to match.
The other one was a bit tricky, but from the error I was on the lookout for a missing link library. When I opened the CMakeLists.txt for the PDAL stuff I saw that all the other executables were built linking against Threads::Threads except the wrench one. Threads::Threads is cmake speak for the threading library on the current platform, so I added and that seemed to fix it. I suspect this change never got tested on Linux (just happened to work on Windows since you don't normally need to specify this), I should probably report upstream.
Merge this if you are happy then I might see if we can sort the protobuf migration. I think not having this might cause some headaches, and might explain the geos problem although I'm not certain. Might ask you to reach out to the QGIS guys if I can't work it out quickly - I'm a bit low on time these days.


Retry obtaining application details

When marathon-consul get tash health change event. It ask marathon for application details to check if and how task should be registered in consul and get task details (ip and port). When marathon is under heavy load it sends events but API returns stale data. And we do not register application due to missing details. We need to retry getting app information to prevent this happen. web/event_handler.go#L119

It turns out that marathon events could be delayed (about 1h) and that's why we get this weird behaviour.


Extended data collection

This is actually more of an 'opinion request' than a real pull request.
On my attempt to improve whole frame information gathering I made two small changes and one larger addition.
I exposed the GetShaders interface to the Python scripts that already existed internally.  Then I added a 'slot' field to the texture/buffer per event usage structure to identify where the resource is attached at a given stage (expanding on the usage flags).
The larger addition is a new interface to return the pipeline state per drawcall.  The reason I finally attempted this (makes the other two somewhat redundant) is that stepping over the whole frame with pyrenderdoc.SetEventID() was very slow (tens of minutes).  This alternative takes a couple minutes by using a script like this:
drawcalls_state = None

def get_drawcalls_state(renderer):
	global drawcalls_state
	renderer.CaptureDrawCallsPipelineState()
	drawcalls_state = renderer.GetDrawCallsD3D11PipelineState()

pyrenderdoc.Renderer.Invoke(get_drawcalls_state)

for drawcall_state in drawcalls_state:
	do_something_on_the_state(drawcall_state.pipelineState)

For now this branch is for my personal use but if you have any suggestion or think something like this may be useful on renderdoc I'm open to contribute.

I don't mind the change to list the shader IDs in the drawcall and expose GetShader, but it sounds like in isolation this isn't too useful to you.
With the slot in the event usage, I'm not so keen on this. The problem is that binding models are more complex than just a single slot number. E.g. if a texture is used in event 1234 at slot 5 - does this mean as a SRV? or as a UAV? If it's a buffer then it could be constant buffer 5, SRV 5, or UAV 5. Then it gets more complicated with Vulkan/D3D12 binding models too. I think this is too much information to try and pack into the event usage, so really we come to the solution you arrived at in the end - getting aggregated information out across all events.
So with the final change to get the pipeline state out while replaying - I think this is probably something we'll need eventually. The main problem is that iterating at the UI level is limited to O(n^2) since it always replays from the start when changing events, there's no way to just incrementally step through the log. Up until now, most of the 'hard work' has always happened in the C++ side in the replay drivers, so this wasn't a problem. But with more things being built on top and mostly API-agnostic, this will come up. I've seen the same slowness when running automated testing that iterates through the whole log.
The solution you have is fine for local purposes but it's too specific to be committed I think. Next time, someone will want to SaveTexture() the textures for each draw. Then, perhaps they want to read constant buffer values, etc etc. Aside from some implementation problems I have, it doesn't solve the general problem.
I think there are then two ways to go - either we can expose a function to the high level that does "step to the next draw" without replaying from the start, changing the O(n^2) to O(n), or we can expose a function that does something like "step over every draw, and run a callback to do whatever work each time".
My preference is for the callback-per-draw approach as it's more self-contained and allows drivers to deal with some internal complexities. The big problem though is APIs like vulkan/D3D12 which separate command buffer recording and submission. You'd have to partially submit command buffers and restore the state to be able to do things in between, and command buffers aren't necessarily recorded in the same order that they're submitted. No matter what, doing something 'for every draw' in those APIs is complex.
If you want to investigate how to do this then feel free, but it might be quite a complex task to implement properly, and I would want to have a proper robust implementation that works on every API. Otherwise it turns into a maintenance nightmare.

I thought about the 'step to next draw' option but I wasn't sure about interactions with the UI, whether it would work or mess everything horribly, so I opted for what looked a more simple solution of capturing the state.  Yes, you are right that eventually I will also want to capture all the buffers.  Static textures/buffers are already fine though thanks to the texture/buffer arrays, the problem would be dynamic buffers, mostly index and vertex buffers and perhaps RTs if capturing partial rendering result is required.
The callback-per-draw option looks good but as far as I know today python on C# works 'by magic' (I don't really know C#) and though it may be interesting it's not on my priority list discovering how to make python work on C++ :).
The reason that FetchCounters on D3D12 is not really working (other than on simple logs) seems to be also related with these 'call-per-draw' on command buffers.  Probably I will take a look at some point later if it hasn't been solved by then.
If you think implementing the 'step to next draw' could be a viable temporary solution I can look at it as it doesn't seem too time consuming to implement.

No I think the opposite - 'step to next draw' will be very hard to implement, more complex than the callback system. You'd have all the problems with that one, but on top of that you'd also have to keep track of the state to be able to restore it again in the next command buffer.
The python stuff in C# isn't too bad - there's already a callback, which is how Invoke works. This just kind of works by magic. You'd just need an extra step to pass the callback into C++ but it seems like the P/Invoke layer might handle this.
It's probably not worth looking at now though. Eventually the C# UI will be removed and the C++ Qt UI will be easier to integrate this all together.
I haven't looked at the FetchCounters on D3D12 thing yet because I'm on mobile internet so I can't afford to download the large capture yet to reproduce it. If I run into it while testing other things though I'll see if I can fix it.


Generating primitive-type arrays

Hi,
What is the most suitable way of generating primitive-type arrays, say int[] values (not Integer[]) ?  For instance the following will not work for obvious reasons (Integer[] is not type-compatible with int[])
static int[] dummy(int[] v) {
  return v;
}

@Test
public void testDummy() {
  qt()
  .forAll(arrays().ofIntegers(integers().all()).withLengthBetween(1,16))
  .check( v -> v == dummy(v) );
}

I guess a PrimitiveArraysDSL should make sense as a future development (I would love to contribute it, but don't have sufficient familiarity with QuickTheories yet, I started using it this week!).
As a first step towards a work-around I tried to do the following:
Gen<int[]> generator =
    in -> {
      int[] a = new int[16];
      for (int i = 0; i < a.length; i++) {
        a[i] = (int) in.next(Constraint.none());
      }
      return a;
    };
qt()
.forAll(generator)
.check( v -> v == dummy(v) );

As you can see above the array length (16) is fixed. How can I "plug-in" in elegant form the equivalent to the withLengthBetween(1,16)) constraint in the first fragment ?
Thanks,
Eduardo

You can use org.quicktheories.generators.Generate.intArrays.
This accepts two Gen of Integer to supply the sizes and contents for the arrays.
This hasn't been incorporated into the DSL, not entirely sure if that was due to oversight or by design.

Thanks, I didn't pay attention to the existence of intArrays (sorry for posting here, but I didn't find a user group link if one exists). As you say, the following works fine:
qt()
.forAll(intArrays(integers().between(1,16), integers().all()))
.check( arr -> someProp(arr) );

A minor suggestion I make is to have a more "regular" API for handling primitive type arrays in future releases, e.g.  there is no equivalent shortArrays for short[], longArrays for long[], etc.  And for byte[] the API defines byteArrays method but no bytes() method / DSL, but instead the bytes(int,int,int) method.
Best,
Eduardo