From a43c11bbaa7e424d092636840198ca5d210dd979 Mon Sep 17 00:00:00 2001 From: Beq Date: Fri, 15 Aug 2025 14:22:21 +0100 Subject: [PATCH 1/6] Test containerised build on Linux with g++14 toolchain. --- .github/workflows/build_viewer.yml | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build_viewer.yml b/.github/workflows/build_viewer.yml index 1aeb6d6b0c..e98c498e71 100644 --- a/.github/workflows/build_viewer.yml +++ b/.github/workflows/build_viewer.yml @@ -38,6 +38,9 @@ jobs: os: [macos-15,ubuntu-24.04,windows-2022] grid: [sl,os] variant: [regular, avx] + include: + - os: ubuntu-24.04 + container_image: ubuntu:22.04 # only Linux uses a container runs-on: ${{ matrix.os }} outputs: viewer_channel: ${{ steps.channel.outputs.viewer_channel }} @@ -101,12 +104,16 @@ jobs: with: swap-storage: false - # - name: Set gcc version on Linux - # if: runner.os == 'Linux' - # run: | - # echo "CC=gcc-10" >> $GITHUB_ENV - # echo "CXX=g++-10" >> $GITHUB_ENV - + - name: Install GCC-14 + if: runner.os == 'Linux' + run: | + apt-get update + apt-get install -y software-properties-common + add-apt-repository -y ppa:ubuntu-toolchain-r/test + apt-get update + apt-get install -y gcc-14 g++-14 + echo "CC=gcc-14" >> $GITHUB_ENV + echo "CXX=g++-14" >> $GITHUB_ENV - name: Setup rclone and download the folder uses: beqjanus/setup-rclone@main From 16a2ae0179094ac365d2e2ab4e66e7efc7c0cff0 Mon Sep 17 00:00:00 2001 From: Beq Date: Fri, 15 Aug 2025 17:02:34 +0100 Subject: [PATCH 2/6] Use sudo inside dockerised Ubuntu --- .github/workflows/build_viewer.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build_viewer.yml b/.github/workflows/build_viewer.yml index e98c498e71..45a4896b6e 100644 --- a/.github/workflows/build_viewer.yml +++ b/.github/workflows/build_viewer.yml @@ -29,7 +29,7 @@ env: fallback_platform: ${platform} FS_RELEASE_CHAN: ${FS_RELEASE_TYPE}x64 FS_GRID: "GRID FLAGS NOT SET" - PYTHON: + PYTHON: Unknown jobs: build_matrix: @@ -107,11 +107,11 @@ jobs: - name: Install GCC-14 if: runner.os == 'Linux' run: | - apt-get update - apt-get install -y software-properties-common - add-apt-repository -y ppa:ubuntu-toolchain-r/test - apt-get update - apt-get install -y gcc-14 g++-14 + sudo apt-get update + sudo apt-get install -y software-properties-common + sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test + sudo apt-get update + sudo apt-get install -y gcc-14 g++-14 echo "CC=gcc-14" >> $GITHUB_ENV echo "CXX=g++-14" >> $GITHUB_ENV From 683384987611403af095ca9b291bc5637b2125d2 Mon Sep 17 00:00:00 2001 From: Beq Date: Fri, 15 Aug 2025 18:12:38 +0100 Subject: [PATCH 3/6] Need to adjust runs-on to pick up the container properly --- .github/workflows/build_viewer.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build_viewer.yml b/.github/workflows/build_viewer.yml index 45a4896b6e..5c8697fc82 100644 --- a/.github/workflows/build_viewer.yml +++ b/.github/workflows/build_viewer.yml @@ -42,6 +42,7 @@ jobs: - os: ubuntu-24.04 container_image: ubuntu:22.04 # only Linux uses a container runs-on: ${{ matrix.os }} + container: ${{ matrix.container_image }} outputs: viewer_channel: ${{ steps.channel.outputs.viewer_channel }} viewer_version: ${{ steps.version.outputs.viewer_version }} From 0898e6dbb8232eb23c9884a2780892b65b271764 Mon Sep 17 00:00:00 2001 From: minerjr Date: Fri, 15 Aug 2025 14:34:04 -0300 Subject: [PATCH 4/6] Fix RelWithDebug compile issue in gltf\asset.cpp In indra\newview\gltf\asset.cpp when you compile in Visual Studio for windows with RelWithDebug, there is a compiling error due to #if being used instead #ifdef as the rest of the codebase uses. This is with the latest Visual Studio 17.14.11. The error given is Severity Code Description Project File Line Suppression State Details Error (active) E0029 expected an expression firestorm-bin G:\minerjr\firestorm\phoenix-firestorm\indra\newview\gltf\asset.cpp 592 Just changed #if's to #ifdef. Also moved the second #if to #ifdef on line 611 up before the assert as in Release both checks use the attribute_mask which is not defined as its only exists when SHOW_ASSERT exists. --- indra/newview/gltf/asset.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/indra/newview/gltf/asset.cpp b/indra/newview/gltf/asset.cpp index b9a8879fb1..e6dd9c1749 100644 --- a/indra/newview/gltf/asset.cpp +++ b/indra/newview/gltf/asset.cpp @@ -589,7 +589,7 @@ bool Asset::prep() for (U32 variant = 0; variant < LLGLSLShader::NUM_GLTF_VARIANTS; ++variant) { -#if SHOW_ASSERT +#ifdef SHOW_ASSERT U32 attribute_mask = 0; #endif // for each mesh @@ -606,10 +606,10 @@ bool Asset::prep() vertex_count[variant] += primitive.getVertexCount(); index_count[variant] += primitive.getIndexCount(); - +#ifdef SHOW_ASSERT // all primitives of a given variant and material should all have the same attribute mask llassert(attribute_mask == 0 || primitive.mAttributeMask == attribute_mask); -#if SHOW_ASSERT + attribute_mask |= primitive.mAttributeMask; #endif } From 42bf6d155e19236dc91bf492bb9ea6cb56e2f397 Mon Sep 17 00:00:00 2001 From: minerjr Date: Fri, 15 Aug 2025 19:54:21 -0300 Subject: [PATCH 5/6] Revert "Fix RelWithDebug compile issue in gltf\asset.cpp" This reverts commit 0898e6dbb8232eb23c9884a2780892b65b271764. --- indra/newview/gltf/asset.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/indra/newview/gltf/asset.cpp b/indra/newview/gltf/asset.cpp index e6dd9c1749..b9a8879fb1 100644 --- a/indra/newview/gltf/asset.cpp +++ b/indra/newview/gltf/asset.cpp @@ -589,7 +589,7 @@ bool Asset::prep() for (U32 variant = 0; variant < LLGLSLShader::NUM_GLTF_VARIANTS; ++variant) { -#ifdef SHOW_ASSERT +#if SHOW_ASSERT U32 attribute_mask = 0; #endif // for each mesh @@ -606,10 +606,10 @@ bool Asset::prep() vertex_count[variant] += primitive.getVertexCount(); index_count[variant] += primitive.getIndexCount(); -#ifdef SHOW_ASSERT + // all primitives of a given variant and material should all have the same attribute mask llassert(attribute_mask == 0 || primitive.mAttributeMask == attribute_mask); - +#if SHOW_ASSERT attribute_mask |= primitive.mAttributeMask; #endif } From df2df95a88a3eac7f3166c98ff35894e9a4ca76b Mon Sep 17 00:00:00 2001 From: Ansariel Date: Sat, 16 Aug 2025 11:46:57 +0200 Subject: [PATCH 6/6] Reapply "Fix RelWithDebug compile issue in gltf\asset.cpp" This reverts commit 42bf6d155e19236dc91bf492bb9ea6cb56e2f397. --- indra/newview/gltf/asset.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/indra/newview/gltf/asset.cpp b/indra/newview/gltf/asset.cpp index b9a8879fb1..e6dd9c1749 100644 --- a/indra/newview/gltf/asset.cpp +++ b/indra/newview/gltf/asset.cpp @@ -589,7 +589,7 @@ bool Asset::prep() for (U32 variant = 0; variant < LLGLSLShader::NUM_GLTF_VARIANTS; ++variant) { -#if SHOW_ASSERT +#ifdef SHOW_ASSERT U32 attribute_mask = 0; #endif // for each mesh @@ -606,10 +606,10 @@ bool Asset::prep() vertex_count[variant] += primitive.getVertexCount(); index_count[variant] += primitive.getIndexCount(); - +#ifdef SHOW_ASSERT // all primitives of a given variant and material should all have the same attribute mask llassert(attribute_mask == 0 || primitive.mAttributeMask == attribute_mask); -#if SHOW_ASSERT + attribute_mask |= primitive.mAttributeMask; #endif }