joshkunz / ashuffle

Automatic library-wide shuffle for mpd.
MIT License
76 stars 11 forks source link

ashuffle build failure due to subproject CMake target absl_crc_internal missing #207

Closed ryan-sg closed 1 week ago

ryan-sg commented 1 year ago

Hi! I don't know exactly when this issue started happening unfortunately. Normally I have been building a newer copy of ashuffle on a dedicated build vm for another VM I have running an ashuffle-powered radio stream.

I did notice that going into subprojects/absl and mkdir build; cd build; cmake ..; make successfully builds everything in there. I tried to add the meson message about listing available targets but it just made meson more mad than it already was.

Hoping it might just be something I can add as a flag to nudge it in the right direction, any clues? Thanks!

The Meson build system
Version: 1.0.1
Source dir: /home/ryan/ashuffle
Build dir: /home/ryan/ashuffle/build
Build type: native build
Project name: ashuffle
Project version: v3.14.1
C compiler for the host machine: cc (clang 13.0.0 "OpenBSD clang version 13.0.0")
C linker for the host machine: cc ld.lld 13.0.0
C++ compiler for the host machine: c++ (clang 13.0.0 "OpenBSD clang version 13.0.0")
C++ linker for the host machine: c++ ld.lld 13.0.0
Host machine cpu family: x86_64
Host machine cpu: x86_64
Checking if "std::fs links with only stdlib" : links: YES 

Executing subproject absl method cmake 

absl| Found CMake: /usr/local/bin/cmake (3.25.2)

| Configuring the build directory with CMake version 3.25.2
| Running CMake with: -G Ninja -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_CXX_STANDARD=17 -DCMAKE_PROJECT_absl_INCLUDE=/home/ryan/ashuffle/tools/cmake/inject_project_source_dir.cmake -DMINGW=false
|   - build directory:          /home/ryan/ashuffle/build/subprojects/absl/__CMake_build
|   - source directory:         /home/ryan/ashuffle/subprojects/absl
|   - toolchain file:           /home/ryan/ashuffle/build/subprojects/absl/__CMake_build/CMakeMesonToolchainFile.cmake
|   - preload file:             /usr/local/lib/python3.10/site-packages/mesonbuild/cmake/data/preload.cmake
|   - trace args:               --trace-expand --trace-format=json-v1 --no-warn-unused-cli --trace-redirect=cmake_trace.txt
|   - disabled policy warnings: [CMP0025, CMP0047, CMP0056, CMP0060, CMP0065, CMP0066, CMP0067, CMP0082, CMP0089, CMP0102]

| Running with expanded trace output on.
| Not searching for unused variables given on the command line.
| Trace will be written to cmake_trace.txt
| -- The CXX compiler identification is Clang 13.0.0
| -- Detecting CXX compiler ABI info
| -- Detecting CXX compiler ABI info - done
| -- Check for working CXX compiler: /usr/bin/c++ - skipped
| -- Detecting CXX compile features
| -- Detecting CXX compile features - done
| CMake Warning at CMakeLists.txt:72 (message):
| A future Abseil release will default ABSL_PROPAGATE_CXX_STD to ON for CMake
| 3.8 and up.  We recommend enabling this option to ensure your project still
| builds correctly.

| -- Performing Test ABSL_INTERNAL_AT_LEAST_CXX17
| -- Performing Test ABSL_INTERNAL_AT_LEAST_CXX17 - Success
| -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
| -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
| -- Found Threads: TRUE
| -- Configuring done
| -- Generating done
| -- Build files have been written to: /home/ryan/ashuffle/build/subprojects/absl/__CMake_build

absl| CMake configuration: SUCCEEDED
absl| CMake project absl has 188 build targets.

cmake-ast| Processing generated meson AST
cmake-ast| Build file: /home/ryan/ashuffle/build/subprojects/absl/meson.build

absl| Project name: absl
absl| Project version: undefined
absl| C compiler for the host machine: cc (clang 13.0.0 "OpenBSD clang version 13.0.0")
absl| C linker for the host machine: cc ld.lld 13.0.0
absl| C++ compiler for the host machine: c++ (clang 13.0.0 "OpenBSD clang version 13.0.0")
absl| C++ linker for the host machine: c++ ld.lld 13.0.0
absl| Build targets in project: 105
absl| Subproject absl finished.

meson.build:118:4: ERROR: The CMake target absl_crc_internal does not exist
  Use the following command in your meson.build to list all available targets:

    message('CMake targets:\n - ' + '\n - '.join(<cmake_subproject>.target_list()))

A full log can be found at /home/ryan/ashuffle/build/meson-logs/meson-log.txt
WARNING: Running the setup command as `meson [options]` instead of `meson setup [options]` is ambiguous and deprecated.
build-amd64$
ryan-sg commented 1 year ago

I noticed the target that CMake complains about missing didn't seem to exist as a string anywhere in the absl directory... None if the absl_crc*-prefixed targets do.

So took a while stab and just deleted those from meson.build. It finished configuring a build dir and I got a new ashuffle executable.

index 26513a8..451176b 100644
--- a/meson.build
+++ b/meson.build
@@ -69,10 +69,6 @@ absl_libs = [
   # Via Status & Time:
   'absl_cord',
   'absl_strerror',
-  'absl_crc_internal',
-  'absl_crc_cord_state',
-  'absl_crc32c',
-  'absl_crc_cpu_detect',
   'absl_cord_internal',
   'absl_cordz_functions',
   'absl_cordz_handle',
joshkunz commented 1 year ago

Huh, it builds fine for me on master, and I can see the deps in the source in subprojects/absl. Could you paste the output of git log --format="%H" -n1 HEAD and git submodule status subprojects/absl when run from the root directory of the project? I wonder if your absl / source are out of sync. You could also try running git submodule update to update to the latest submodule source.

CI also succeed to do a release build ~5 hours ago on master: https://github.com/joshkunz/ashuffle/actions/runs/5907508033/job/16025906397

ryan-sg commented 1 year ago

Well, unfortunately I ran git submodule update first, it evidently checked out a different hash than what was in there. Strange, as I swear I had checked that submodules were updated several times. I have to be wrong.

Submodule path 'subprojects/absl': checked out 'd2de53124ec55390ce1ec66fd1fbf28b5a7ec4ec'
Submodule path 'subprojects/googletest': checked out '843976e4f582ccb76cf87e0f128585324335779b'

Thanks for the clue, restoring meson.build it now configures successfully. Unfortunately though, the build now fails for me. It seems to be an issue within absl.

First, heres what the meson configure looks like after the submodule update:

The Meson build system
Version: 1.0.1
Source dir: /home/ryan/ashuffle
Build dir: /home/ryan/ashuffle/build
Build type: native build
Project name: ashuffle
Project version: v3.14.1
C compiler for the host machine: cc (clang 13.0.0 "OpenBSD clang version 13.0.0")
C linker for the host machine: cc ld.lld 13.0.0
C++ compiler for the host machine: c++ (clang 13.0.0 "OpenBSD clang version 13.0.0")
C++ linker for the host machine: c++ ld.lld 13.0.0
Host machine cpu family: x86_64
Host machine cpu: x86_64
Checking if "std::fs links with only stdlib" : links: YES 

Executing subproject absl method cmake 

absl| Found CMake: /usr/local/bin/cmake (3.25.2)

| Configuring the build directory with CMake version 3.25.2
| Running CMake with: -G Ninja -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_CXX_STANDARD=17 -DCMAKE_PROJECT_absl_INCLUDE=/home/ryan/ashuffle/tools/cmake/inject_project_source_dir.cmake -DMINGW=false
|   - build directory:          /home/ryan/ashuffle/build/subprojects/absl/__CMake_build
|   - source directory:         /home/ryan/ashuffle/subprojects/absl
|   - toolchain file:           /home/ryan/ashuffle/build/subprojects/absl/__CMake_build/CMakeMesonToolchainFile.cmake
|   - preload file:             /usr/local/lib/python3.10/site-packages/mesonbuild/cmake/data/preload.cmake
|   - trace args:               --trace-expand --trace-format=json-v1 --no-warn-unused-cli --trace-redirect=cmake_trace.txt
|   - disabled policy warnings: [CMP0025, CMP0047, CMP0056, CMP0060, CMP0065, CMP0066, CMP0067, CMP0082, CMP0089, CMP0102]

| Running with expanded trace output on.
| Not searching for unused variables given on the command line.
| Trace will be written to cmake_trace.txt
| -- The CXX compiler identification is Clang 13.0.0
| -- Detecting CXX compiler ABI info
| -- Detecting CXX compiler ABI info - done
| -- Check for working CXX compiler: /usr/bin/c++ - skipped
| -- Detecting CXX compile features
| -- Detecting CXX compile features - done
| CMake Warning at CMakeLists.txt:77 (message):
| A future Abseil release will default ABSL_PROPAGATE_CXX_STD to ON for CMake
| 3.8 and up.  We recommend enabling this option to ensure your project still
| builds correctly.

| -- Performing Test ABSL_INTERNAL_AT_LEAST_CXX17
| -- Performing Test ABSL_INTERNAL_AT_LEAST_CXX17 - Success
| -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
| -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
| -- Found Threads: TRUE
| -- Configuring done
| -- Generating done
| -- Build files have been written to: /home/ryan/ashuffle/build/subprojects/absl/__CMake_build

absl| CMake configuration: SUCCEEDED
absl| CMake project absl has 205 build targets.

cmake-ast| Processing generated meson AST
cmake-ast| Build file: /home/ryan/ashuffle/build/subprojects/absl/meson.build

absl| Project name: absl
absl| Project version: undefined
absl| C compiler for the host machine: cc (clang 13.0.0 "OpenBSD clang version 13.0.0")
absl| C linker for the host machine: cc ld.lld 13.0.0
absl| C++ compiler for the host machine: c++ (clang 13.0.0 "OpenBSD clang version 13.0.0")
absl| C++ linker for the host machine: c++ ld.lld 13.0.0
absl| Build targets in project: 113
absl| Subproject absl finished.

Executing subproject yaml-cpp method cmake 

| Configuring the build directory with CMake version 3.25.2
| Running CMake with: -G Ninja -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_CXX_STANDARD=17 -DYAML_BUILD_SHARED_LIBS=OFF
|   - build directory:          /home/ryan/ashuffle/build/subprojects/yaml-cpp/__CMake_build
|   - source directory:         /home/ryan/ashuffle/subprojects/yaml-cpp
|   - toolchain file:           /home/ryan/ashuffle/build/subprojects/yaml-cpp/__CMake_build/CMakeMesonToolchainFile.cmake
|   - preload file:             /usr/local/lib/python3.10/site-packages/mesonbuild/cmake/data/preload.cmake
|   - trace args:               --trace-expand --trace-format=json-v1 --no-warn-unused-cli --trace-redirect=cmake_trace.txt
|   - disabled policy warnings: [CMP0025, CMP0047, CMP0056, CMP0060, CMP0065, CMP0066, CMP0067, CMP0082, CMP0089, CMP0102]

| Running with expanded trace output on.
| Not searching for unused variables given on the command line.
| Trace will be written to cmake_trace.txt
| -- The CXX compiler identification is Clang 13.0.0
| -- Detecting CXX compiler ABI info
| -- Detecting CXX compiler ABI info - done
| -- Check for working CXX compiler: /usr/bin/c++ - skipped
| -- Detecting CXX compile features
| -- Detecting CXX compile features - done
| -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
| -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
| -- Found Threads: TRUE
| CMake Deprecation Warning at test/gtest-1.10.0/CMakeLists.txt:4 (cmake_minimum_required):
| Compatibility with CMake < 2.8.12 will be removed from a future version of
| CMake.

| Update the VERSION argument <min> value or use a ...<max> suffix to tell
| CMake that the project does not need compatibility with older versions.

| -- The C compiler identification is Clang 13.0.0
| -- Detecting C compiler ABI info
| -- Detecting C compiler ABI info - done
| -- Check for working C compiler: /usr/bin/cc - skipped
| -- Detecting C compile features
| -- Detecting C compile features - done
| CMake Deprecation Warning at test/gtest-1.10.0/googlemock/CMakeLists.txt:45 (cmake_minimum_required):
| Compatibility with CMake < 2.8.12 will be removed from a future version of
| CMake.

| Update the VERSION argument <min> value or use a ...<max> suffix to tell
| CMake that the project does not need compatibility with older versions.

| CMake Deprecation Warning at test/gtest-1.10.0/googletest/CMakeLists.txt:56 (cmake_minimum_required):
| Compatibility with CMake < 2.8.12 will be removed from a future version of
| CMake.

| Update the VERSION argument <min> value or use a ...<max> suffix to tell
| CMake that the project does not need compatibility with older versions.

| -- Found PythonInterp: /usr/local/bin/python3.10 (found version "3.10.12")
| -- Configuring done
| -- Generating done
| -- Build files have been written to: /home/ryan/ashuffle/build/subprojects/yaml-cpp/__CMake_build

yaml-cpp| CMake configuration: SUCCEEDED
yaml-cpp| CMake project YAML_CPP has 37 build targets.

cmake-ast| Processing generated meson AST
cmake-ast| Build file: /home/ryan/ashuffle/build/subprojects/yaml-cpp/meson.build

yaml-cpp| Project name: YAML_CPP
yaml-cpp| Project version: undefined
yaml-cpp| C++ compiler for the host machine: c++ (clang 13.0.0 "OpenBSD clang version 13.0.0")
yaml-cpp| C++ linker for the host machine: c++ ld.lld 13.0.0
yaml-cpp| WARNING: Please do not define rpath with a linker argument, use install_rpath
yaml-cpp| or build_rpath properties instead.
yaml-cpp| This will become a hard error in a future Meson release.

yaml-cpp| WARNING: Please do not define rpath with a linker argument, use install_rpath
yaml-cpp| or build_rpath properties instead.
yaml-cpp| This will become a hard error in a future Meson release.

yaml-cpp| WARNING: Please do not define rpath with a linker argument, use install_rpath
yaml-cpp| or build_rpath properties instead.
yaml-cpp| This will become a hard error in a future Meson release.

yaml-cpp| WARNING: Please do not define rpath with a linker argument, use install_rpath
yaml-cpp| or build_rpath properties instead.
yaml-cpp| This will become a hard error in a future Meson release.

yaml-cpp| Build targets in project: 150
yaml-cpp| Subproject yaml-cpp finished.

Found pkg-config: /usr/bin/pkg-config (0.29.2)
Run-time dependency libmpdclient found: YES 2.20
Configuring version.cc using configuration
Build targets in project: 154

ashuffle v3.14.1

  Subprojects
    absl    : YES
    yaml-cpp: YES 4 warnings

Found ninja-1.11.1 at /usr/local/bin/ninja
WARNING: Running the setup command as `meson [options]` instead of `meson setup [options]` is ambiguous and deprecated.

Then, here is where the build stops now:

00:18 ryan@build-amd64:~/ashuffle/build$ ninja
[3/183] Compiling C++ object subprojects/absl/libabsl_base.a.p/absl_base_internal_sysinfo.cc.o
FAILED: subprojects/absl/libabsl_base.a.p/absl_base_internal_sysinfo.cc.o 
c++ -Isubprojects/absl/libabsl_base.a.p -Isubprojects/absl -I../subprojects/absl -I/usr/local/include -Isubprojects/absl/__CMake_build -I../subprojects/absl/__CMake_build -fcolor-diagnostics -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -std=gnu++17 -O0 -g -Werror=switch -fno-omit-frame-pointer -Wcast-qual -Wconversion -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wfor-loop-analysis -Wformat-security -Wgnu-redeclared-enum -Winfinite-recursion -Winvalid-constexpr -Wliteral-conversion -Wmissing-declarations -Woverlength-strings -Wpointer-arith -Wself-assign -Wshadow-all -Wshorten-64-to-32 -Wsign-conversion -Wstring-conversion -Wtautological-overlap-compare -Wtautological-unsigned-zero-compare -Wundef -Wuninitialized -Wunreachable-code -Wunused-comparison -Wunused-local-typedefs -Wunused-result -Wvla -Wwrite-strings -Wno-float-conversion -Wno-implicit-float-conversion -Wno-implicit-int-float-conversion -Wno-unknown-warning-option -DNOMINMAX -MD -MQ subprojects/absl/libabsl_base.a.p/absl_base_internal_sysinfo.cc.o -MF subprojects/absl/libabsl_base.a.p/absl_base_internal_sysinfo.cc.o.d -o subprojects/absl/libabsl_base.a.p/absl_base_internal_sysinfo.cc.o -c ../subprojects/absl/absl/base/internal/sysinfo.cc
../subprojects/absl/absl/base/internal/sysinfo.cc:450:10: error: static_cast from 'pthread_t' (aka 'pthread *') to 'pid_t' (aka 'int') is not allowed
  return static_cast<pid_t>(pthread_self());
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
[4/183] Compiling C++ object subprojects/absl/libabsl_base.a.p/absl_base_internal_thread_identity.cc.o
ninja: build stopped: subcommand failed.

I suspect this is an OpenBSD-specific issue I'm hitting with some code in there. It had been awhile since I successfully built ashuffle here, and now I'm wondering what I had done previous times that must have led that submodule to be at a different commit. Funny I managed a successful build with it at the other checkout, whilst removing some lines from meson.build

as luck would have it, my terminal still has the diff from when I pasted it for the removed lines from meson.build:

index d2de531..7f3c0d7 160000
--- a/subprojects/absl
+++ b/subprojects/absl
@@ -1 +1 @@
-Subproject commit d2de53124ec55390ce1ec66fd1fbf28b5a7ec4ec
+Subproject commit 7f3c0d781134d25b24e0b55346482a2d366bf59b
diff --git a/subprojects/googletest b/subprojects/googletest
index 843976e..93f08be 160000
--- a/subprojects/googletest
+++ b/subprojects/googletest
@@ -1 +1 @@
-Subproject commit 843976e4f582ccb76cf87e0f128585324335779b
+Subproject commit 93f08be653c36ddc6943e9513fc14c7292b4d007

I suppose that indicates where I was?

EDIT: seems it was this one:

commit 7f3c0d781134d25b24e0b55346482a2d366bf59b
Author: Abseil Team <absl-team@google.com>
Date:   Fri Sep 30 12:11:27 2022 -0700

    Allows absl::StrCat to accept types that implement AbslStringify()

    PiperOrigin-RevId: 478050535
    Change-Id: I8e4a4b01aceb8d712476101633eac0ce8647823a

So it must have been un-updated and by weird fluke was able to compile here on OpenBSD with that older version. Apologies for such a confusing report.

ryan-sg commented 1 year ago

Just to at least have a full confirmation, I re-checked out that 7f3c0d781134d25b24e0b55346482a2d366bf59b commit for subprojects/absl, re-edited meson.build, and tested again, it builds successfully for me that way but just not with the proper commit.

Full output of configure/build on the 7f3c commit: ``` 00:31 ryan@build-amd64:~/ashuffle$ vi meson.build 00:31 ryan@build-amd64:~/ashuffle$ CXXFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib meson build The Meson build system Version: 1.0.1 Source dir: /home/ryan/ashuffle Build dir: /home/ryan/ashuffle/build Build type: native build Project name: ashuffle Project version: v3.14.1 C compiler for the host machine: cc (clang 13.0.0 "OpenBSD clang version 13.0.0") C linker for the host machine: cc ld.lld 13.0.0 C++ compiler for the host machine: c++ (clang 13.0.0 "OpenBSD clang version 13.0.0") C++ linker for the host machine: c++ ld.lld 13.0.0 Host machine cpu family: x86_64 Host machine cpu: x86_64 Checking if "std::fs links with only stdlib" : links: YES Executing subproject absl method cmake absl| Found CMake: /usr/local/bin/cmake (3.25.2) | Configuring the build directory with CMake version 3.25.2 | Running CMake with: -G Ninja -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_CXX_STANDARD=17 -DCMAKE_PROJECT_absl_INCLUDE=/home/ryan/ashuffle/tools/cmake/inject_project_source_dir.cmake -DMINGW=false | - build directory: /home/ryan/ashuffle/build/subprojects/absl/__CMake_build | - source directory: /home/ryan/ashuffle/subprojects/absl | - toolchain file: /home/ryan/ashuffle/build/subprojects/absl/__CMake_build/CMakeMesonToolchainFile.cmake | - preload file: /usr/local/lib/python3.10/site-packages/mesonbuild/cmake/data/preload.cmake | - trace args: --trace-expand --trace-format=json-v1 --no-warn-unused-cli --trace-redirect=cmake_trace.txt | - disabled policy warnings: [CMP0025, CMP0047, CMP0056, CMP0060, CMP0065, CMP0066, CMP0067, CMP0082, CMP0089, CMP0102] | Running with expanded trace output on. | Not searching for unused variables given on the command line. | Trace will be written to cmake_trace.txt | -- The CXX compiler identification is Clang 13.0.0 | -- Detecting CXX compiler ABI info | -- Detecting CXX compiler ABI info - done | -- Check for working CXX compiler: /usr/bin/c++ - skipped | -- Detecting CXX compile features | -- Detecting CXX compile features - done | CMake Warning at CMakeLists.txt:72 (message): | A future Abseil release will default ABSL_PROPAGATE_CXX_STD to ON for CMake | 3.8 and up. We recommend enabling this option to ensure your project still | builds correctly. | -- Performing Test ABSL_INTERNAL_AT_LEAST_CXX17 | -- Performing Test ABSL_INTERNAL_AT_LEAST_CXX17 - Success | -- Performing Test CMAKE_HAVE_LIBC_PTHREAD | -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success | -- Found Threads: TRUE | -- Configuring done | -- Generating done | -- Build files have been written to: /home/ryan/ashuffle/build/subprojects/absl/__CMake_build absl| CMake configuration: SUCCEEDED absl| CMake project absl has 188 build targets. cmake-ast| Processing generated meson AST cmake-ast| Build file: /home/ryan/ashuffle/build/subprojects/absl/meson.build absl| Project name: absl absl| Project version: undefined absl| C compiler for the host machine: cc (clang 13.0.0 "OpenBSD clang version 13.0.0") absl| C linker for the host machine: cc ld.lld 13.0.0 absl| C++ compiler for the host machine: c++ (clang 13.0.0 "OpenBSD clang version 13.0.0") absl| C++ linker for the host machine: c++ ld.lld 13.0.0 absl| Build targets in project: 105 absl| Subproject absl finished. Executing subproject yaml-cpp method cmake | Configuring the build directory with CMake version 3.25.2 | Running CMake with: -G Ninja -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_CXX_STANDARD=17 -DYAML_BUILD_SHARED_LIBS=OFF | - build directory: /home/ryan/ashuffle/build/subprojects/yaml-cpp/__CMake_build | - source directory: /home/ryan/ashuffle/subprojects/yaml-cpp | - toolchain file: /home/ryan/ashuffle/build/subprojects/yaml-cpp/__CMake_build/CMakeMesonToolchainFile.cmake | - preload file: /usr/local/lib/python3.10/site-packages/mesonbuild/cmake/data/preload.cmake | - trace args: --trace-expand --trace-format=json-v1 --no-warn-unused-cli --trace-redirect=cmake_trace.txt | - disabled policy warnings: [CMP0025, CMP0047, CMP0056, CMP0060, CMP0065, CMP0066, CMP0067, CMP0082, CMP0089, CMP0102] | Running with expanded trace output on. | Not searching for unused variables given on the command line. | Trace will be written to cmake_trace.txt | -- The CXX compiler identification is Clang 13.0.0 | -- Detecting CXX compiler ABI info | -- Detecting CXX compiler ABI info - done | -- Check for working CXX compiler: /usr/bin/c++ - skipped | -- Detecting CXX compile features | -- Detecting CXX compile features - done | -- Performing Test CMAKE_HAVE_LIBC_PTHREAD | -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success | -- Found Threads: TRUE | CMake Deprecation Warning at test/gtest-1.10.0/CMakeLists.txt:4 (cmake_minimum_required): | Compatibility with CMake < 2.8.12 will be removed from a future version of | CMake. | Update the VERSION argument value or use a ... suffix to tell | CMake that the project does not need compatibility with older versions. | -- The C compiler identification is Clang 13.0.0 | -- Detecting C compiler ABI info | -- Detecting C compiler ABI info - done | -- Check for working C compiler: /usr/bin/cc - skipped | -- Detecting C compile features | -- Detecting C compile features - done | CMake Deprecation Warning at test/gtest-1.10.0/googlemock/CMakeLists.txt:45 (cmake_minimum_required): | Compatibility with CMake < 2.8.12 will be removed from a future version of | CMake. | Update the VERSION argument value or use a ... suffix to tell | CMake that the project does not need compatibility with older versions. | CMake Deprecation Warning at test/gtest-1.10.0/googletest/CMakeLists.txt:56 (cmake_minimum_required): | Compatibility with CMake < 2.8.12 will be removed from a future version of | CMake. | Update the VERSION argument value or use a ... suffix to tell | CMake that the project does not need compatibility with older versions. | -- Found PythonInterp: /usr/local/bin/python3.10 (found version "3.10.12") | -- Configuring done | -- Generating done | -- Build files have been written to: /home/ryan/ashuffle/build/subprojects/yaml-cpp/__CMake_build yaml-cpp| CMake configuration: SUCCEEDED yaml-cpp| CMake project YAML_CPP has 37 build targets. cmake-ast| Processing generated meson AST cmake-ast| Build file: /home/ryan/ashuffle/build/subprojects/yaml-cpp/meson.build yaml-cpp| Project name: YAML_CPP yaml-cpp| Project version: undefined yaml-cpp| C++ compiler for the host machine: c++ (clang 13.0.0 "OpenBSD clang version 13.0.0") yaml-cpp| C++ linker for the host machine: c++ ld.lld 13.0.0 yaml-cpp| WARNING: Please do not define rpath with a linker argument, use install_rpath yaml-cpp| or build_rpath properties instead. yaml-cpp| This will become a hard error in a future Meson release. yaml-cpp| WARNING: Please do not define rpath with a linker argument, use install_rpath yaml-cpp| or build_rpath properties instead. yaml-cpp| This will become a hard error in a future Meson release. yaml-cpp| WARNING: Please do not define rpath with a linker argument, use install_rpath yaml-cpp| or build_rpath properties instead. yaml-cpp| This will become a hard error in a future Meson release. yaml-cpp| WARNING: Please do not define rpath with a linker argument, use install_rpath yaml-cpp| or build_rpath properties instead. yaml-cpp| This will become a hard error in a future Meson release. yaml-cpp| Build targets in project: 142 yaml-cpp| Subproject yaml-cpp finished. Found pkg-config: /usr/bin/pkg-config (0.29.2) Run-time dependency libmpdclient found: YES 2.20 Configuring version.cc using configuration Build targets in project: 146 ashuffle v3.14.1 Subprojects absl : YES yaml-cpp: YES 4 warnings Found ninja-1.11.1 at /usr/local/bin/ninja WARNING: Running the setup command as `meson [options]` instead of `meson setup [options]` is ambiguous and deprecated. 00:31 ryan@build-amd64:~/ashuffle$ cd build 00:32 ryan@build-amd64:~/ashuffle/build$ ninja [119/163] Compiling C++ object subprojects/yaml-cpp/libyaml_cpp.a.p/src_emitterstate.cpp.o In file included from ../subprojects/yaml-cpp/src/emitterstate.cpp:3: ../subprojects/yaml-cpp/src/emitterstate.h:28:24: warning: declaration shadows a variable in namespace 'YAML' [-Wshadow] enum value { NoType, Flow, Block }; ^ ../subprojects/yaml-cpp/include/yaml-cpp/emittermanip.h:58:3: note: previous declaration is here Flow, ^ In file included from ../subprojects/yaml-cpp/src/emitterstate.cpp:3: ../subprojects/yaml-cpp/src/emitterstate.h:28:30: warning: declaration shadows a variable in namespace 'YAML' [-Wshadow] enum value { NoType, Flow, Block }; ^ ../subprojects/yaml-cpp/include/yaml-cpp/emittermanip.h:59:3: note: previous declaration is here Block, ^ 2 warnings generated. [120/163] Compiling C++ object subprojects/yaml-cpp/libyaml_cpp.a.p/src_emitter.cpp.o In file included from ../subprojects/yaml-cpp/src/emitter.cpp:3: In file included from ../subprojects/yaml-cpp/src/emitterutils.h:12: ../subprojects/yaml-cpp/src/emitterstate.h:28:24: warning: declaration shadows a variable in namespace 'YAML' [-Wshadow] enum value { NoType, Flow, Block }; ^ ../subprojects/yaml-cpp/include/yaml-cpp/emittermanip.h:58:3: note: previous declaration is here Flow, ^ In file included from ../subprojects/yaml-cpp/src/emitter.cpp:3: In file included from ../subprojects/yaml-cpp/src/emitterutils.h:12: ../subprojects/yaml-cpp/src/emitterstate.h:28:30: warning: declaration shadows a variable in namespace 'YAML' [-Wshadow] enum value { NoType, Flow, Block }; ^ ../subprojects/yaml-cpp/include/yaml-cpp/emittermanip.h:59:3: note: previous declaration is here Block, ^ In file included from ../subprojects/yaml-cpp/src/emitter.cpp:3: ../subprojects/yaml-cpp/src/emitterutils.h:24:23: warning: declaration shadows a variable in namespace 'YAML' [-Wshadow] enum value { Plain, SingleQuoted, DoubleQuoted, Literal }; ^ ../subprojects/yaml-cpp/include/yaml-cpp/emittermanip.h:26:3: note: previous declaration is here SingleQuoted, ^ In file included from ../subprojects/yaml-cpp/src/emitter.cpp:3: ../subprojects/yaml-cpp/src/emitterutils.h:24:37: warning: declaration shadows a variable in namespace 'YAML' [-Wshadow] enum value { Plain, SingleQuoted, DoubleQuoted, Literal }; ^ ../subprojects/yaml-cpp/include/yaml-cpp/emittermanip.h:27:3: note: previous declaration is here DoubleQuoted, ^ In file included from ../subprojects/yaml-cpp/src/emitter.cpp:3: ../subprojects/yaml-cpp/src/emitterutils.h:24:51: warning: declaration shadows a variable in namespace 'YAML' [-Wshadow] enum value { Plain, SingleQuoted, DoubleQuoted, Literal }; ^ ../subprojects/yaml-cpp/include/yaml-cpp/emittermanip.h:28:3: note: previous declaration is here Literal, ^ 5 warnings generated. [123/163] Compiling C++ object subprojects/yaml-cpp/libyaml_cpp.a.p/src_emitterutils.cpp.o In file included from ../subprojects/yaml-cpp/src/emitterutils.cpp:5: In file included from ../subprojects/yaml-cpp/src/emitterutils.h:12: ../subprojects/yaml-cpp/src/emitterstate.h:28:24: warning: declaration shadows a variable in namespace 'YAML' [-Wshadow] enum value { NoType, Flow, Block }; ^ ../subprojects/yaml-cpp/include/yaml-cpp/emittermanip.h:58:3: note: previous declaration is here Flow, ^ In file included from ../subprojects/yaml-cpp/src/emitterutils.cpp:5: In file included from ../subprojects/yaml-cpp/src/emitterutils.h:12: ../subprojects/yaml-cpp/src/emitterstate.h:28:30: warning: declaration shadows a variable in namespace 'YAML' [-Wshadow] enum value { NoType, Flow, Block }; ^ ../subprojects/yaml-cpp/include/yaml-cpp/emittermanip.h:59:3: note: previous declaration is here Block, ^ In file included from ../subprojects/yaml-cpp/src/emitterutils.cpp:5: ../subprojects/yaml-cpp/src/emitterutils.h:24:23: warning: declaration shadows a variable in namespace 'YAML' [-Wshadow] enum value { Plain, SingleQuoted, DoubleQuoted, Literal }; ^ ../subprojects/yaml-cpp/include/yaml-cpp/emittermanip.h:26:3: note: previous declaration is here SingleQuoted, ^ In file included from ../subprojects/yaml-cpp/src/emitterutils.cpp:5: ../subprojects/yaml-cpp/src/emitterutils.h:24:37: warning: declaration shadows a variable in namespace 'YAML' [-Wshadow] enum value { Plain, SingleQuoted, DoubleQuoted, Literal }; ^ ../subprojects/yaml-cpp/include/yaml-cpp/emittermanip.h:27:3: note: previous declaration is here DoubleQuoted, ^ In file included from ../subprojects/yaml-cpp/src/emitterutils.cpp:5: ../subprojects/yaml-cpp/src/emitterutils.h:24:51: warning: declaration shadows a variable in namespace 'YAML' [-Wshadow] enum value { Plain, SingleQuoted, DoubleQuoted, Literal }; ^ ../subprojects/yaml-cpp/include/yaml-cpp/emittermanip.h:28:3: note: previous declaration is here Literal, ^ 5 warnings generated. [143/163] Compiling C++ object subprojects/yaml-cpp/libgmock.a.p/test_gtest-1.10.0_googlemock_src_gmock-all.cc.o In file included from ../subprojects/yaml-cpp/test/gtest-1.10.0/googlemock/src/gmock-all.cc:39: In file included from ../subprojects/yaml-cpp/test/gtest-1.10.0/googlemock/include/gmock/gmock.h:59: ../subprojects/yaml-cpp/test/gtest-1.10.0/googlemock/include/gmock/gmock-actions.h:455:3: warning: definition of implicit copy constructor for 'PolymorphicAction' is deprecated because it has a user-declared copy assignment operator [-Wdeprecated-copy] GTEST_DISALLOW_ASSIGN_(PolymorphicAction); ^ ../subprojects/yaml-cpp/test/gtest-1.10.0/googletest/include/gtest/internal/gtest-port.h:682:8: note: expanded from macro 'GTEST_DISALLOW_ASSIGN_' void operator=(type const &) = delete ^ ../subprojects/yaml-cpp/test/gtest-1.10.0/googlemock/include/gmock/gmock-actions.h:1011:10: note: in implicit copy constructor for 'testing::PolymorphicAction' first required here return MakePolymorphicAction(internal::ReturnNullAction()); ^ ../subprojects/yaml-cpp/test/gtest-1.10.0/googlemock/include/gmock/gmock-actions.h:455:3: warning: definition of implicit copy constructor for 'PolymorphicAction' is deprecated because it has a user-declared copy assignment operator [-Wdeprecated-copy] GTEST_DISALLOW_ASSIGN_(PolymorphicAction); ^ ../subprojects/yaml-cpp/test/gtest-1.10.0/googletest/include/gtest/internal/gtest-port.h:682:8: note: expanded from macro 'GTEST_DISALLOW_ASSIGN_' void operator=(type const &) = delete ^ ../subprojects/yaml-cpp/test/gtest-1.10.0/googlemock/include/gmock/gmock-actions.h:1016:10: note: in implicit copy constructor for 'testing::PolymorphicAction' first required here return MakePolymorphicAction(internal::ReturnVoidAction()); ^ In file included from ../subprojects/yaml-cpp/test/gtest-1.10.0/googlemock/src/gmock-all.cc:39: In file included from ../subprojects/yaml-cpp/test/gtest-1.10.0/googlemock/include/gmock/gmock.h:61: In file included from ../subprojects/yaml-cpp/test/gtest-1.10.0/googlemock/include/gmock/gmock-function-mocker.h:39: In file included from ../subprojects/yaml-cpp/test/gtest-1.10.0/googlemock/include/gmock/gmock-generated-function-mockers.h:47: In file included from ../subprojects/yaml-cpp/test/gtest-1.10.0/googlemock/include/gmock/gmock-spec-builders.h:75: ../subprojects/yaml-cpp/test/gtest-1.10.0/googlemock/include/gmock/gmock-matchers.h:1506:3: warning: definition of implicit copy constructor for 'FloatingEqMatcher' is deprecated because it has a user-declared copy assignment operator [-Wdeprecated-copy] GTEST_DISALLOW_ASSIGN_(FloatingEqMatcher); ^ ../subprojects/yaml-cpp/test/gtest-1.10.0/googletest/include/gtest/internal/gtest-port.h:682:8: note: expanded from macro 'GTEST_DISALLOW_ASSIGN_' void operator=(type const &) = delete ^ ../subprojects/yaml-cpp/test/gtest-1.10.0/googlemock/include/gmock/gmock-matchers.h:3632:10: note: in implicit copy constructor for 'testing::internal::FloatingEqMatcher' first required here return internal::FloatingEqMatcher(rhs, false); ^ ../subprojects/yaml-cpp/test/gtest-1.10.0/googlemock/include/gmock/gmock-matchers.h:1506:3: warning: definition of implicit copy constructor for 'FloatingEqMatcher' is deprecated because it has a user-declared copy assignment operator [-Wdeprecated-copy] GTEST_DISALLOW_ASSIGN_(FloatingEqMatcher); ^ ../subprojects/yaml-cpp/test/gtest-1.10.0/googletest/include/gtest/internal/gtest-port.h:682:8: note: expanded from macro 'GTEST_DISALLOW_ASSIGN_' void operator=(type const &) = delete ^ ../subprojects/yaml-cpp/test/gtest-1.10.0/googlemock/include/gmock/gmock-matchers.h:3660:10: note: in implicit copy constructor for 'testing::internal::FloatingEqMatcher' first required here return internal::FloatingEqMatcher(rhs, false); ^ ../subprojects/yaml-cpp/test/gtest-1.10.0/googlemock/include/gmock/gmock-matchers.h:721:3: warning: definition of implicit copy constructor for 'StrEqualityMatcher' is deprecated because it has a user-declared copy assignment operator [-Wdeprecated-copy] GTEST_DISALLOW_ASSIGN_(StrEqualityMatcher); ^ ../subprojects/yaml-cpp/test/gtest-1.10.0/googletest/include/gtest/internal/gtest-port.h:682:8: note: expanded from macro 'GTEST_DISALLOW_ASSIGN_' void operator=(type const &) = delete ^ ../subprojects/yaml-cpp/test/gtest-1.10.0/googletest/include/gtest/gtest-matchers.h:454:7: note: in implicit copy constructor for 'testing::internal::StrEqualityMatcher' first required here class PolymorphicMatcher { ^ ../subprojects/yaml-cpp/test/gtest-1.10.0/googlemock/include/gmock/gmock-matchers.h:3813:10: note: in implicit move constructor for 'testing::PolymorphicMatcher>' first required here return MakePolymorphicMatcher( ^ ../subprojects/yaml-cpp/test/gtest-1.10.0/googlemock/include/gmock/gmock-matchers.h:778:3: warning: definition of implicit copy constructor for 'HasSubstrMatcher' is deprecated because it has a user-declared copy assignment operator [-Wdeprecated-copy] GTEST_DISALLOW_ASSIGN_(HasSubstrMatcher); ^ ../subprojects/yaml-cpp/test/gtest-1.10.0/googletest/include/gtest/internal/gtest-port.h:682:8: note: expanded from macro 'GTEST_DISALLOW_ASSIGN_' void operator=(type const &) = delete ^ ../subprojects/yaml-cpp/test/gtest-1.10.0/googletest/include/gtest/gtest-matchers.h:454:7: note: in implicit copy constructor for 'testing::internal::HasSubstrMatcher' first required here class PolymorphicMatcher { ^ ../subprojects/yaml-cpp/test/gtest-1.10.0/googlemock/include/gmock/gmock-matchers.h:3842:10: note: in implicit move constructor for 'testing::PolymorphicMatcher>' first required here return MakePolymorphicMatcher( ^ ../subprojects/yaml-cpp/test/gtest-1.10.0/googlemock/include/gmock/gmock-matchers.h:835:3: warning: definition of implicit copy constructor for 'StartsWithMatcher' is deprecated because it has a user-declared copy assignment operator [-Wdeprecated-copy] GTEST_DISALLOW_ASSIGN_(StartsWithMatcher); ^ ../subprojects/yaml-cpp/test/gtest-1.10.0/googletest/include/gtest/internal/gtest-port.h:682:8: note: expanded from macro 'GTEST_DISALLOW_ASSIGN_' void operator=(type const &) = delete ^ ../subprojects/yaml-cpp/test/gtest-1.10.0/googletest/include/gtest/gtest-matchers.h:454:7: note: in implicit copy constructor for 'testing::internal::StartsWithMatcher' first required here class PolymorphicMatcher { ^ ../subprojects/yaml-cpp/test/gtest-1.10.0/googlemock/include/gmock/gmock-matchers.h:3849:10: note: in implicit move constructor for 'testing::PolymorphicMatcher>' first required here return MakePolymorphicMatcher( ^ ../subprojects/yaml-cpp/test/gtest-1.10.0/googlemock/include/gmock/gmock-matchers.h:891:3: warning: definition of implicit copy constructor for 'EndsWithMatcher' is deprecated because it has a user-declared copy assignment operator [-Wdeprecated-copy] GTEST_DISALLOW_ASSIGN_(EndsWithMatcher); ^ ../subprojects/yaml-cpp/test/gtest-1.10.0/googletest/include/gtest/internal/gtest-port.h:682:8: note: expanded from macro 'GTEST_DISALLOW_ASSIGN_' void operator=(type const &) = delete ^ ../subprojects/yaml-cpp/test/gtest-1.10.0/googletest/include/gtest/gtest-matchers.h:454:7: note: in implicit copy constructor for 'testing::internal::EndsWithMatcher' first required here class PolymorphicMatcher { ^ ../subprojects/yaml-cpp/test/gtest-1.10.0/googlemock/include/gmock/gmock-matchers.h:3856:10: note: in implicit move constructor for 'testing::PolymorphicMatcher>' first required here return MakePolymorphicMatcher(internal::EndsWithMatcher(suffix)); ^ ../subprojects/yaml-cpp/test/gtest-1.10.0/googlemock/include/gmock/gmock-matchers.h:721:3: warning: definition of implicit copy constructor for 'StrEqualityMatcher' is deprecated because it has a user-declared copy assignment operator [-Wdeprecated-copy] GTEST_DISALLOW_ASSIGN_(StrEqualityMatcher); ^ ../subprojects/yaml-cpp/test/gtest-1.10.0/googletest/include/gtest/internal/gtest-port.h:682:8: note: expanded from macro 'GTEST_DISALLOW_ASSIGN_' void operator=(type const &) = delete ^ ../subprojects/yaml-cpp/test/gtest-1.10.0/googletest/include/gtest/gtest-matchers.h:454:7: note: in implicit copy constructor for 'testing::internal::StrEqualityMatcher' first required here class PolymorphicMatcher { ^ ../subprojects/yaml-cpp/test/gtest-1.10.0/googlemock/include/gmock/gmock-matchers.h:3865:10: note: in implicit move constructor for 'testing::PolymorphicMatcher>' first required here return MakePolymorphicMatcher( ^ ../subprojects/yaml-cpp/test/gtest-1.10.0/googlemock/include/gmock/gmock-matchers.h:778:3: warning: definition of implicit copy constructor for 'HasSubstrMatcher' is deprecated because it has a user-declared copy assignment operator [-Wdeprecated-copy] GTEST_DISALLOW_ASSIGN_(HasSubstrMatcher); ^ ../subprojects/yaml-cpp/test/gtest-1.10.0/googletest/include/gtest/internal/gtest-port.h:682:8: note: expanded from macro 'GTEST_DISALLOW_ASSIGN_' void operator=(type const &) = delete ^ ../subprojects/yaml-cpp/test/gtest-1.10.0/googletest/include/gtest/gtest-matchers.h:454:7: note: in implicit copy constructor for 'testing::internal::HasSubstrMatcher' first required here class PolymorphicMatcher { ^ ../subprojects/yaml-cpp/test/gtest-1.10.0/googlemock/include/gmock/gmock-matchers.h:3894:10: note: in implicit move constructor for 'testing::PolymorphicMatcher>' first required here return MakePolymorphicMatcher( ^ ../subprojects/yaml-cpp/test/gtest-1.10.0/googlemock/include/gmock/gmock-matchers.h:835:3: warning: definition of implicit copy constructor for 'StartsWithMatcher' is deprecated because it has a user-declared copy assignment operator [-Wdeprecated-copy] GTEST_DISALLOW_ASSIGN_(StartsWithMatcher); ^ ../subprojects/yaml-cpp/test/gtest-1.10.0/googletest/include/gtest/internal/gtest-port.h:682:8: note: expanded from macro 'GTEST_DISALLOW_ASSIGN_' void operator=(type const &) = delete ^ ../subprojects/yaml-cpp/test/gtest-1.10.0/googletest/include/gtest/gtest-matchers.h:454:7: note: in implicit copy constructor for 'testing::internal::StartsWithMatcher' first required here class PolymorphicMatcher { ^ ../subprojects/yaml-cpp/test/gtest-1.10.0/googlemock/include/gmock/gmock-matchers.h:3901:10: note: in implicit move constructor for 'testing::PolymorphicMatcher>' first required here return MakePolymorphicMatcher( ^ ../subprojects/yaml-cpp/test/gtest-1.10.0/googlemock/include/gmock/gmock-matchers.h:891:3: warning: definition of implicit copy constructor for 'EndsWithMatcher' is deprecated because it has a user-declared copy assignment operator [-Wdeprecated-copy] GTEST_DISALLOW_ASSIGN_(EndsWithMatcher); ^ ../subprojects/yaml-cpp/test/gtest-1.10.0/googletest/include/gtest/internal/gtest-port.h:682:8: note: expanded from macro 'GTEST_DISALLOW_ASSIGN_' void operator=(type const &) = delete ^ ../subprojects/yaml-cpp/test/gtest-1.10.0/googletest/include/gtest/gtest-matchers.h:454:7: note: in implicit copy constructor for 'testing::internal::EndsWithMatcher' first required here class PolymorphicMatcher { ^ ../subprojects/yaml-cpp/test/gtest-1.10.0/googlemock/include/gmock/gmock-matchers.h:3908:10: note: in implicit move constructor for 'testing::PolymorphicMatcher>' first required here return MakePolymorphicMatcher( ^ 12 warnings generated. [148/163] Compiling C++ object subprojects/yaml-cpp/libgtest.a.p/test_gtest-1.10.0_googletest_src_gtest-all.cc.o In file included from ../subprojects/yaml-cpp/test/gtest-1.10.0/googletest/src/gtest-all.cc:45: ../subprojects/yaml-cpp/test/gtest-1.10.0/googletest/src/gtest-port.cc:200:19: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion] mib[5] = size / mib[4]; ~ ^~~~~~ ../subprojects/yaml-cpp/test/gtest-1.10.0/googletest/src/gtest-port.cc:210:30: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion] for (int i = 0; i < size / mib[4]; i++) { ~ ^~~~~~ ../subprojects/yaml-cpp/test/gtest-1.10.0/googletest/src/gtest-port.cc:214:10: warning: implicit conversion changes signedness: 'int' to 'size_t' (aka 'unsigned long') [-Wsign-conversion] return nthreads; ~~~~~~ ^~~~~~~~ ../subprojects/yaml-cpp/test/gtest-1.10.0/googletest/src/gtest-port.cc:200:17: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] mib[5] = size / mib[4]; ~ ~~~~~^~~~~~~~ ../subprojects/yaml-cpp/test/gtest-1.10.0/googletest/src/gtest-port.cc:210:21: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare] for (int i = 0; i < size / mib[4]; i++) { ~ ^ ~~~~~~~~~~~~~ 5 warnings generated. [163/163] Linking target ashuffle numbers.cc:495 (../subprojects/absl/absl/strings/numbers.cc:495)(libabsl_strings.a.p/absl_strings_numbers.cc.o:(absl::numbers_internal::SixDigitsToBuffer(double, char*)) in archive subprojects/absl/libabsl_strings.a): warning: strcpy() is almost always misused, please use strlcpy() raw_logging.cc:209 (../subprojects/absl/absl/base/internal/raw_logging.cc:209)(libabsl_raw_logging_internal.a.p/absl_base_internal_raw_logging.cc.o:(absl::raw_log_internal::AsyncSignalSafeWriteToStderr(char const*, unsigned long)) in archive subprojects/absl/libabsl_raw_logging_internal.a): warning: syscall() may go away, please rewrite code to use direct calls ```

back on commit d2de53124ec55390ce1ec66fd1fbf28b5a7ec4ec for absl, and attempting to build it directly in subprojects/absl/build with its cmake build stuff, produces the same failure as when trying to build from ashuffle parent build directory:

00:41 ryan@build-amd64:..build$ make
[  0%] Building CXX object absl/base/CMakeFiles/log_severity.dir/log_severity.cc.o
[  1%] Linking CXX static library libabsl_log_severity.a
[  1%] Built target log_severity
[  2%] Building CXX object absl/base/CMakeFiles/raw_logging_internal.dir/internal/raw_logging.cc.o
[  2%] Linking CXX static library libabsl_raw_logging_internal.a
[  2%] Built target raw_logging_internal
[  2%] Building CXX object absl/base/CMakeFiles/spinlock_wait.dir/internal/spinlock_wait.cc.o
[  3%] Linking CXX static library libabsl_spinlock_wait.a
[  3%] Built target spinlock_wait
[  3%] Building CXX object absl/base/CMakeFiles/base.dir/internal/cycleclock.cc.o
[  4%] Building CXX object absl/base/CMakeFiles/base.dir/internal/spinlock.cc.o
[  4%] Building CXX object absl/base/CMakeFiles/base.dir/internal/sysinfo.cc.o
/home/ryan/ashuffle/subprojects/absl/absl/base/internal/sysinfo.cc:450:10: error: static_cast from 'pthread_t' (aka 'pthread *') to 'pid_t' (aka 'int') is not allowed
  return static_cast<pid_t>(pthread_self());
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
*** Error 1 in . (absl/base/CMakeFiles/base.dir/build.make:104 'absl/base/CMakeFiles/base.dir/internal/sysinfo.cc.o': cd /home/ryan/ashuffle...)
*** Error 2 in . (CMakeFiles/Makefile2:1478 'absl/base/CMakeFiles/base.dir/all': make -s -f absl/base/CMakeFiles/base.dir/build.make absl/ba...)
*** Error 2 in /home/ryan/ashuffle/subprojects/absl/build (Makefile:146 'all': make -s -f CMakeFiles/Makefile2 all)

I will try and take this to absl and see if they can help me further, which should then allow ashuffle to roll forward at some point hopefully.

joshkunz commented 1 year ago

Thanks for following up with absl! Yeah, I don't have a BSD flavor test platform handy filed #208 for adding some automatic BSD verifiction.

ryan-sg commented 1 week ago

OpenBSD 7.6 was released today, upon upgrading my build VM and pulling latest git for ashuffle, the build process seems to work fine top to bottom again and with a working binary. I'll close this now. Thanks!