Open thompsonbry opened 1 day ago
Some 3rd party dependencies are vendored as Git submodules, so you have to do git submodule update --init
first.
Ok. Here is my incantation.
git clone https://github.com/laurynas-biveinis/unodb.git
cd unodb
git submodule update --init
export CC=/usr/bin/gcc10-cc
export CXX=/usr/bin/gcc10-c++
cmake -DSTANDALONE=ON .
make
This fails as follows:
[ 11%] Building C object CMakeFiles/deepstate32.dir/src/lib/DeepState.c.o
In file included from /usr/include/features.h:447,
from /usr/include/assert.h:35,
from /local/home/bryant/p8/src/Neptune-Playground/src/hash/unodb/3rd_party/deepstate/src/include/deepstate/DeepState.h:20,
from /local/home/bryant/p8/src/Neptune-Playground/src/hash/unodb/3rd_party/deepstate/src/lib/DeepState.c:17:
/usr/include/gnu/stubs.h:7:11: fatal error: gnu/stubs-32.h: No such file or directory
7 | # include <gnu/stubs-32.h>
| ^~~~~~~~~~~~~~~~
compilation terminated.
The full output of the command sequence is below.
cmake -DSTANDALONE=ON .
Cloning into 'unodb'...
remote: Enumerating objects: 7592, done.
remote: Counting objects: 100% (1109/1109), done.
remote: Compressing objects: 100% (462/462), done.
remote: Total 7592 (delta 662), reused 1055 (delta 628), pack-reused 6483 (from 1)
Receiving objects: 100% (7592/7592), 3.68 MiB | 21.30 MiB/s, done.
Resolving deltas: 100% (4862/4862), done.
Submodule '3rd_party/GSL' (https://github.com/microsoft/GSL.git) registered for path '3rd_party/GSL'
Submodule '3rd_party/benchmark' (https://github.com/google/benchmark.git) registered for path '3rd_party/benchmark'
Submodule '3rd_party/deepstate' (https://github.com/trailofbits/deepstate.git) registered for path '3rd_party/deepstate'
Submodule '3rd_party/googletest' (https://github.com/google/googletest.git) registered for path '3rd_party/googletest'
Cloning into '/local/home/bryant/p8/src/Neptune-Playground/src/hash/unodb/3rd_party/GSL'...
Cloning into '/local/home/bryant/p8/src/Neptune-Playground/src/hash/unodb/3rd_party/benchmark'...
Cloning into '/local/home/bryant/p8/src/Neptune-Playground/src/hash/unodb/3rd_party/deepstate'...
Cloning into '/local/home/bryant/p8/src/Neptune-Playground/src/hash/unodb/3rd_party/googletest'...
Submodule path '3rd_party/GSL': checked out '82ba6c77ceb70cf92add22ca9ecaf0fc7cac99fa'
Submodule path '3rd_party/benchmark': checked out '12235e24652fc7f809373e7c11a5f73c5763fc4c'
Submodule path '3rd_party/deepstate': checked out 'b0b42eb1d49f9e302dbc49e4b4effbe23568e5cd'
Submodule path '3rd_party/googletest': checked out 'b514bdc898e2951020cbdca1304b75f5950d1f59'
zsh: command not found: #
zsh: command not found: #
-- The CXX compiler identification is GNU 10.5.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/gcc10-c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Warning diagnostics are not fatal
-- Using AVX2 instructions on x86_64
-- Code coverage reporting not enabled
-- Enabling IPO/LTO for release config
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - yes
-- Found Threads: TRUE
-- Found Boost: /usr/local/lib/cmake/Boost-1.85.0/BoostConfig.cmake (found version "1.85.0")
-- The C compiler identification is GNU 10.5.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/gcc10-cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Enabling LTO for Google Benchmark
-- Failed to find LLVM FileCheck
-- Found Git: /usr/bin/git (found version "2.40.1")
-- Google Benchmark version: v1.9.0, normalized to 1.9.0
-- Looking for shm_open in rt
-- Looking for shm_open in rt - found
-- Performing Test HAVE_CXX_FLAG_WALL
-- Performing Test HAVE_CXX_FLAG_WALL - Success
-- Performing Test HAVE_CXX_FLAG_WEXTRA
-- Performing Test HAVE_CXX_FLAG_WEXTRA - Success
-- Performing Test HAVE_CXX_FLAG_WSHADOW
-- Performing Test HAVE_CXX_FLAG_WSHADOW - Success
-- Performing Test HAVE_CXX_FLAG_WFLOAT_EQUAL
-- Performing Test HAVE_CXX_FLAG_WFLOAT_EQUAL - Success
-- Performing Test HAVE_CXX_FLAG_WOLD_STYLE_CAST
-- Performing Test HAVE_CXX_FLAG_WOLD_STYLE_CAST - Success
-- Performing Test HAVE_CXX_FLAG_WCONVERSION
-- Performing Test HAVE_CXX_FLAG_WCONVERSION - Success
-- Performing Test HAVE_CXX_FLAG_WERROR
-- Performing Test HAVE_CXX_FLAG_WERROR - Success
-- Performing Test HAVE_CXX_FLAG_WSUGGEST_OVERRIDE
-- Performing Test HAVE_CXX_FLAG_WSUGGEST_OVERRIDE - Success
-- Performing Test HAVE_CXX_FLAG_PEDANTIC
-- Performing Test HAVE_CXX_FLAG_PEDANTIC - Success
-- Performing Test HAVE_CXX_FLAG_PEDANTIC_ERRORS
-- Performing Test HAVE_CXX_FLAG_PEDANTIC_ERRORS - Success
-- Performing Test HAVE_CXX_FLAG_WSHORTEN_64_TO_32
-- Performing Test HAVE_CXX_FLAG_WSHORTEN_64_TO_32 - Failed
-- Performing Test HAVE_CXX_FLAG_FSTRICT_ALIASING
-- Performing Test HAVE_CXX_FLAG_FSTRICT_ALIASING - Success
-- Performing Test HAVE_CXX_FLAG_WNO_DEPRECATED_DECLARATIONS
-- Performing Test HAVE_CXX_FLAG_WNO_DEPRECATED_DECLARATIONS - Success
-- Performing Test HAVE_CXX_FLAG_WNO_DEPRECATED
-- Performing Test HAVE_CXX_FLAG_WNO_DEPRECATED - Success
-- Performing Test HAVE_CXX_FLAG_WSTRICT_ALIASING
-- Performing Test HAVE_CXX_FLAG_WSTRICT_ALIASING - Success
-- Performing Test HAVE_CXX_FLAG_WD654
-- Performing Test HAVE_CXX_FLAG_WD654 - Failed
-- Performing Test HAVE_CXX_FLAG_WTHREAD_SAFETY
-- Performing Test HAVE_CXX_FLAG_WTHREAD_SAFETY - Failed
-- Performing Test HAVE_CXX_FLAG_FLTO
-- Performing Test HAVE_CXX_FLAG_FLTO - Success
-- Performing Test HAVE_CXX_FLAG_WNO_LTO_TYPE_MISMATCH
-- Performing Test HAVE_CXX_FLAG_WNO_LTO_TYPE_MISMATCH - Success
-- Performing Test HAVE_CXX_FLAG_COVERAGE
-- Performing Test HAVE_CXX_FLAG_COVERAGE - Success
-- Compiling and running to test HAVE_STD_REGEX
-- Performing Test HAVE_STD_REGEX -- success
-- Compiling and running to test HAVE_GNU_POSIX_REGEX
-- Performing Test HAVE_GNU_POSIX_REGEX -- failed to compile
-- Compiling and running to test HAVE_POSIX_REGEX
-- Performing Test HAVE_POSIX_REGEX -- success
-- Compiling and running to test HAVE_STEADY_CLOCK
-- Performing Test HAVE_STEADY_CLOCK -- success
-- Compiling and running to test HAVE_PTHREAD_AFFINITY
-- Performing Test HAVE_PTHREAD_AFFINITY -- failed to compile
-- Not using clang-tidy due to non-clang compiler being used
-- cppcheck not found
-- cpplint not found
-- User-set CMake options:
-- STANDALONE: ON
-- AVX2: ON
-- COVERAGE: OFF
-- GCOV_PATH:
-- SANITIZE_ADDRESS: OFF
-- SANITIZE_THREAD: OFF
-- SANITIZE_UB: OFF
-- STATIC_ANALYSIS: OFF
-- CPPCHECK_AGGRESSIVE: OFF
-- IWYU: OFF
-- Configuring done
-- Generating done
-- Build files have been written to: /local/home/bryant/p8/src/Neptune-Playground/src/hash/unodb
(24-11-21 15:15:18) <0> [/local/home/bryant/p8/src/Neptune-Playground/src/hash/unodb]
dev-dsk-bryant-2b-a6dd7191 % make
[ 1%] Creating directories for '3rd_party_deepstate'
[ 2%] No download step for '3rd_party_deepstate'
[ 3%] No update step for '3rd_party_deepstate'
[ 4%] No patch step for '3rd_party_deepstate'
[ 5%] Performing configure step for '3rd_party_deepstate'
-- The C compiler identification is GNU 10.5.0
-- The CXX compiler identification is GNU 10.5.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/gcc10-cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/gcc10-c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Deprecation Warning at CMakeLists.txt:16 (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.
-- Configuring done
-- Generating done
-- Build files have been written to: /local/home/bryant/p8/src/Neptune-Playground/src/hash/unodb/3rd_party/deepstate
[ 6%] Performing build step for '3rd_party_deepstate'
[ 1%] Building C object CMakeFiles/deepstate.dir/src/lib/DeepState.c.o
[ 3%] Building C object CMakeFiles/deepstate.dir/src/lib/Log.c.o
[ 5%] Building C object CMakeFiles/deepstate.dir/src/lib/Option.c.o
[ 7%] Building C object CMakeFiles/deepstate.dir/src/lib/Stream.c.o
[ 9%] Linking C static library libdeepstate.a
[ 9%] Built target deepstate
[ 11%] Building C object CMakeFiles/deepstate32.dir/src/lib/DeepState.c.o
In file included from /usr/include/features.h:447,
from /usr/include/assert.h:35,
from /local/home/bryant/p8/src/Neptune-Playground/src/hash/unodb/3rd_party/deepstate/src/include/deepstate/DeepState.h:20,
from /local/home/bryant/p8/src/Neptune-Playground/src/hash/unodb/3rd_party/deepstate/src/lib/DeepState.c:17:
/usr/include/gnu/stubs.h:7:11: fatal error: gnu/stubs-32.h: No such file or directory
7 | # include <gnu/stubs-32.h>
| ^~~~~~~~~~~~~~~~
compilation terminated.
make[5]: *** [CMakeFiles/deepstate32.dir/src/lib/DeepState.c.o] Error 1
make[4]: *** [CMakeFiles/deepstate32.dir/all] Error 2
make[3]: *** [all] Error 2
make[2]: *** [3rd_party_deepstate-prefix/src/3rd_party_deepstate-stamp/3rd_party_deepstate-build] Error 2
make[1]: *** [CMakeFiles/3rd_party_deepstate.dir/all] Error 2
make: *** [all] Error 2
This appears to be a glibc-devel issue? However I observe
sudo yum install glibc-devel
Package glibc-devel-2.26-64.amzn2.0.2.x86_64 already installed and latest version
For some reason, DeepState requires 32-bit version of libc dev files: glibc-devel.i686
If that doesn't work for some reason, the easiest would be to disable DeepState build in CMake files, fuzzing the library probably isn't your top priority right now
Ok. Let me try that. The 32-bit version is not in the configured list of repositories....
I don't see the option to disable that in the README.md?
Yeah, I was referring to "files" as in editing CMakeLists.txt, because there is no option for that yet
So maybe https://github.com/laurynas-biveinis/unodb/blob/master/CMakeLists.txt#L370
if(NOT (is_darwin AND (is_gxx OR SANITIZE_ADDRESS OR SANITIZE_THREAD))
change to
if(FALSE AND NOT (is_darwin AND (is_gxx OR SANITIZE_ADDRESS OR SANITIZE_THREAD))
?
Or maybe a few lines down
if(NOT (is_darwin AND (is_gxx OR SANITIZE_ADDRESS OR SANITIZE_THREAD))
AND NOT is_windows AND NOT is_arm)
# ThreadSanitizer is not compatible with libfuzzer and LLVM 11 linker crashes
# on libfuzzer release build
if(FALSE) # is_clang AND NOT(is_release) AND NOT(SANITIZE_THREAD))
set(LIBFUZZER_AVAILABLE TRUE)
set(BUILD_DEEPSTATE_LIBFUZZER "-DDEEPSTATE_LIBFUZZER=ON")
else()
set(LIBFUZZER_AVAILABLE FALSE)
set(BUILD_DEEPSTATE_LIBFUZZER "-DDEEPSTATE_LIBFUZZER=OFF")
endif()
I can't figure out any way to really clean out the generated makefiles. Just fyi. The following does not seem to be enough. So I am just redoing things from the git clone.
cmake --build . --target clean
So maybe https://github.com/laurynas-biveinis/unodb/blob/master/CMakeLists.txt#L370
if(NOT (is_darwin AND (is_gxx OR SANITIZE_ADDRESS OR SANITIZE_THREAD))
change to
if(FALSE AND NOT (is_darwin AND (is_gxx OR SANITIZE_ADDRESS OR SANITIZE_THREAD))
?
This one
I can't figure out any way to really clean out the generated makefiles. Just fyi. The following does not seem to be enough. So I am just redoing things from the git clone.
cmake --build . --target clean
I never tested in-source builds, and always do mkdir build && cd build && cmake ..
ack. i will try that.
still hitting the deepstate dependency on that library with that edit to CMakeLists.txt.
Updated incantation works around the lack of the glibc-devel 32-bit library. I will update again once I have this working.
git clone https://github.com/laurynas-biveinis/unodb.git
cd unodb
git submodule update --init
export CC=/usr/bin/gcc10-cc
export CXX=/usr/bin/gcc10-c++
mkdir build && cd build
# EDIT ../CMakeLists.txt and disable deepstate fuzzing (requires glibc-devel which I can't find for AL2, AL2023)
# Replace
if(NOT (is_darwin AND (is_gxx OR SANITIZE_ADDRESS OR SANITIZE_THREAD))
AND NOT is_windows AND NOT is_arm)
# With
if(FALSE)
#
cmake -DSTANDALONE=ON ..
make
Hits an issue with boost backtrace.
dev-dsk-bryant-2b-a6dd7191 % make
[ 1%] Building CXX object CMakeFiles/unodb_qsbr.dir/qsbr.cpp.o
In file included from /usr/local/include/boost/stacktrace/detail/frame_unwind.ipp:25,
from /usr/local/include/boost/stacktrace/frame.hpp:59,
from /usr/local/include/boost/stacktrace.hpp:15,
from /local/home/bryant/p8/src/Neptune-Playground/src/hash/unodb/assert.hpp:17,
from /local/home/bryant/p8/src/Neptune-Playground/src/hash/unodb/qsbr.hpp:42,
from /local/home/bryant/p8/src/Neptune-Playground/src/hash/unodb/qsbr.cpp:7:
/usr/local/include/boost/stacktrace/detail/libbacktrace_impls.hpp:23:13: fatal error: backtrace.h: No such file or directory
23 | # include <backtrace.h>
| ^~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/unodb_qsbr.dir/qsbr.cpp.o] Error 1
make[1]: *** [CMakeFiles/unodb_qsbr.dir/all] Error 2
make: *** [all] Error 2
partial worked around for backtrace.h
git clone https://github.com/ianlancetaylor/libbacktrace.git
cd libbacktrace
./configure
sudo make install
# Note: installed into /usr/local/lib
Build progresses further, but fails on -lbacktrace.
[ 58%] Linking CXX executable micro_benchmark_key_prefix
/usr/bin/gcc10-ld: error: cannot find -lbacktrace
/usr/bin/gcc10-ld: error: cannot find -lbacktrace
lto-wrapper: warning: using serial compilation of 2 LTRANS jobs
/usr/local/include/boost/stacktrace/detail/libbacktrace_impls.hpp:104: error: undefined reference to 'backtrace_create_state'
/usr/local/include/boost/stacktrace/detail/libbacktrace_impls.hpp:127: error: undefined reference to 'backtrace_pcinfo'
/usr/local/include/boost/stacktrace/detail/libbacktrace_impls.hpp:135: error: undefined reference to 'backtrace_syminfo'
collect2: error: ld returned 1 exit status
make[2]: *** [benchmark/micro_benchmark_key_prefix] Error 1
make[1]: *** [benchmark/CMakeFiles/micro_benchmark_key_prefix.dir/all] Error 2
make: *** [all] Error 2
I have spun up an Amazon Linux 2023 instance to come up with the recipe there
I’ve been using AL2. But I could switch my environment.
On Thu, Nov 21, 2024 at 23:28 Laurynas Biveinis @.***> wrote:
I have spun up an Amazon Linux 2023 instance to come up with the recipe there
— Reply to this email directly, view it on GitHub https://github.com/laurynas-biveinis/unodb/issues/602#issuecomment-2493051265, or unsubscribe https://github.com/notifications/unsubscribe-auth/AATW7YD5MUXERAG77Z4DUNT2B3MJFAVCNFSM6AAAAABSFUFWDWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIOJTGA2TCMRWGU . You are receiving this because you authored the thread.Message ID: @.***>
On AL2023 I got a successful build with: disabling DeepState in CMakeLists.txt as discussed above
dnf install git gcc g++ cmake boost-devel
git clone https://github.com/ianlancetaylor/libbacktrace
(cd libbacktrace && ./configure && make && sudo make install)
then out-of-source build with -DSTANDALONE=ON -DCMAKE_BUILD_TYPE=Debug
Release configuration works too. I'll see if I can test AL2
OK, so AL2 packages Boost 1.53, which does not contain Boost.Stacktrace and your logs above suggest custom-compiled Boost. I believe for me the best way forward is to make that dependency optional.
For AL2, try the branch at https://github.com/laurynas-biveinis/unodb/pull/603, which will not try to use Boost.Stacktrace if it's not present (this of course will require removing your, presumably custom built, Boost)
(Manually disabling DeepState is still required on that branch)
For DeepState, I am testing https://github.com/laurynas-biveinis/unodb/pull/604
For AL2, try the branch at #603, which will not try to use Boost.Stacktrace if it's not present (this of course will require removing your, presumably custom built, Boost)
(Manually disabling DeepState is still required on that branch)
Build still fails with DeepState disabled on the #603 branch
[ 57%] Building CXX object benchmark/CMakeFiles/micro_benchmark_key_prefix.dir/micro_benchmark_key_prefix.cpp.o
[ 58%] Linking CXX executable micro_benchmark_key_prefix
/usr/bin/gcc10-ld: error: cannot find -lbacktrace
/usr/bin/gcc10-ld: error: cannot find -lbacktrace
lto-wrapper: warning: using serial compilation of 2 LTRANS jobs
/usr/local/include/boost/stacktrace/detail/libbacktrace_impls.hpp:104: error: undefined reference to 'backtrace_create_state'
/usr/local/include/boost/stacktrace/detail/libbacktrace_impls.hpp:127: error: undefined reference to 'backtrace_pcinfo'
/usr/local/include/boost/stacktrace/detail/libbacktrace_impls.hpp:135: error: undefined reference to 'backtrace_syminfo'
collect2: error: ld returned 1 exit status
make[2]: *** [benchmark/micro_benchmark_key_prefix] Error 1
make[1]: *** [benchmark/CMakeFiles/micro_benchmark_key_prefix.dir/all] Error 2
make: *** [all] Error 2
git status
On branch optional-boost-stacktrace
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: CMakeLists.txt
no changes added to commit (use "git add" and/or "git commit -a")
git diff
diff --git a/CMakeLists.txt b/CMakeLists.txt
index fbb1509..364786f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -367,8 +367,9 @@ RESTORE_CXX_FLAGS_FOR_SUBDIR()
# - on ARM
# - with GCC under macOS due to https://github.com/trailofbits/deepstate/issues/374
# - under macOS with ASan or TSan enabled
-if(NOT (is_darwin AND (is_gxx OR SANITIZE_ADDRESS OR SANITIZE_THREAD))
- AND NOT is_windows AND NOT is_arm)
+#if(NOT (is_darwin AND (is_gxx OR SANITIZE_ADDRESS OR SANITIZE_THREAD))
+# AND NOT is_windows AND NOT is_arm)
+if(FALSE)
# ThreadSanitizer is not compatible with libfuzzer and LLVM 11 linker crashes
# on libfuzzer release build
if(is_clang AND NOT(is_release) AND NOT(SANITIZE_THREAD))
My process was:
git pull
git checkout -b optional-boost-stacktrace
# Edit CMakeLists.txt per above
cd .../build
rm -rf *
cmake -DSTANDALONE=ON ..
make
The cmake output is:
cmake -DSTANDALONE=ON ..
-- The CXX compiler identification is GNU 10.5.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/gcc10-c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Warning diagnostics are not fatal
-- Using AVX2 instructions on x86_64
-- Code coverage reporting not enabled
-- Enabling IPO/LTO for release config
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - yes
-- Found Threads: TRUE
-- Found Boost: /usr/local/lib/cmake/Boost-1.85.0/BoostConfig.cmake (found version "1.85.0")
-- The C compiler identification is GNU 10.5.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/gcc10-cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Enabling LTO for Google Benchmark
-- Failed to find LLVM FileCheck
-- Found Git: /usr/bin/git (found version "2.40.1")
-- Google Benchmark version: v1.9.0, normalized to 1.9.0
-- Looking for shm_open in rt
-- Looking for shm_open in rt - found
-- Performing Test HAVE_CXX_FLAG_WALL
-- Performing Test HAVE_CXX_FLAG_WALL - Success
-- Performing Test HAVE_CXX_FLAG_WEXTRA
-- Performing Test HAVE_CXX_FLAG_WEXTRA - Success
-- Performing Test HAVE_CXX_FLAG_WSHADOW
-- Performing Test HAVE_CXX_FLAG_WSHADOW - Success
-- Performing Test HAVE_CXX_FLAG_WFLOAT_EQUAL
-- Performing Test HAVE_CXX_FLAG_WFLOAT_EQUAL - Success
-- Performing Test HAVE_CXX_FLAG_WOLD_STYLE_CAST
-- Performing Test HAVE_CXX_FLAG_WOLD_STYLE_CAST - Success
-- Performing Test HAVE_CXX_FLAG_WCONVERSION
-- Performing Test HAVE_CXX_FLAG_WCONVERSION - Success
-- Performing Test HAVE_CXX_FLAG_WERROR
-- Performing Test HAVE_CXX_FLAG_WERROR - Success
-- Performing Test HAVE_CXX_FLAG_WSUGGEST_OVERRIDE
-- Performing Test HAVE_CXX_FLAG_WSUGGEST_OVERRIDE - Success
-- Performing Test HAVE_CXX_FLAG_PEDANTIC
-- Performing Test HAVE_CXX_FLAG_PEDANTIC - Success
-- Performing Test HAVE_CXX_FLAG_PEDANTIC_ERRORS
-- Performing Test HAVE_CXX_FLAG_PEDANTIC_ERRORS - Success
-- Performing Test HAVE_CXX_FLAG_WSHORTEN_64_TO_32
-- Performing Test HAVE_CXX_FLAG_WSHORTEN_64_TO_32 - Failed
-- Performing Test HAVE_CXX_FLAG_FSTRICT_ALIASING
-- Performing Test HAVE_CXX_FLAG_FSTRICT_ALIASING - Success
-- Performing Test HAVE_CXX_FLAG_WNO_DEPRECATED_DECLARATIONS
-- Performing Test HAVE_CXX_FLAG_WNO_DEPRECATED_DECLARATIONS - Success
-- Performing Test HAVE_CXX_FLAG_WNO_DEPRECATED
-- Performing Test HAVE_CXX_FLAG_WNO_DEPRECATED - Success
-- Performing Test HAVE_CXX_FLAG_WSTRICT_ALIASING
-- Performing Test HAVE_CXX_FLAG_WSTRICT_ALIASING - Success
-- Performing Test HAVE_CXX_FLAG_WD654
-- Performing Test HAVE_CXX_FLAG_WD654 - Failed
-- Performing Test HAVE_CXX_FLAG_WTHREAD_SAFETY
-- Performing Test HAVE_CXX_FLAG_WTHREAD_SAFETY - Failed
-- Performing Test HAVE_CXX_FLAG_FLTO
-- Performing Test HAVE_CXX_FLAG_FLTO - Success
-- Performing Test HAVE_CXX_FLAG_WNO_LTO_TYPE_MISMATCH
-- Performing Test HAVE_CXX_FLAG_WNO_LTO_TYPE_MISMATCH - Success
-- Performing Test HAVE_CXX_FLAG_COVERAGE
-- Performing Test HAVE_CXX_FLAG_COVERAGE - Success
-- Compiling and running to test HAVE_STD_REGEX
-- Performing Test HAVE_STD_REGEX -- success
-- Compiling and running to test HAVE_GNU_POSIX_REGEX
-- Performing Test HAVE_GNU_POSIX_REGEX -- failed to compile
-- Compiling and running to test HAVE_POSIX_REGEX
-- Compiling and running to test HAVE_STEADY_CLOCK
-- Performing Test HAVE_STEADY_CLOCK -- success
-- Compiling and running to test HAVE_PTHREAD_AFFINITY
-- Performing Test HAVE_PTHREAD_AFFINITY -- failed to compile
-- Not using clang-tidy due to non-clang compiler being used
-- cppcheck not found
-- cpplint not found
-- User-set CMake options:
-- STANDALONE: ON
-- MAINTAINER_MODE: OFF
-- AVX2: ON
-- COVERAGE: OFF
-- GCOV_PATH:
-- SANITIZE_ADDRESS: OFF
-- SANITIZE_THREAD: OFF
-- SANITIZE_UB: OFF
-- STATIC_ANALYSIS: OFF
-- CPPCHECK_AGGRESSIVE: OFF
-- IWYU: OFF
-- Configuring done
-- Generating done
-- Build files have been written to: /local/home/bryant/p8/src/Neptune-Playground/src/hash/unodb/build
How does the CMake output look like?
updated the comment above with the cmake output.
From a download of master, the following does not succeed.
cmake -DSTANDALONE=ON .
The detailed output is below.
Is the expectation that the user should check out each project into the corresponding 3rd_party library before invoking cmake at the top level? Or am I missing something and there is an incantation which will do all of this automagically?
Thanks, Bryan