EternalTerminal icon indicating copy to clipboard operation
EternalTerminal copied to clipboard

Compile issue on Arch w/ gcc 15.1.1

Open fryfrog opened this issue 7 months ago • 6 comments

I'm getting a compile failure on Arch Linux w/ gcc 15.1.1. Happy to provide any other useful information!

fryfrog@apollo ~  ❯ gcc --version
gcc (GCC) 15.1.1 20250425
[ 36%] Building CXX object external_imported/sentry-native/crashpad_build/util/CMakeFiles/crashpad_util.dir/misc/random_string.cc.o
[ 36%] Building CXX object external_imported/sentry-native/crashpad_build/util/CMakeFiles/crashpad_util.dir/misc/range_set.cc.o
[ 37%] Building CXX object external_imported/sentry-native/crashpad_build/util/CMakeFiles/crashpad_util.dir/misc/reinterpret_bytes.cc.o
In file included from /home/fryfrog/.cache/paru/clone/eternalterminal/src/EternalTerminal-et-v6.2.9/external_imported/sentry-native/external/crashpad/util/file/scoped_remove_file.cc:17:
/home/fryfrog/.cache/paru/clone/eternalterminal/src/EternalTerminal-et-v6.2.9/external_imported/sentry-native/external/crashpad/util/file/filesystem.h:119:1: error: ‘uint64_t’ does not name a type
  119 | uint64_t GetFileSize(const base::FilePath& filepath);
      | ^~~~~~~~
/home/fryfrog/.cache/paru/clone/eternalterminal/src/EternalTerminal-et-v6.2.9/external_imported/sentry-native/external/crashpad/util/file/filesystem.h:22:1: note: ‘uint64_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’          21 | #include "util/file/file_io.h"
  +++ |+#include <cstdint>
   22 |
/home/fryfrog/.cache/paru/clone/eternalterminal/src/EternalTerminal-et-v6.2.9/external_imported/sentry-native/external/crashpad/util/file/filesystem.h:128:1: error: ‘uint64_t’ does not name a type
  128 | uint64_t GetDirectorySize(const base::FilePath& dirPath);
      | ^~~~~~~~
/home/fryfrog/.cache/paru/clone/eternalterminal/src/EternalTerminal-et-v6.2.9/external_imported/sentry-native/external/crashpad/util/file/filesystem.h:128:1: note: ‘uint64_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
[ 37%] Building CXX object external_imported/sentry-native/crashpad_build/util/CMakeFiles/crashpad_util.dir/misc/scoped_forbid_return.cc.o
[ 37%] Building CXX object external_imported/sentry-native/crashpad_build/util/CMakeFiles/crashpad_util.dir/misc/time.cc.o
make[2]: *** [external_imported/sentry-native/crashpad_build/util/CMakeFiles/crashpad_util.dir/build.make:177: external_imported/sentry-native/crashpad_build/util/CMakeFiles/crashpad_util.dir/file/scoped_remove_file.cc.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:1116: external_imported/sentry-native/crashpad_build/util/CMakeFiles/crashpad_util.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 37%] Linking CXX static library libCatch2.a
[ 37%] Built target Catch2
[ 37%] Building CXX object CMakeFiles/et-lib.dir/external_imported/easyloggingpp/src/easylogging++.cc.o
[ 37%] Building CXX object CMakeFiles/et-lib.dir/src/base/BackedWriter.cpp.o
[ 37%] Building CXX object CMakeFiles/et-lib.dir/src/base/BackedReader.cpp.o
[ 39%] Building CXX object CMakeFiles/et-lib.dir/external_imported/PlatformFolders/sago/platform_folders.cpp.o
[ 39%] Building CXX object CMakeFiles/et-lib.dir/src/base/ClientConnection.cpp.o
[ 39%] Building CXX object CMakeFiles/et-lib.dir/src/base/CryptoHandler.cpp.o
[ 39%] Building CXX object CMakeFiles/et-lib.dir/src/base/Connection.cpp.o
[ 39%] Building CXX object CMakeFiles/et-lib.dir/src/base/ServerConnection.cpp.o
[ 39%] Building CXX object CMakeFiles/et-lib.dir/src/base/ServerClientConnection.cpp.o
[ 39%] Building CXX object CMakeFiles/et-lib.dir/src/base/SocketHandler.cpp.o
[ 39%] Building CXX object CMakeFiles/et-lib.dir/src/base/TcpSocketHandler.cpp.o
[ 39%] Building CXX object CMakeFiles/et-lib.dir/src/base/UnixSocketHandler.cpp.o
[ 39%] Building CXX object CMakeFiles/et-lib.dir/src/base/LogHandler.cpp.o
[ 41%] Building CXX object CMakeFiles/et-lib.dir/src/base/PipeSocketHandler.cpp.o
[ 41%] Building CXX object CMakeFiles/et-lib.dir/src/base/RawSocketUtils.cpp.o
[ 41%] Building CXX object CMakeFiles/et-lib.dir/src/base/SubprocessToString.cpp.o
[ 41%] Building CXX object CMakeFiles/et-lib.dir/src/base/DaemonCreator.cpp.o
[ 41%] Building CXX object CMakeFiles/et-lib.dir/src/base/TunnelUtils.cpp.o
[ 42%] Building CXX object CMakeFiles/et-lib.dir/ET.pb.cc.o
In file included from /usr/include/absl/hash/internal/hash.h:33,
                 from /usr/include/absl/hash/hash.h:89,
                 from /usr/include/google/protobuf/map.h:35,
                 from /usr/include/google/protobuf/generated_message_tctable_impl.h:23,
                 from /home/fryfrog/.cache/paru/clone/eternalterminal/src/EternalTerminal-et-v6.2.9/build/ET.pb.cc:11:
/usr/include/c++/15.1.1/ciso646:46:4: warning: #warning "<ciso646> is deprecated in C++17, use <version> to detect implementation-specific macros" [-Wcpp]
   46 | #  warning "<ciso646> is deprecated in C++17, use <version> to detect implementation-specific macros"
      |    ^~~~~~~
[ 42%] Linking CXX static library libet-lib.a
[ 42%] Built target et-lib

fryfrog avatar May 03 '25 16:05 fryfrog

Adding the suggested #include <cstdint> to external_imported/sentry-native/external/crashpad/util/file/filesystem.h did fix it, but it wasn't quickly obvious to me where this is in the repo.

fryfrog avatar May 03 '25 16:05 fryfrog

Can you verify that this is fixed in the master branch?

MisterTea avatar May 05 '25 14:05 MisterTea

Sadly I get...

CMake Warning (dev) at scripts/cmake/vcpkg_find_acquire_program.cmake:30 (cmake_parse_arguments):
  The INTERPRETER keyword was followed by an empty string or no value at all.
  Policy CMP0174 is not set, so cmake_parse_arguments() will unset the
  arg_INTERPRETER variable rather than setting it to an empty string.
Call Stack (most recent call first):
  scripts/cmake/vcpkg_find_acquire_program.cmake:149 (z_vcpkg_find_acquire_program_find_external)
  /home/fryfrog/git/EternalTerminal/build/vcpkg_installed/x64-linux/share/vcpkg-cmake/vcpkg_cmake_configure.cmake:113 (vcpkg_find_acquire_program)
  ports/platform-folders/portfile.cmake:12 (vcpkg_cmake_configure)
  scripts/ports.cmake:175 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found external ninja('1.12.1').
-- Configuring x64-linux
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:112 (message):
    Command failed: /usr/bin/ninja -v
    Working Directory: /home/fryfrog/git/EternalTerminal/external/vcpkg/buildtrees/platform-folders/x64-linux-rel/vcpkg-parallel-configure
    Error code: 1
    See logs for more information:
      /home/fryfrog/git/EternalTerminal/external/vcpkg/buildtrees/platform-folders/config-x64-linux-dbg-CMakeCache.txt.log
      /home/fryfrog/git/EternalTerminal/external/vcpkg/buildtrees/platform-folders/config-x64-linux-rel-CMakeCache.txt.log                                                                                                                                     /home/fryfrog/git/EternalTerminal/external/vcpkg/buildtrees/platform-folders/config-x64-linux-out.log                                                                                                                                                                                                                                                                                                                                                                                                       Call Stack (most recent call first):                                                                                                                                                                                                                       /home/fryfrog/git/EternalTerminal/build/vcpkg_installed/x64-linux/share/vcpkg-cmake/vcpkg_cmake_configure.cmake:261 (vcpkg_execute_required_process)                                                                                                     ports/platform-folders/portfile.cmake:12 (vcpkg_cmake_configure)                                                                                                                                                                                         scripts/ports.cmake:175 (include)

                                                                                                                                                                                                                                                         error: building platform-folders:x64-linux failed with: BUILD_FAILED                                                                                                                                                                                     Elapsed time to handle platform-folders:x64-linux: 121 ms                                                                                                                                                                                                Please ensure you're using the latest port files with `git pull` and `vcpkg update`.                                                                                                                                                                     Then check for known issues at:                                                                                                                                                                                                                            https://github.com/microsoft/vcpkg/issues?q=is%3Aissue+is%3Aopen+in%3Atitle+platform-folders                                                                                                                                                           You can submit a new issue at:
  https://github.com/microsoft/vcpkg/issues/new?title=[platform-folders]+Build+error+on+x64-linux&body=Copy+issue+body+from+%2Fhome%2Ffryfrog%2Fgit%2FEternalTerminal%2Fbuild%2Fvcpkg_installed%2Fvcpkg%2Fissue_body.md

-- Running vcpkg install - failed
CMake Deprecation Warning at external/vcpkg/scripts/buildsystems/vcpkg.cmake:878 (cmake_policy):
  Compatibility with CMake < 3.10 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
  to tell CMake that the project requires at least <min> but has been updated
  to work with policies introduced by <max> or earlier.
Call Stack (most recent call first):
  /usr/share/cmake/Modules/CMakeDetermineSystem.cmake:146 (include)                                                                                                                                                                                        CMakeLists.txt:81 (project)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              CMake Error at external/vcpkg/scripts/buildsystems/vcpkg.cmake:899 (message):                                                                                                                                                                              vcpkg install failed.  See logs for more information:                                                                                                                                                                                                    /home/fryfrog/git/EternalTerminal/build/vcpkg-manifest-install.log
Call Stack (most recent call first):
  /usr/share/cmake/Modules/CMakeDetermineSystem.cmake:146 (include)                                                                                                                                                                                        CMakeLists.txt:81 (project)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              CMake Error: CMake was unable to find a build program corresponding to "Unix Makefiles".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.                                                                            -- Configuring incomplete, errors occurred!

When trying to build.

If I run ninja -v in the working directory, I get...

fryfrog@apollo …/platform-folders/x64-linux-rel/vcpkg-parallel-configure  on  HEAD (67cc167) ❯ ninja -v
[1/2] "/usr/bin/cmake" -E chdir "../../x64-linux-dbg" "/usr/bin/cmake" "/home/fryfrog/git/EternalTerminal/external/vcpkg/buildtrees/platform-folders/src/4.2.0-19d7621e39.clean" "-G" "Ninja" "-DCMAKE_BUILD_TYPE=Debug" "-DCMAKE_INSTALL_PREFIX=/home/fryfrog/git/EternalTerminal/external/vcpkg/packages/platform-folders_x64-linux/debug" "-DFETCHCONTENT_FULLY_DISCONNECTED=ON" "-DPLATFORMFOLDERS_BUILD_TESTING=OFF" "-DCMAKE_MAKE_PROGRAM=/usr/bin/ninja" "-DCMAKE_SYSTEM_NAME=Linux" "-DBUILD_SHARED_LIBS=OFF" "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=/home/fryfrog/git/EternalTerminal/external/vcpkg/scripts/toolchains/linux.cmake" "-DVCPKG_TARGET_TRIPLET=x64-linux" "-DVCPKG_SET_CHARSET_FLAG=ON" "-DVCPKG_PLATFORM_TOOLSET=external" "-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY=ON" "-DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=TRUE" "-DCMAKE_VERBOSE_MAKEFILE=ON" "-DVCPKG_APPLOCAL_DEPS=OFF" "-DCMAKE_TOOLCHAIN_FILE=/home/fryfrog/git/EternalTerminal/external/vcpkg/scripts/buildsystems/vcpkg.cmake" "-DCMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION=ON" "-DVCPKG_CXX_FLAGS=" "-DVCPKG_CXX_FLAGS_RELEASE=" "-DVCPKG_CXX_FLAGS_DEBUG=" "-DVCPKG_C_FLAGS=" "-DVCPKG_C_FLAGS_RELEASE=" "-DVCPKG_C_FLAGS_DEBUG=" "-DVCPKG_CRT_LINKAGE=dynamic" "-DVCPKG_LINKER_FLAGS=" "-DVCPKG_LINKER_FLAGS_RELEASE=" "-DVCPKG_LINKER_FLAGS_DEBUG=" "-DVCPKG_TARGET_ARCHITECTURE=x64" "-DCMAKE_INSTALL_LIBDIR:STRING=lib" "-DCMAKE_INSTALL_BINDIR:STRING=bin" "-D_VCPKG_ROOT_DIR=/home/fryfrog/git/EternalTerminal/external/vcpkg" "-D_VCPKG_INSTALLED_DIR=/home/fryfrog/git/EternalTerminal/build/vcpkg_installed" "-DVCPKG_MANIFEST_INSTALL=OFF"
FAILED: ../../x64-linux-dbg/CMakeCache.txt
"/usr/bin/cmake" -E chdir "../../x64-linux-dbg" "/usr/bin/cmake" "/home/fryfrog/git/EternalTerminal/external/vcpkg/buildtrees/platform-folders/src/4.2.0-19d7621e39.clean" "-G" "Ninja" "-DCMAKE_BUILD_TYPE=Debug" "-DCMAKE_INSTALL_PREFIX=/home/fryfrog/git/EternalTerminal/external/vcpkg/packages/platform-folders_x64-linux/debug" "-DFETCHCONTENT_FULLY_DISCONNECTED=ON" "-DPLATFORMFOLDERS_BUILD_TESTING=OFF" "-DCMAKE_MAKE_PROGRAM=/usr/bin/ninja" "-DCMAKE_SYSTEM_NAME=Linux" "-DBUILD_SHARED_LIBS=OFF" "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=/home/fryfrog/git/EternalTerminal/external/vcpkg/scripts/toolchains/linux.cmake" "-DVCPKG_TARGET_TRIPLET=x64-linux" "-DVCPKG_SET_CHARSET_FLAG=ON" "-DVCPKG_PLATFORM_TOOLSET=external" "-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY=ON" "-DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=TRUE" "-DCMAKE_VERBOSE_MAKEFILE=ON" "-DVCPKG_APPLOCAL_DEPS=OFF" "-DCMAKE_TOOLCHAIN_FILE=/home/fryfrog/git/EternalTerminal/external/vcpkg/scripts/buildsystems/vcpkg.cmake" "-DCMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION=ON" "-DVCPKG_CXX_FLAGS=" "-DVCPKG_CXX_FLAGS_RELEASE=" "-DVCPKG_CXX_FLAGS_DEBUG=" "-DVCPKG_C_FLAGS=" "-DVCPKG_C_FLAGS_RELEASE=" "-DVCPKG_C_FLAGS_DEBUG=" "-DVCPKG_CRT_LINKAGE=dynamic" "-DVCPKG_LINKER_FLAGS=" "-DVCPKG_LINKER_FLAGS_RELEASE=" "-DVCPKG_LINKER_FLAGS_DEBUG=" "-DVCPKG_TARGET_ARCHITECTURE=x64" "-DCMAKE_INSTALL_LIBDIR:STRING=lib" "-DCMAKE_INSTALL_BINDIR:STRING=bin" "-D_VCPKG_ROOT_DIR=/home/fryfrog/git/EternalTerminal/external/vcpkg" "-D_VCPKG_INSTALLED_DIR=/home/fryfrog/git/EternalTerminal/build/vcpkg_installed" "-DVCPKG_MANIFEST_INSTALL=OFF"
CMake Error at CMakeLists.txt:2 (cmake_minimum_required):
  Compatibility with CMake < 3.5 has been removed from CMake.

  Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
  to tell CMake that the project requires at least <min> but has been updated
  to work with policies introduced by <max> or earlier.

  Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway.


-- Configuring incomplete, errors occurred!
[2/2] "/usr/bin/cmake" -E chdir ".." "/usr/bin/cmake" "/home/fryfrog/git/EternalTerminal/external/vcpkg/buildtrees/platform-folders/src/4.2.0-19d7621e39.clean" "-G" "Ninja" "-DCMAKE_BUILD_TYPE=Release" "-DCMAKE_INSTALL_PREFIX=/home/fryfrog/git/EternalTerminal/external/vcpkg/packages/platform-folders_x64-linux" "-DFETCHCONTENT_FULLY_DISCONNECTED=ON" "-DPLATFORMFOLDERS_BUILD_TESTING=OFF" "-DCMAKE_MAKE_PROGRAM=/usr/bin/ninja" "-DCMAKE_SYSTEM_NAME=Linux" "-DBUILD_SHARED_LIBS=OFF" "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=/home/fryfrog/git/EternalTerminal/external/vcpkg/scripts/toolchains/linux.cmake" "-DVCPKG_TARGET_TRIPLET=x64-linux" "-DVCPKG_SET_CHARSET_FLAG=ON" "-DVCPKG_PLATFORM_TOOLSET=external" "-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY=ON" "-DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=TRUE" "-DCMAKE_VERBOSE_MAKEFILE=ON" "-DVCPKG_APPLOCAL_DEPS=OFF" "-DCMAKE_TOOLCHAIN_FILE=/home/fryfrog/git/EternalTerminal/external/vcpkg/scripts/buildsystems/vcpkg.cmake" "-DCMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION=ON" "-DVCPKG_CXX_FLAGS=" "-DVCPKG_CXX_FLAGS_RELEASE=" "-DVCPKG_CXX_FLAGS_DEBUG=" "-DVCPKG_C_FLAGS=" "-DVCPKG_C_FLAGS_RELEASE=" "-DVCPKG_C_FLAGS_DEBUG=" "-DVCPKG_CRT_LINKAGE=dynamic" "-DVCPKG_LINKER_FLAGS=" "-DVCPKG_LINKER_FLAGS_RELEASE=" "-DVCPKG_LINKER_FLAGS_DEBUG=" "-DVCPKG_TARGET_ARCHITECTURE=x64" "-DCMAKE_INSTALL_LIBDIR:STRING=lib" "-DCMAKE_INSTALL_BINDIR:STRING=bin" "-D_VCPKG_ROOT_DIR=/home/fryfrog/git/EternalTerminal/external/vcpkg" "-D_VCPKG_INSTALLED_DIR=/home/fryfrog/git/EternalTerminal/build/vcpkg_installed" "-DVCPKG_MANIFEST_INSTALL=OFF"
FAILED: ../CMakeCache.txt
"/usr/bin/cmake" -E chdir ".." "/usr/bin/cmake" "/home/fryfrog/git/EternalTerminal/external/vcpkg/buildtrees/platform-folders/src/4.2.0-19d7621e39.clean" "-G" "Ninja" "-DCMAKE_BUILD_TYPE=Release" "-DCMAKE_INSTALL_PREFIX=/home/fryfrog/git/EternalTerminal/external/vcpkg/packages/platform-folders_x64-linux" "-DFETCHCONTENT_FULLY_DISCONNECTED=ON" "-DPLATFORMFOLDERS_BUILD_TESTING=OFF" "-DCMAKE_MAKE_PROGRAM=/usr/bin/ninja" "-DCMAKE_SYSTEM_NAME=Linux" "-DBUILD_SHARED_LIBS=OFF" "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=/home/fryfrog/git/EternalTerminal/external/vcpkg/scripts/toolchains/linux.cmake" "-DVCPKG_TARGET_TRIPLET=x64-linux" "-DVCPKG_SET_CHARSET_FLAG=ON" "-DVCPKG_PLATFORM_TOOLSET=external" "-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY=ON" "-DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=TRUE" "-DCMAKE_VERBOSE_MAKEFILE=ON" "-DVCPKG_APPLOCAL_DEPS=OFF" "-DCMAKE_TOOLCHAIN_FILE=/home/fryfrog/git/EternalTerminal/external/vcpkg/scripts/buildsystems/vcpkg.cmake" "-DCMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION=ON" "-DVCPKG_CXX_FLAGS=" "-DVCPKG_CXX_FLAGS_RELEASE=" "-DVCPKG_CXX_FLAGS_DEBUG=" "-DVCPKG_C_FLAGS=" "-DVCPKG_C_FLAGS_RELEASE=" "-DVCPKG_C_FLAGS_DEBUG=" "-DVCPKG_CRT_LINKAGE=dynamic" "-DVCPKG_LINKER_FLAGS=" "-DVCPKG_LINKER_FLAGS_RELEASE=" "-DVCPKG_LINKER_FLAGS_DEBUG=" "-DVCPKG_TARGET_ARCHITECTURE=x64" "-DCMAKE_INSTALL_LIBDIR:STRING=lib" "-DCMAKE_INSTALL_BINDIR:STRING=bin" "-D_VCPKG_ROOT_DIR=/home/fryfrog/git/EternalTerminal/external/vcpkg" "-D_VCPKG_INSTALLED_DIR=/home/fryfrog/git/EternalTerminal/build/vcpkg_installed" "-DVCPKG_MANIFEST_INSTALL=OFF"
CMake Error at CMakeLists.txt:2 (cmake_minimum_required):
  Compatibility with CMake < 3.5 has been removed from CMake.

  Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
  to tell CMake that the project requires at least <min> but has been updated
  to work with policies introduced by <max> or earlier.

  Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway.


