Skip to content

Build Failure: Clang PCH compilation fails due to mismatched signed integer overflow handling flags #809

@daedaevibin

Description

@daedaevibin

Describe the issue

The package fails to compile during the build() stage when invoking src/services/pipewire targets. Clang rejects the generated Precompiled Header (qs-pchset-common.dir/cmake_pch.hxx.pch) due to a strict flag/semantic mismatch between how the PCH is initially evaluated and how individual translation units (like qml.cpp and mocs_compilation.cpp) are compiled.

This happens because the project applies explicit strict-overflow configurations (-fno-strict-overflow / -fno-strict-aliasing) to specific target scopes without ensuring those exact definitions are propagated upstream to the unified PCH target generation. When Clang parses a PCH with conflicting integer overflow handling definitions, it drops out with a fatal error. This issue persists even when all external user compiler flags, environment variables, and cache wrappers are completely stripped out.

Logs
FAILED: [code=1] src/services/pipewire/CMakeFiles/quickshell-service-pipewire.dir/quickshell-service-pipewire_autogen/mocs_compilation.cpp.o 
/usr/lib/ccache/bin/clang++ -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_QMLINTEGRATION_LIB -DQT_QML_LIB -DQT_QUICK_LIB -D_REENTRANT -I/home/dae/.cache/dots-hyprland/sdata/dist-arch/illogical-impulse-quickshell-git/src/quickshell/build/src/services/pipewire/quickshell-service-pipewire_autogen/include -I/home/dae/.cache/dots-hyprland/sdata/dist-arch/illogical-impulse-quickshell-git/src/quickshell/src/services/pipewire -isystem /usr/include/qt6/QtQml -isystem /usr/include/qt6 -isystem /usr/include/qt6/QtCore -isystem /usr/lib/qt6/mkspecs/linux-g++ -isystem /usr/include/qt6/QtQmlIntegration -isystem /usr/include/qt6/QtNetwork -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/qt6/QtQuick -isystem /usr/include/qt6/QtGui -isystem /usr/include/qt6/QtOpenGL -march=native -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -Wp,-D_GLIBCXX_ASSERTIONS -flto=auto -O2 -g -DNDEBUG -std=gnu++20 -Wall -Wextra -Wno-vla-cxx-extension -fno-direct-access-external-data -D_REENTRANT -fno-strict-aliasing -fno-strict-overflow -Winvalid-pch -Xclang -include-pch -Xclang /home/dae/.cache/dots-hyprland/sdata/dist-arch/illogical-impulse-quickshell-git/src/quickshell/build/CMakeFiles/qs-pchset-common.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /home/dae/.cache/dots-hyprland/sdata/dist-arch/illogical-impulse-quickshell-git/src/quickshell/build/CMakeFiles/qs-pchset-common.dir/cmake_pch.hxx -MD -MT src/services/pipewire/CMakeFiles/quickshell-service-pipewire.dir/quickshell-service-pipewire_autogen/mocs_compilation.cpp.o -MF src/services/pipewire/CMakeFiles/quickshell-service-pipewire.dir/quickshell-service-pipewire_autogen/mocs_compilation.cpp.o.d -o src/services/pipewire/CMakeFiles/quickshell-service-pipewire.dir/quickshell-service-pipewire_autogen/mocs_compilation.cpp.o -c /home/dae/.cache/dots-hyprland/sdata/dist-arch/illogical-impulse-quickshell-git/src/quickshell/build/src/services/pipewire/quickshell-service-pipewire_autogen/mocs_compilation.cpp
error: signed integer overflow handling differs in precompiled file '/home/dae/.cache/dots-hyprland/sdata/dist-arch/illogical-impulse-quickshell-git/src/quickshell/build/CMakeFiles/qs-pchset-common.dir/cmake_pch.hxx.pch' vs. current file
1 error generated.
[908/1276] 122.295 Building CXX object src/services/pipewire/CMakeFiles/quickshell-service-pipewire.dir/qml.cpp.o
FAILED: [code=1] src/services/pipewire/CMakeFiles/quickshell-service-pipewire.dir/qml.cpp.o 
/usr/lib/ccache/bin/clang++ -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_QMLINTEGRATION_LIB -DQT_QML_LIB -DQT_QUICK_LIB -D_REENTRANT -I/home/dae/.cache/dots-hyprland/sdata/dist-arch/illogical-impulse-quickshell-git/src/quickshell/build/src/services/pipewire/quickshell-service-pipewire_autogen/include -I/home/dae/.cache/dots-hyprland/sdata/dist-arch/illogical-impulse-quickshell-git/src/quickshell/src/services/pipewire -isystem /usr/include/qt6/QtQml -isystem /usr/include/qt6 -isystem /usr/include/qt6/QtCore -isystem /usr/lib/qt6/mkspecs/linux-g++ -isystem /usr/include/qt6/QtQmlIntegration -isystem /usr/include/qt6/QtNetwork -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/qt6/QtQuick -isystem /usr/include/qt6/QtGui -isystem /usr/include/qt6/QtOpenGL -march=native -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -Wp,-D_GLIBCXX_ASSERTIONS -flto=auto -O2 -g -DNDEBUG -std=gnu++20 -Wall -Wextra -Wno-vla-cxx-extension -fno-direct-access-external-data -D_REENTRANT -fno-strict-aliasing -fno-strict-overflow -Winvalid-pch -Xclang -include-pch -Xclang /home/dae/.cache/dots-hyprland/sdata/dist-arch/illogical-impulse-quickshell-git/src/quickshell/build/CMakeFiles/qs-pchset-common.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /home/dae/.cache/dots-hyprland/sdata/dist-arch/illogical-impulse-quickshell-git/src/quickshell/build/CMakeFiles/qs-pchset-common.dir/cmake_pch.hxx -MD -MT src/services/pipewire/CMakeFiles/quickshell-service-pipewire.dir/qml.cpp.o -MF src/services/pipewire/CMakeFiles/quickshell-service-pipewire.dir/qml.cpp.o.d -o src/services/pipewire/CMakeFiles/quickshell-service-pipewire.dir/qml.cpp.o -c /home/dae/.cache/dots-hyprland/sdata/dist-arch/illogical-impulse-quickshell-git/src/quickshell/src/services/pipewire/qml.cpp
error: signed integer overflow handling differs in precompiled file '/home/dae/.cache/dots-hyprland/sdata/dist-arch/illogical-impulse-quickshell-git/src/quickshell/build/CMakeFiles/qs-pchset-common.dir/cmake_pch.hxx.pch' vs. current file
1 error generated.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions