@@ -463,13 +463,26 @@ jobs:
463463 sudo apt-get clean
464464 sudo rm -rf /var/lib/apt/lists/*
465465
466- # Create symlinks to make llvm-cov and llvm-profdata available without version suffix
466+ # CRITICAL: Create symlinks to ensure clang-21 is used by build tools (tgn)
467+ # libc++-21 requires Clang 19+ and is incompatible with older Clang versions
468+ sudo ln -sf /usr/bin/clang-21 /usr/local/bin/clang
469+ sudo ln -sf /usr/bin/clang++-21 /usr/local/bin/clang++
470+ sudo ln -sf /usr/bin/llvm-ar-21 /usr/local/bin/llvm-ar
471+ sudo ln -sf /usr/bin/llvm-nm-21 /usr/local/bin/llvm-nm
472+ sudo ln -sf /usr/bin/llvm-ranlib-21 /usr/local/bin/llvm-ranlib
473+
474+ # Create symlinks for coverage tools
467475 sudo ln -sf /usr/bin/llvm-cov-21 /usr/local/bin/llvm-cov
468476 sudo ln -sf /usr/bin/llvm-profdata-21 /usr/local/bin/llvm-profdata
469477 sudo ln -sf /usr/bin/llvm-objdump-21 /usr/local/bin/llvm-objdump
470478
471479 # Verify installation
472- llvm-cov --version
480+ echo "=== Verifying Clang-21 is correctly linked ==="
481+ which clang
482+ clang --version | head -3
483+ which clang++
484+ clang++ --version | head -3
485+ llvm-cov --version | head -3
473486 llvm-profdata merge --version 2>&1 | head -3 || echo "llvm-profdata installed"
474487
475488 - name : Clean profraw files before tests
@@ -830,13 +843,26 @@ jobs:
830843 sudo apt-get clean
831844 sudo rm -rf /var/lib/apt/lists/*
832845
833- # Create symlinks to make llvm-cov and llvm-profdata available without version suffix
846+ # CRITICAL: Create symlinks to ensure clang-21 is used by build tools (tgn)
847+ # libc++-21 requires Clang 19+ and is incompatible with older Clang versions
848+ sudo ln -sf /usr/bin/clang-21 /usr/local/bin/clang
849+ sudo ln -sf /usr/bin/clang++-21 /usr/local/bin/clang++
850+ sudo ln -sf /usr/bin/llvm-ar-21 /usr/local/bin/llvm-ar
851+ sudo ln -sf /usr/bin/llvm-nm-21 /usr/local/bin/llvm-nm
852+ sudo ln -sf /usr/bin/llvm-ranlib-21 /usr/local/bin/llvm-ranlib
853+
854+ # Create symlinks for coverage tools
834855 sudo ln -sf /usr/bin/llvm-cov-21 /usr/local/bin/llvm-cov
835856 sudo ln -sf /usr/bin/llvm-profdata-21 /usr/local/bin/llvm-profdata
836857 sudo ln -sf /usr/bin/llvm-objdump-21 /usr/local/bin/llvm-objdump
837858
838859 # Verify installation
839- llvm-cov --version
860+ echo "=== Verifying Clang-21 is correctly linked ==="
861+ which clang
862+ clang --version | head -3
863+ which clang++
864+ clang++ --version | head -3
865+ llvm-cov --version | head -3
840866 llvm-profdata merge --version 2>&1 | head -3 || echo "llvm-profdata installed"
841867
842868 - name : Clean profraw files before tests
@@ -1055,13 +1081,26 @@ jobs:
10551081 sudo apt-get clean
10561082 sudo rm -rf /var/lib/apt/lists/*
10571083
1058- # Create symlinks to make llvm-cov and llvm-profdata available without version suffix
1084+ # CRITICAL: Create symlinks to ensure clang-21 is used by build tools (tgn)
1085+ # libc++-21 requires Clang 19+ and is incompatible with older Clang versions
1086+ sudo ln -sf /usr/bin/clang-21 /usr/local/bin/clang
1087+ sudo ln -sf /usr/bin/clang++-21 /usr/local/bin/clang++
1088+ sudo ln -sf /usr/bin/llvm-ar-21 /usr/local/bin/llvm-ar
1089+ sudo ln -sf /usr/bin/llvm-nm-21 /usr/local/bin/llvm-nm
1090+ sudo ln -sf /usr/bin/llvm-ranlib-21 /usr/local/bin/llvm-ranlib
1091+
1092+ # Create symlinks for coverage tools
10591093 sudo ln -sf /usr/bin/llvm-cov-21 /usr/local/bin/llvm-cov
10601094 sudo ln -sf /usr/bin/llvm-profdata-21 /usr/local/bin/llvm-profdata
10611095 sudo ln -sf /usr/bin/llvm-objdump-21 /usr/local/bin/llvm-objdump
10621096
10631097 # Verify installation
1064- llvm-cov --version
1098+ echo "=== Verifying Clang-21 is correctly linked ==="
1099+ which clang
1100+ clang --version | head -3
1101+ which clang++
1102+ clang++ --version | head -3
1103+ llvm-cov --version | head -3
10651104 llvm-profdata merge --version 2>&1 | head -3 || echo "llvm-profdata installed"
10661105
10671106 - name : Clean profraw files before tests
@@ -1281,13 +1320,26 @@ jobs:
12811320 sudo apt-get clean
12821321 sudo rm -rf /var/lib/apt/lists/*
12831322
1284- # Create symlinks to make llvm-cov and llvm-profdata available without version suffix
1323+ # CRITICAL: Create symlinks to ensure clang-21 is used by build tools (tgn)
1324+ # libc++-21 requires Clang 19+ and is incompatible with older Clang versions
1325+ sudo ln -sf /usr/bin/clang-21 /usr/local/bin/clang
1326+ sudo ln -sf /usr/bin/clang++-21 /usr/local/bin/clang++
1327+ sudo ln -sf /usr/bin/llvm-ar-21 /usr/local/bin/llvm-ar
1328+ sudo ln -sf /usr/bin/llvm-nm-21 /usr/local/bin/llvm-nm
1329+ sudo ln -sf /usr/bin/llvm-ranlib-21 /usr/local/bin/llvm-ranlib
1330+
1331+ # Create symlinks for coverage tools
12851332 sudo ln -sf /usr/bin/llvm-cov-21 /usr/local/bin/llvm-cov
12861333 sudo ln -sf /usr/bin/llvm-profdata-21 /usr/local/bin/llvm-profdata
12871334 sudo ln -sf /usr/bin/llvm-objdump-21 /usr/local/bin/llvm-objdump
12881335
12891336 # Verify installation
1290- llvm-cov --version
1337+ echo "=== Verifying Clang-21 is correctly linked ==="
1338+ which clang
1339+ clang --version | head -3
1340+ which clang++
1341+ clang++ --version | head -3
1342+ llvm-cov --version | head -3
12911343 llvm-profdata merge --version 2>&1 | head -3 || echo "llvm-profdata installed"
12921344
12931345 - name : Clean profraw files before tests
@@ -1507,13 +1559,26 @@ jobs:
15071559 sudo apt-get clean
15081560 sudo rm -rf /var/lib/apt/lists/*
15091561
1510- # Create symlinks to make llvm-cov and llvm-profdata available without version suffix
1562+ # CRITICAL: Create symlinks to ensure clang-21 is used by build tools (tgn)
1563+ # libc++-21 requires Clang 19+ and is incompatible with older Clang versions
1564+ sudo ln -sf /usr/bin/clang-21 /usr/local/bin/clang
1565+ sudo ln -sf /usr/bin/clang++-21 /usr/local/bin/clang++
1566+ sudo ln -sf /usr/bin/llvm-ar-21 /usr/local/bin/llvm-ar
1567+ sudo ln -sf /usr/bin/llvm-nm-21 /usr/local/bin/llvm-nm
1568+ sudo ln -sf /usr/bin/llvm-ranlib-21 /usr/local/bin/llvm-ranlib
1569+
1570+ # Create symlinks for coverage tools
15111571 sudo ln -sf /usr/bin/llvm-cov-21 /usr/local/bin/llvm-cov
15121572 sudo ln -sf /usr/bin/llvm-profdata-21 /usr/local/bin/llvm-profdata
15131573 sudo ln -sf /usr/bin/llvm-objdump-21 /usr/local/bin/llvm-objdump
15141574
15151575 # Verify installation
1516- llvm-cov --version
1576+ echo "=== Verifying Clang-21 is correctly linked ==="
1577+ which clang
1578+ clang --version | head -3
1579+ which clang++
1580+ clang++ --version | head -3
1581+ llvm-cov --version | head -3
15171582 llvm-profdata merge --version 2>&1 | head -3 || echo "llvm-profdata installed"
15181583
15191584 - name : Clean profraw files before tests
@@ -1753,13 +1818,26 @@ jobs:
17531818 sudo apt-get clean
17541819 sudo rm -rf /var/lib/apt/lists/*
17551820
1756- # Create symlinks to make llvm-cov and llvm-profdata available without version suffix
1821+ # CRITICAL: Create symlinks to ensure clang-21 is used by build tools (tgn)
1822+ # libc++-21 requires Clang 19+ and is incompatible with older Clang versions
1823+ sudo ln -sf /usr/bin/clang-21 /usr/local/bin/clang
1824+ sudo ln -sf /usr/bin/clang++-21 /usr/local/bin/clang++
1825+ sudo ln -sf /usr/bin/llvm-ar-21 /usr/local/bin/llvm-ar
1826+ sudo ln -sf /usr/bin/llvm-nm-21 /usr/local/bin/llvm-nm
1827+ sudo ln -sf /usr/bin/llvm-ranlib-21 /usr/local/bin/llvm-ranlib
1828+
1829+ # Create symlinks for coverage tools
17571830 sudo ln -sf /usr/bin/llvm-cov-21 /usr/local/bin/llvm-cov
17581831 sudo ln -sf /usr/bin/llvm-profdata-21 /usr/local/bin/llvm-profdata
17591832 sudo ln -sf /usr/bin/llvm-objdump-21 /usr/local/bin/llvm-objdump
17601833
17611834 # Verify installation
1762- llvm-cov --version
1835+ echo "=== Verifying Clang-21 is correctly linked ==="
1836+ which clang
1837+ clang --version | head -3
1838+ which clang++
1839+ clang++ --version | head -3
1840+ llvm-cov --version | head -3
17631841 llvm-profdata merge --version 2>&1 | head -3 || echo "llvm-profdata installed"
17641842
17651843 - name : Install Go for building Go apps
0 commit comments