-- Configuring incomplete, errors occurred!
ninja: build stopped: subcommand failed.

Let me see if I can fiddle w/ the aur package to see how it builds on Arch.

fryfrog avatar May 05 '25 15:05 fryfrog

So it looks like we build w/ cmake ../ -DDISABLE_VCPKG=ON -DCMAKE_EXE_LINKER_FLAGS="-Wl,--copy-dt-needed-entries" -DCMAKE_SHARED_LINKER_FLAGS="-Wl,--copy-dt-needed-entries" and that was happier.

But then doing the make ends up like...

[  3%] Building CXX object external/sentry-native/crashpad_build/third_party/mini_chromium/CMakeFiles/mini_chromium.dir/mini_chromium/base/strings/pattern.cc.o
[  3%] Building CXX object external/sentry-native/crashpad_build/third_party/mini_chromium/CMakeFiles/mini_chromium.dir/mini_chromium/base/strings/strcat.cc.o
In file included from /home/fryfrog/git/EternalTerminal/external/sentry-native/external/crashpad/compat/linux/sys/mman_memfd_create.cc:21:
/home/fryfrog/git/EternalTerminal/external/sentry-native/external/crashpad/util/misc/no_cfi_icall.h:55:75: warning: ‘cfi-icall’ attribute directive ignored [-Wattributes]
   55 |   DISABLE_CFI_ICALL static R Invoke(Function&& function, RunArgs&&... args) {
      |                                                                           ^
/home/fryfrog/git/EternalTerminal/external/sentry-native/external/crashpad/util/misc/no_cfi_icall.h:63:75: warning: ‘cfi-icall’ attribute directive ignored [-Wattributes]
   63 |   DISABLE_CFI_ICALL static R Invoke(Function&& function, RunArgs&&... args) {
      |                                                                           ^
/home/fryfrog/git/EternalTerminal/external/sentry-native/external/crashpad/util/misc/no_cfi_icall.h:87:75: warning: ‘cfi-icall’ attribute directive ignored [-Wattributes]
   87 |   DISABLE_CFI_ICALL static R Invoke(Function&& function, RunArgs&&... args) {
      |                                                                           ^
/home/fryfrog/git/EternalTerminal/external/sentry-native/external/crashpad/util/misc/no_cfi_icall.h:95:75: warning: ‘cfi-icall’ attribute directive ignored [-Wattributes]
   95 |   DISABLE_CFI_ICALL static R Invoke(Function&& function, RunArgs&&... args) {
      |                                                                           ^
[  3%] Linking CXX static library libcrashpad_compat.a
[  3%] Building CXX object external/Catch2/src/CMakeFiles/Catch2.dir/catch2/benchmark/detail/catch_benchmark_function.cpp.o

and

[ 34%] Building CXX object external/Catch2/src/CMakeFiles/Catch2.dir/catch2/matchers/catch_matchers_quantifiers.cpp.o
[ 34%] Building CXX object external/sentry-native/crashpad_build/util/CMakeFiles/crashpad_util.dir/misc/lexing.cc.o
In file included from /home/fryfrog/git/EternalTerminal/external/sentry-native/external/crashpad/util/file/scoped_remove_file.cc:17:
/home/fryfrog/git/EternalTerminal/external/sentry-native/external/crashpad/util/file/filesystem.h:119:1: error: ‘uint64_t’ does not name a type
  119 | uint64_t GetFileSize(const base::FilePath& filepath);
      | ^~~~~~~~
/home/fryfrog/git/EternalTerminal/external/sentry-native/external/crashpad/util/file/filesystem.h:22:1: note: ‘uint64_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
   21 | #include "util/file/file_io.h"
  +++ |+#include <cstdint>
   22 |
/home/fryfrog/git/EternalTerminal/external/sentry-native/external/crashpad/util/file/filesystem.h:128:1: error: ‘uint64_t’ does not name a type
  128 | uint64_t GetDirectorySize(const base::FilePath& dirPath);
      | ^~~~~~~~
/home/fryfrog/git/EternalTerminal/external/sentry-native/external/crashpad/util/file/filesystem.h:128:1: note: ‘uint64_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
[ 35%] Building CXX object external/Catch2/src/CMakeFiles/Catch2.dir/catch2/matchers/catch_matchers_string.cpp.o
make[2]: *** [external/sentry-native/crashpad_build/util/CMakeFiles/crashpad_util.dir/build.make:177: external/sentry-native/crashpad_build/util/CMakeFiles/crashpad_util.dir/file/scoped_remove_file.cc.o] Error 1
make[2]: *** Waiting for unfinished jobs....
[ 35%] Building CXX object external/Catch2/src/CMakeFiles/Catch2.dir/catch2/matchers/catch_matchers_templated.cpp.o
[ 35%] Building CXX object external/Catch2/src/CMakeFiles/Catch2.dir/catch2/matchers/internal/catch_matchers_impl.cpp.o
make[1]: *** [CMakeFiles/Makefile2:1116: external/sentry-native/crashpad_build/util/CMakeFiles/crashpad_util.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 36%] Building CXX object CMakeFiles/et-lib.dir/src/base/Connection.cpp.o
[ 36%] Building CXX object CMakeFiles/et-lib.dir/src/base/BackedReader.cpp.o

and

[ 39%] Building CXX object CMakeFiles/et-lib.dir/src/base/TunnelUtils.cpp.o
[ 40%] Building CXX object CMakeFiles/et-lib.dir/ET.pb.cc.o
In file included from /usr/include/absl/hash/internal/hash.h:33,
                 from /usr/include/absl/hash/hash.h:89,
                 from /usr/include/google/protobuf/map.h:35,
                 from /usr/include/google/protobuf/generated_message_tctable_impl.h:23,
                 from /home/fryfrog/git/EternalTerminal/build/ET.pb.cc:11:
/usr/include/c++/15.1.1/ciso646:46:4: warning: #warning "<ciso646> is deprecated in C++17, use <version> to detect implementation-specific macros" [-Wcpp]
   46 | #  warning "<ciso646> is deprecated in C++17, use <version> to detect implementation-specific macros"
      |    ^~~~~~~
[ 40%] Linking CXX static library libet-lib.a
[ 40%] Built target et-lib
make: *** [Makefile:166: all] Error 2

fryfrog avatar May 05 '25 15:05 fryfrog

I wonder if we can fix this by updating sentry-native?

MisterTea avatar May 15 '25 16:05 MisterTea

This greatly affects me... is there no fix? Also running Arch Linux on both local and prod :-/

I actually cannot access prod right now :-(

hopeseekr avatar May 23 '25 05:05 hopeseekr

oh man. it's been 2 months now...

hopeseekr avatar Jun 20 '25 07:06 hopeseekr

There is a fix in the AUR forums. I asked in the forums to submit a PR with the fix but no one has done it yet. Can you submit that PR?

MisterTea avatar Jun 20 '25 13:06 MisterTea

I'm having a look at this and since the problem is with sentry-native, I need to submit the PR to them, right? Then your git submodules would pull in the fix? This is the first time I've seen / worked w/ them.

fryfrog avatar Jun 21 '25 11:06 fryfrog

@MisterTea, thanks for fixing this! :)

fryfrog avatar Jul 22 '25 04:07 fryfrog

Glad to help!

MisterTea avatar Jul 25 '25 10:07 MisterTea

Confirmed it works now! This affected me for several months... Every time libprotobuf was updated, which seemed 3x a month.

hopeseekr avatar Sep 12 '25 03:09 hopeseekr

Glad to help!

MisterTea avatar Sep 12 '25 03:09 MisterTea