From 8c0f10fdfb8134d1a61fc5fe95521f5cc0c871b9 Mon Sep 17 00:00:00 2001 From: Sean Lilley Date: Mon, 30 Sep 2024 17:56:57 -0400 Subject: [PATCH 1/9] Try without more disk space --- .github/workflows/main.yml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a45e5d46..ad872ca3 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -56,13 +56,6 @@ jobs: } steps: - - name: Removed unneeded packages to gain disk space (Unix) - if: runner.os != 'Windows' - run: | - df -h - sudo apt-get update - sudo apt remove google-chrome-stable x11-common xserver-common aspnetcore-runtime-6.0 aspnetcore-runtime-7.0 aspnetcore-runtime-8.0 aspnetcore-targeting-pack-6.0 aspnetcore-targeting-pack-7.0 aspnetcore-targeting-pack-8.0 dotnet-apphost-pack-6.0 dotnet-apphost-pack-7.0 dotnet-apphost-pack-8.0 dotnet-host dotnet-hostfxr-6.0 dotnet-hostfxr-7.0 dotnet-hostfxr-8.0 dotnet-runtime-6.0 dotnet-runtime-7.0 dotnet-runtime-8.0 dotnet-runtime-deps-6.0 dotnet-runtime-deps-7.0 dotnet-runtime-deps-8.0 dotnet-sdk-6.0 dotnet-sdk-7.0 dotnet-sdk-8.0 dotnet-targeting-pack-6.0 dotnet-targeting-pack-7.0 dotnet-targeting-pack-8.0 eatmydata emacsen-common firebird3.0-common-doc firebird3.0-common firefox kubectl mercurial-common mercurial microsoft-edge-stable mssql-tools mysql-client-8.0 mysql-client-core-8.0 mysql-client mysql-common mysql-server-8.0 php8.1 postgresql-14 - df -h - uses: actions/checkout@v3 with: submodules: recursive From b93f4d19abcf6f4eba00afc0292dceccc58122fa Mon Sep 17 00:00:00 2001 From: Sean Lilley Date: Mon, 30 Sep 2024 18:08:46 -0400 Subject: [PATCH 2/9] Remove cuda --- .github/workflows/main.yml | 2 +- CMakeLists.txt | 5 +- docker/AlmaLinux8.Dockerfile | 6 -- docker/CentOS7.Dockerfile | 4 - extern/CMakeLists.txt | 96 ---------------------- extern/nvidia/deps/target-deps.packman.xml | 2 - src/core/CMakeLists.txt | 1 - 7 files changed, 2 insertions(+), 114 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ad872ca3..61539b90 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -138,7 +138,7 @@ jobs: if: ${{ runner.os == 'Linux' && matrix.config.name != 'AlmaLinux 8 - GCC' }} run: | sudo apt update - sudo apt install -y doxygen clang-tidy-15 gcovr nvidia-driver-535 + sudo apt install -y doxygen clang-tidy-15 gcovr sudo pip3 install conan==1.63.0 black==23.1.0 flake8==6.0.0 # Could not figure out how to add Chocolatey libraries to the PATH automatically with refreshenv, so diff --git a/CMakeLists.txt b/CMakeLists.txt index 9e7a2ee1..93ad7d55 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -571,12 +571,9 @@ execute_process(COMMAND "${Python3_EXECUTABLE}" "${SCRIPTS_DIRECTORY}/update_cer get_property(INSTALL_SEARCH_PATHS GLOBAL PROPERTY NVIDIA_ADDITIONAL_SEARCH_PATHS_PROPERTY) # Skip system libraries when running install -set(INSTALL_PRE_EXCLUDE_REGEXES "api-ms-*" "ext-ms-*" "cuda") +set(INSTALL_PRE_EXCLUDE_REGEXES "api-ms-*" "ext-ms-*") set(INSTALL_POST_EXCLUDE_REGEXES "system32" "^\/lib") -# Skip all runtime dependencies except nvrtc when installing to exts/cesium-omniverse/bin -set(INSTALL_PRE_INCLUDE_REGEXES "nvrtc") - install( TARGETS CesiumUsdSchemas ARCHIVE DESTINATION ${KIT_PLUGIN_EXTENSION_BIN_PATH} COMPONENT install diff --git a/docker/AlmaLinux8.Dockerfile b/docker/AlmaLinux8.Dockerfile index 344ab9e7..45a0448b 100644 --- a/docker/AlmaLinux8.Dockerfile +++ b/docker/AlmaLinux8.Dockerfile @@ -3,9 +3,6 @@ FROM almalinux:8 RUN dnf upgrade -y --refresh -RUN dnf install -y 'dnf-command(config-manager)' - -RUN dnf config-manager --add-repo=https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo # Extra repositories that have newer versions of some packages RUN dnf install -y -q epel-release @@ -32,9 +29,6 @@ RUN dnf install -y -q \ sqlite-devel \ xz-devel -# Install the nvidia driver. -RUN dnf module install -y -q nvidia-driver:535-dkms - # Enables gcc 11 for use within the docker image. RUN echo "source /opt/rh/gcc-toolset-11/enable" >> /etc/bashrc SHELL ["/bin/bash", "--login", "-c"] diff --git a/docker/CentOS7.Dockerfile b/docker/CentOS7.Dockerfile index 2901b981..cedf418b 100644 --- a/docker/CentOS7.Dockerfile +++ b/docker/CentOS7.Dockerfile @@ -4,9 +4,6 @@ FROM centos:7 RUN yum update -y -q -# Add nvidia repository -RUN yum-config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-rhel7.repo - # Extra repositories that have newer versions of some packages RUN yum install -y -q \ epel-release \ @@ -35,7 +32,6 @@ RUN yum install -y -q \ zlib-devel \ sqlite-devel \ xz-devel \ - nvidia-driver-branch-535.x86_64 # Create links to some of the custom packages RUN update-alternatives --install /usr/bin/gcc gcc /opt/rh/devtoolset-11/root/usr/bin/gcc 100 && \ diff --git a/extern/CMakeLists.txt b/extern/CMakeLists.txt index e4dfc17d..b276b067 100644 --- a/extern/CMakeLists.txt +++ b/extern/CMakeLists.txt @@ -219,7 +219,6 @@ set(USDRT_ROOT "${NVIDIA_BUILD_DIR}/target-deps/usdrt") set(CARB_ROOT "${NVIDIA_BUILD_DIR}/target-deps/carb_sdk_plugins") set(KIT_SDK_ROOT "${NVIDIA_BUILD_DIR}/target-deps/kit-sdk") set(PYBIND11_ROOT "${NVIDIA_BUILD_DIR}/target-deps/pybind11") -set(CUDA_ROOT "${NVIDIA_BUILD_DIR}/target-deps/cuda") set(NVIDIA_USD_LIBRARIES ar @@ -393,101 +392,6 @@ add_prebuilt_project_header_only( ) # cmake-format: on -if(WIN32) - # cmake-format: off - add_prebuilt_project_import_library_only( - RELEASE_INCLUDE_DIR - "${CUDA_ROOT}" - DEBUG_INCLUDE_DIR - "${CUDA_ROOT}" - RELEASE_LIBRARY_DIR - "${CUDA_ROOT}/cuda/lib/x64" - DEBUG_LIBRARY_DIR - "${CUDA_ROOT}/cuda/lib/x64" - RELEASE_LIBRARIES - cuda - DEBUG_LIBRARIES - cuda - TARGET_NAMES - cuda - ) - # cmake-format: on -else() - # Find the directory containing libcuda.so, e.g. /usr/lib/x86_64-linux-gnu - find_library( - CUDA_DRIVER_LIB - cuda - REQUIRED - NO_CACHE) - get_filename_component(CUDA_DRIVER_DIR "${CUDA_DRIVER_LIB}" DIRECTORY) - - # cmake-format: off - add_prebuilt_project( - RELEASE_INCLUDE_DIR - "${CUDA_ROOT}" - DEBUG_INCLUDE_DIR - "${CUDA_ROOT}" - RELEASE_LIBRARY_DIR - "${CUDA_DRIVER_DIR}" - DEBUG_LIBRARY_DIR - "${CUDA_DRIVER_DIR}" - RELEASE_LIBRARIES - cuda - DEBUG_LIBRARIES - cuda - TARGET_NAMES - cuda) - # cmake-format: on -endif() - -if(WIN32) - # cmake-format: off - add_prebuilt_project( - RELEASE_INCLUDE_DIR - "${CUDA_ROOT}" - DEBUG_INCLUDE_DIR - "${CUDA_ROOT}" - RELEASE_LIBRARY_DIR - "${CUDA_ROOT}/cuda/lib/x64" - RELEASE_DLL_DIR - "${CUDA_ROOT}/cuda/bin" - DEBUG_LIBRARY_DIR - "${CUDA_ROOT}/cuda/lib/x64" - DEBUG_DLL_DIR - "${CUDA_ROOT}/cuda/bin" - RELEASE_LIBRARIES - nvrtc - DEBUG_LIBRARIES - nvrtc - RELEASE_DLL_LIBRARIES - nvrtc64_112_0 - DEBUG_DLL_LIBRARIES - nvrtc64_112_0 - TARGET_NAMES - nvrtc - ) - # cmake-format: on -else() - # cmake-format: off - add_prebuilt_project( - RELEASE_INCLUDE_DIR - "${CUDA_ROOT}" - DEBUG_INCLUDE_DIR - "${CUDA_ROOT}" - RELEASE_LIBRARY_DIR - "${CUDA_ROOT}/cuda/lib64" - DEBUG_LIBRARY_DIR - "${CUDA_ROOT}/cuda/lib64" - RELEASE_LIBRARIES - nvrtc - DEBUG_LIBRARIES - nvrtc - TARGET_NAMES - nvrtc - ) - # cmake-format: on -endif() - # cmake-format: off # omni.ui gives us access to DynamicTextureProvider.h add_prebuilt_project( diff --git a/extern/nvidia/deps/target-deps.packman.xml b/extern/nvidia/deps/target-deps.packman.xml index 67cc0c76..d54b288c 100644 --- a/extern/nvidia/deps/target-deps.packman.xml +++ b/extern/nvidia/deps/target-deps.packman.xml @@ -6,7 +6,6 @@ - @@ -14,5 +13,4 @@ - diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index d3e05a3c..2738b56e 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -210,7 +210,6 @@ setup_lib( carb omni_kit omni_ui - cuda pybind11 python310 ADDITIONAL_LIBRARIES From fa74494831190c60b66b1051fd085434f137fac1 Mon Sep 17 00:00:00 2001 From: Sean Lilley Date: Mon, 30 Sep 2024 19:59:05 -0400 Subject: [PATCH 3/9] Uninstall conflicting system packages --- .github/workflows/main.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 61539b90..45f454bf 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -138,8 +138,9 @@ jobs: if: ${{ runner.os == 'Linux' && matrix.config.name != 'AlmaLinux 8 - GCC' }} run: | sudo apt update + sudo apt remove python3-urllib3 python3-distro sudo apt install -y doxygen clang-tidy-15 gcovr - sudo pip3 install conan==1.63.0 black==23.1.0 flake8==6.0.0 + sudo pip3 install conan==1.63.0 black==23.1.0 flake8==6.0.0 --break-system-packages # Could not figure out how to add Chocolatey libraries to the PATH automatically with refreshenv, so # hardcoding their locations instead. Followed these instructions for adding to the PATH on PowerShell: From f3aa4df56ab61429525679e26a1dedd82b5440a9 Mon Sep 17 00:00:00 2001 From: Sean Lilley Date: Mon, 30 Sep 2024 20:41:56 -0400 Subject: [PATCH 4/9] Switch to gcc-13 on CI --- .github/workflows/main.yml | 8 ++++---- docker/AlmaLinux8.Dockerfile | 8 ++++---- docker/CentOS7.Dockerfile | 16 ++++++++-------- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 45f454bf..1f48b48f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -34,8 +34,8 @@ jobs: name: "Ubuntu - GCC", artifact: "linux-gcc.tar.xz", os: ubuntu-latest, - cc: "gcc-11", - cxx: "g++-11", + cc: "gcc-13", + cxx: "g++-13", build-type: "Release", build-code: "Ubuntu", cache-type: "Linux", @@ -46,8 +46,8 @@ jobs: name: "AlmaLinux 8 - GCC", artifact: "linux-gcc.tar.xz", os: ubuntu-latest, - cc: "gcc-11", - cxx: "g++-11", + cc: "gcc-13", + cxx: "g++-13", build-type: "Release", build-code: "AlmaLinux8", cache-type: "Linux", diff --git a/docker/AlmaLinux8.Dockerfile b/docker/AlmaLinux8.Dockerfile index 45a0448b..a7b0edbd 100644 --- a/docker/AlmaLinux8.Dockerfile +++ b/docker/AlmaLinux8.Dockerfile @@ -12,8 +12,8 @@ RUN dnf install -y -q \ git \ git-lfs \ wget \ - gcc-toolset-11 \ - gcc-toolset-11-libubsan-devel \ + gcc-toolset-13 \ + gcc-toolset-13-libubsan-devel \ make \ doxygen \ curl-devel \ @@ -29,8 +29,8 @@ RUN dnf install -y -q \ sqlite-devel \ xz-devel -# Enables gcc 11 for use within the docker image. -RUN echo "source /opt/rh/gcc-toolset-11/enable" >> /etc/bashrc +# Enables gcc 13 for use within the docker image. +RUN echo "source /opt/rh/gcc-toolset-13/enable" >> /etc/bashrc SHELL ["/bin/bash", "--login", "-c"] # Install newer version of Python diff --git a/docker/CentOS7.Dockerfile b/docker/CentOS7.Dockerfile index cedf418b..5dc92b5a 100644 --- a/docker/CentOS7.Dockerfile +++ b/docker/CentOS7.Dockerfile @@ -10,10 +10,10 @@ RUN yum install -y -q \ centos-release-scl RUN yum install -y -q \ - # for gcc-11 - devtoolset-11-toolchain \ + # for gcc-13 + devtoolset-13-toolchain \ # for ubsan - devtoolset-11-libubsan-devel \ + devtoolset-13-libubsan-devel \ # get a newer version of git and git-lfs # CentOS 7 comes with version 1.8.3.1 by default, which is from 2013! rh-git218 \ @@ -34,11 +34,11 @@ RUN yum install -y -q \ xz-devel \ # Create links to some of the custom packages -RUN update-alternatives --install /usr/bin/gcc gcc /opt/rh/devtoolset-11/root/usr/bin/gcc 100 && \ - update-alternatives --install /usr/bin/g++ g++ /opt/rh/devtoolset-11/root/usr/bin/g++ 100 && \ - update-alternatives --install /usr/bin/cc cc /opt/rh/devtoolset-11/root/usr/bin/gcc 100 && \ - update-alternatives --install /usr/bin/c++ c++ /opt/rh/devtoolset-11/root/usr/bin/g++ 100 && \ - update-alternatives --install /usr/bin/gcov gcov /opt/rh/devtoolset-11/root/usr/bin/gcov 100 && \ +RUN update-alternatives --install /usr/bin/gcc gcc /opt/rh/devtoolset-13/root/usr/bin/gcc 100 && \ + update-alternatives --install /usr/bin/g++ g++ /opt/rh/devtoolset-13/root/usr/bin/g++ 100 && \ + update-alternatives --install /usr/bin/cc cc /opt/rh/devtoolset-13/root/usr/bin/gcc 100 && \ + update-alternatives --install /usr/bin/c++ c++ /opt/rh/devtoolset-13/root/usr/bin/g++ 100 && \ + update-alternatives --install /usr/bin/gcov gcov /opt/rh/devtoolset-13/root/usr/bin/gcov 100 && \ update-alternatives --install /usr/bin/git git /opt/rh/rh-git218/root/usr/bin/git 100 && \ update-alternatives --install /usr/bin/git-lfs git-lfs /opt/rh/rh-git218/root/usr/bin/git-lfs 100 From 2e993a68be11c8977f199c969c93fd92a6ff0ffb Mon Sep 17 00:00:00 2001 From: Sean Lilley Date: Mon, 30 Sep 2024 21:41:55 -0400 Subject: [PATCH 5/9] Update flake8 --- .github/workflows/main.yml | 4 ++-- docs/developer-setup/README.md | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1f48b48f..ef38f545 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -140,7 +140,7 @@ jobs: sudo apt update sudo apt remove python3-urllib3 python3-distro sudo apt install -y doxygen clang-tidy-15 gcovr - sudo pip3 install conan==1.63.0 black==23.1.0 flake8==6.0.0 --break-system-packages + sudo pip3 install conan==1.63.0 black==23.1.0 flake8==7.1.1 --break-system-packages # Could not figure out how to add Chocolatey libraries to the PATH automatically with refreshenv, so # hardcoding their locations instead. Followed these instructions for adding to the PATH on PowerShell: @@ -152,7 +152,7 @@ jobs: run: | choco install -y conan --version 1.63.0 choco install -y llvm --version=15.0.7 --allow-downgrade - pip3 install black==23.1.0 flake8==6.0.0 requests + pip3 install black==23.1.0 flake8==7.1.1 requests echo "C:/Program Files/conan/conan" >> $env:GITHUB_PATH # Note: CMAKE_BUILD_TYPE is only used by Linux. It is ignored for Windows. diff --git a/docs/developer-setup/README.md b/docs/developer-setup/README.md index 407d812c..9257a9b5 100644 --- a/docs/developer-setup/README.md +++ b/docs/developer-setup/README.md @@ -64,7 +64,7 @@ See [Linux](#linux) or [Windows](#windows) for step-by-step installation instruc ``` - Install `black` and `flake8` ```sh - pip3 install black==23.1.0 flake8==6.0.0 + pip3 install black==23.1.0 flake8==7.1.1 ``` - Add symlinks the clang-15 tools so that the correct version is chosen when running `clang-format`, `clang-tidy`, etc ```sh @@ -127,7 +127,7 @@ There are two ways to install prerequisites for Windows, [manually](#install-man ``` - Install `black` and `flake8` ```sh - pip3 install black==23.1.0 flake8==6.0.0 + pip3 install black==23.1.0 flake8==7.1.1 ``` - Install `colorama` to enable color diff support ```sh @@ -181,7 +181,7 @@ There are two ways to install prerequisites for Windows, [manually](#install-man ``` - Install `black` and `flake8` ```sh - pip3 install black==23.1.0 flake8==6.0.0 + pip3 install black==23.1.0 flake8==7.1.1 ``` - Install `colorama` to enable color diff support ```sh From f1836b06444cafa6616a34c3c5b02f05ba13e65b Mon Sep 17 00:00:00 2001 From: Sean Lilley Date: Mon, 30 Sep 2024 22:18:27 -0400 Subject: [PATCH 6/9] Use different cache key for conan --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ef38f545..05e0aed7 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -87,7 +87,7 @@ jobs: uses: actions/cache@v3 with: path: ${{ env.CONAN_USER_HOME }}/.conan - key: conan-${{ matrix.config.name }}-${{ hashFiles('cmake/AddConanDependencies.cmake') }}-v3 + key: conan-${{ matrix.config.name }}-${{ hashFiles('cmake/AddConanDependencies.cmake') }}-v4 # Tell ezvcpkg to look for or create its build folder (.ezvcpkg) in the repository's root directory # This is partly done to make the directory easily accessible to Docker builds From d7d0fe748bddc1c247f7181a0ac0c1d7b4bd4375 Mon Sep 17 00:00:00 2001 From: Sean Lilley Date: Mon, 30 Sep 2024 22:28:03 -0400 Subject: [PATCH 7/9] Update docker image --- docker/CI.Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/CI.Dockerfile b/docker/CI.Dockerfile index ae90c4a0..4515d1a6 100644 --- a/docker/CI.Dockerfile +++ b/docker/CI.Dockerfile @@ -1,4 +1,4 @@ -FROM cesiumgs/omniverse-almalinux8-build:2024-09-12 +FROM cesiumgs/omniverse-almalinux8-build:2024-09-30 WORKDIR /var/app From 38d7184b0d0c149130e3840d76bd993a067cd805 Mon Sep 17 00:00:00 2001 From: Sean Lilley Date: Mon, 30 Sep 2024 22:46:29 -0400 Subject: [PATCH 8/9] Remove uninstaller line --- .github/workflows/main.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 05e0aed7..146e87f2 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -138,7 +138,6 @@ jobs: if: ${{ runner.os == 'Linux' && matrix.config.name != 'AlmaLinux 8 - GCC' }} run: | sudo apt update - sudo apt remove python3-urllib3 python3-distro sudo apt install -y doxygen clang-tidy-15 gcovr sudo pip3 install conan==1.63.0 black==23.1.0 flake8==7.1.1 --break-system-packages From c69d5164a48bfcd6251e02f20050d3781bea7673 Mon Sep 17 00:00:00 2001 From: Sean Lilley Date: Mon, 30 Sep 2024 22:50:51 -0400 Subject: [PATCH 9/9] Try --ignore-installed --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 146e87f2..b5be4590 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -139,7 +139,7 @@ jobs: run: | sudo apt update sudo apt install -y doxygen clang-tidy-15 gcovr - sudo pip3 install conan==1.63.0 black==23.1.0 flake8==7.1.1 --break-system-packages + sudo pip3 install conan==1.63.0 black==23.1.0 flake8==7.1.1 --break-system-packages --ignore-installed # Could not figure out how to add Chocolatey libraries to the PATH automatically with refreshenv, so # hardcoding their locations instead. Followed these instructions for adding to the PATH on PowerShell: