Closed xxks-kkk closed 6 years ago
Hi,
Thanks again for your work on this! I tried locally testing the pull request on my Mac OSX 10.11.6 environment, and it wouldn't compile. I'm not sure if I'm missing new dependencies. CMakeError.log CMakeOutput.log
I'll look into this again in a bit, but it would be helpful if you could look and see if I'm missing something since PebblesDB used to compile previously for me.
Hi Vijay,
From the error log you posted, I see there are several header files cannot be located on your system
/Users/vijay/work/pebblesdb/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c:1:10: fatal error: 'endian.h' file not found
#include <endian.h>
^
1 error generated.
Those headers include endian.h
, sys/endian.h
, sys/isa_defs.h
. I'm investigating why this is the case. Meanwhile, can you please paste the output of cmake ..
? Also, Can you also help to confirm that there is no such problem when building with Autotools?
Thanks!
I've attached the cmake output in the previous comment. I can confirm I can successfully build the master branch.
Sorry for my bad wording. Can you please paste the terminal output of the command cmake ..
. Also, I check with my local "CMakeError.log", the missing header is not the root cause of the problem (i.e., I have several headers missing as well but can still build). I guess the terminal output of the commands cmake ..
and make all -j4
will help in this case.
cmake output:
-- CMAKE_SOURCE_DIR: /Users/vijay/work/pebblesdb -- PROJECT_SOURCE_DIR: /Users/vijay/work/pebblesdb/src CMake Error: File /Users/vijay/work/pebblesdb/src/config.h.in.forcmake does not exist. CMake Error at CMakeLists.txt:89 (configure_file): configure_file Problem configuring file
-- C++ flags: -std=c++11 -Wall -Wno-variadic-macros -fno-builtin-memcmp -fno-builtin-memmove -Qunused-arguments
-- APPLE=1
-- CMAKE_AR=/Library/Developer/CommandLineTools/usr/bin/ar
-- CMAKE_AR=/Library/Developer/CommandLineTools/usr/bin/ar
-- CMAKE_AUTOMOC_COMPILER_PREDEFINES=ON
-- CMAKE_AUTOMOC_MACRO_NAMES=Q_OBJECT;Q_GADGET;Q_NAMESPACE
-- CMAKE_BASE_NAME=c++
-- CMAKE_BINARY_DIR=/Users/vijay/work/pebblesdb/build
-- CMAKE_BUILD_TOOL=/usr/bin/make
-- CMAKE_BUILD_TYPE=
-- CMAKE_C11_COMPILE_FEATURES=c_std_11;c_static_assert
-- CMAKE_C11_EXTENSION_COMPILE_OPTION=-std=gnu11
-- CMAKE_C11_STANDARD_COMPILE_OPTION=-std=c11
-- CMAKE_C90_COMPILE_FEATURES=c_std_90;c_function_prototypes
-- CMAKE_C90_EXTENSION_COMPILE_OPTION=-std=gnu90
-- CMAKE_C90_STANDARD_COMPILE_OPTION=-std=c90
-- CMAKE_C99_COMPILE_FEATURES=c_std_99;c_restrict;c_variadic_macros
-- CMAKE_C99_EXTENSION_COMPILE_OPTION=-std=gnu99
-- CMAKE_C99_STANDARD_COMPILE_OPTION=-std=c99
-- CMAKE_CACHEFILE_DIR=/Users/vijay/work/pebblesdb/build
-- CMAKE_CACHE_MAJOR_VERSION=3
-- CMAKE_CACHE_MINOR_VERSION=12
-- CMAKE_CACHE_PATCH_VERSION=0
-- CMAKE_CFG_INTDIR=.
-- CMAKE_COLOR_MAKEFILE=ON
-- CMAKE_COMMAND=/usr/local/Cellar/cmake/3.12.0/bin/cmake
-- CMAKE_CPACK_COMMAND=/usr/local/Cellar/cmake/3.12.0/bin/cpack
-- CMAKE_CROSSCOMPILING=FALSE
-- CMAKE_CTEST_COMMAND=/usr/local/Cellar/cmake/3.12.0/bin/ctest
-- CMAKE_CUDA_IMPLICIT_INCLUDE_DIRECTORIES=/usr/include
-- CMAKE_CURRENT_BINARY_DIR=/Users/vijay/work/pebblesdb/build
-- CMAKE_CURRENT_LIST_DIR=/Users/vijay/work/pebblesdb
-- CMAKE_CURRENT_LIST_FILE=/Users/vijay/work/pebblesdb/CMakeLists.txt
-- CMAKE_CURRENT_SOURCE_DIR=/Users/vijay/work/pebblesdb
-- CMAKE_CXX11_COMPILE_FEATURES=cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates
-- CMAKE_CXX11_EXTENSION_COMPILE_OPTION=-std=gnu++11
-- CMAKE_CXX11_STANDARD_COMPILE_OPTION=-std=c++11
-- CMAKE_CXX14_COMPILE_FEATURES=cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates
-- CMAKE_CXX14_EXTENSION_COMPILE_OPTION=-std=gnu++14
-- CMAKE_CXX14_STANDARD_COMPILE_OPTION=-std=c++14
-- CMAKE_CXX17_COMPILE_FEATURES=cxx_std_17
-- CMAKE_CXX17_EXTENSION_COMPILE_OPTION=-std=gnu++1z
-- CMAKE_CXX17_STANDARD_COMPILE_OPTION=-std=c++1z
-- CMAKE_CXX20_COMPILE_FEATURES=
-- CMAKE_CXX98_COMPILE_FEATURES=cxx_std_98;cxx_template_template_parameters
-- CMAKE_CXX98_EXTENSION_COMPILE_OPTION=-std=gnu++98
-- CMAKE_CXX98_STANDARD_COMPILE_OPTION=-std=c++98
-- CMAKE_CXX_ABI_COMPILED=TRUE
-- CMAKE_CXX_ARCHIVE_APPEND=
I can't run make without cmake finishing successfully I think.
Hello Vijay,
Thanks for the output trace. As shown by the printout, there is a file missing:
CMake Error: File /Users/vijay/work/pebblesdb/src/config.h.in.forcmake does not exist.
It's my fault. I forget to push the file that is required by the CMake
(got ignored due to my .gitignore
). I just pushed another commit. Please try again and let me know how it goes.
Thanks!
Zack
Great! It works for me now. I was able to pass PebblesDB tests successfully on my machine.
This pull request contains the following changes:
corruption_test
andtable_test
(in order to let CMake compile successfully)demo/installation_test
to verify the success of the installationVerification: