ClickHouse / clickhouse-cpp

C++ client library for ClickHouse
Apache License 2.0
301 stars 158 forks source link

abseil library isn't installed resulting in compilation error #284

Open pkoosha opened 1 year ago

pkoosha commented 1 year ago

I did git clone --recursive https://github.com/ClickHouse/clickhouse-cpp.git then

make -DBUILD_TESTS=ON -DCMAKE_CXX_FLAGS="-std=c++17" -DCMAKE_CXX_COMPILER=/opt/gcc/7.5.0/bin/g++ -DCMAKE_C_COMPILER=/opt/gcc/7.5.0/bin/gcc -DCMAKE_EXE_LINKER_FLAGS="-L/opt/gcc/7.5.0/lib64" -DCMAKE_INSTALL_PREFIX:PATH=/home/kousha.2/projects/clickhouse-cpp/build/install-dir ..

-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- Check for working C compiler: /opt/gcc/7.5.0/bin/gcc
-- Check for working C compiler: /opt/gcc/7.5.0/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /opt/gcc/7.5.0/bin/g++
-- Check for working CXX compiler: /opt/gcc/7.5.0/bin/g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: /home/kousha.2/projects/clickhouse-cpp/build
(base) kousha.2@fpga01:~/projects/clickhouse-cpp/build (master)$ make install
Scanning dependencies of target absl_int128
[  1%] Building CXX object contrib/absl/absl/CMakeFiles/absl_int128.dir/numeric/int128.cc.o
[  3%] Linking CXX static library libabsl_int128.a
[  3%] Built target absl_int128
Scanning dependencies of target lz4
[  4%] Building C object contrib/lz4/lz4/CMakeFiles/lz4.dir/lz4.c.o
[  6%] Building C object contrib/lz4/lz4/CMakeFiles/lz4.dir/lz4hc.c.o
[  7%] Linking C static library liblz4.a
[  7%] Built target lz4
Scanning dependencies of target cityhash
[  9%] Building CXX object contrib/cityhash/cityhash/CMakeFiles/cityhash.dir/city.cc.o
[ 10%] Linking CXX static library libcityhash.a
[ 10%] Built target cityhash
Scanning dependencies of target clickhouse-cpp-lib
[ 12%] Building CXX object clickhouse/CMakeFiles/clickhouse-cpp-lib.dir/base/compressed.cpp.o
[ 13%] Building CXX object clickhouse/CMakeFiles/clickhouse-cpp-lib.dir/base/input.cpp.o
[ 15%] Building CXX object clickhouse/CMakeFiles/clickhouse-cpp-lib.dir/base/output.cpp.o
[ 16%] Building CXX object clickhouse/CMakeFiles/clickhouse-cpp-lib.dir/base/platform.cpp.o
[ 18%] Building CXX object clickhouse/CMakeFiles/clickhouse-cpp-lib.dir/base/socket.cpp.o
[ 19%] Building CXX object clickhouse/CMakeFiles/clickhouse-cpp-lib.dir/base/wire_format.cpp.o
[ 21%] Building CXX object clickhouse/CMakeFiles/clickhouse-cpp-lib.dir/columns/array.cpp.o
[ 22%] Building CXX object clickhouse/CMakeFiles/clickhouse-cpp-lib.dir/columns/column.cpp.o
[ 24%] Building CXX object clickhouse/CMakeFiles/clickhouse-cpp-lib.dir/columns/date.cpp.o
[ 25%] Building CXX object clickhouse/CMakeFiles/clickhouse-cpp-lib.dir/columns/decimal.cpp.o
[ 27%] Building CXX object clickhouse/CMakeFiles/clickhouse-cpp-lib.dir/columns/enum.cpp.o
[ 28%] Building CXX object clickhouse/CMakeFiles/clickhouse-cpp-lib.dir/columns/factory.cpp.o
[ 30%] Building CXX object clickhouse/CMakeFiles/clickhouse-cpp-lib.dir/columns/geo.cpp.o
[ 31%] Building CXX object clickhouse/CMakeFiles/clickhouse-cpp-lib.dir/columns/ip4.cpp.o
[ 33%] Building CXX object clickhouse/CMakeFiles/clickhouse-cpp-lib.dir/columns/ip6.cpp.o
[ 34%] Building CXX object clickhouse/CMakeFiles/clickhouse-cpp-lib.dir/columns/lowcardinality.cpp.o
[ 36%] Building CXX object clickhouse/CMakeFiles/clickhouse-cpp-lib.dir/columns/nullable.cpp.o
[ 37%] Building CXX object clickhouse/CMakeFiles/clickhouse-cpp-lib.dir/columns/numeric.cpp.o
[ 39%] Building CXX object clickhouse/CMakeFiles/clickhouse-cpp-lib.dir/columns/map.cpp.o
[ 40%] Building CXX object clickhouse/CMakeFiles/clickhouse-cpp-lib.dir/columns/string.cpp.o
[ 42%] Building CXX object clickhouse/CMakeFiles/clickhouse-cpp-lib.dir/columns/tuple.cpp.o
[ 43%] Building CXX object clickhouse/CMakeFiles/clickhouse-cpp-lib.dir/columns/uuid.cpp.o
[ 45%] Building CXX object clickhouse/CMakeFiles/clickhouse-cpp-lib.dir/columns/itemview.cpp.o
[ 46%] Building CXX object clickhouse/CMakeFiles/clickhouse-cpp-lib.dir/types/type_parser.cpp.o
[ 48%] Building CXX object clickhouse/CMakeFiles/clickhouse-cpp-lib.dir/types/types.cpp.o
[ 50%] Building CXX object clickhouse/CMakeFiles/clickhouse-cpp-lib.dir/block.cpp.o
[ 51%] Building CXX object clickhouse/CMakeFiles/clickhouse-cpp-lib.dir/client.cpp.o
[ 53%] Building CXX object clickhouse/CMakeFiles/clickhouse-cpp-lib.dir/query.cpp.o
[ 54%] Linking CXX static library libclickhouse-cpp-lib.a
[ 54%] Built target clickhouse-cpp-lib
Scanning dependencies of target gtest-lib
[ 56%] Building CXX object contrib/gtest/CMakeFiles/gtest-lib.dir/src/gtest-all.cc.o

[ 57%] Building CXX object contrib/gtest/CMakeFiles/gtest-lib.dir/src/gtest_main.cc.o
[ 59%] Linking CXX static library libgtest-lib.a
[ 59%] Built target gtest-lib
Scanning dependencies of target simple-test
[ 60%] Building CXX object tests/simple/CMakeFiles/simple-test.dir/__/__/ut/utils.cpp.o
[ 62%] Building CXX object tests/simple/CMakeFiles/simple-test.dir/main.cpp.o
[ 63%] Linking CXX executable simple-test
[ 63%] Built target simple-test
Scanning dependencies of target clickhouse-cpp-ut
[ 65%] Building CXX object ut/CMakeFiles/clickhouse-cpp-ut.dir/main.cpp.o
[ 66%] Building CXX object ut/CMakeFiles/clickhouse-cpp-ut.dir/block_ut.cpp.o
[ 68%] Building CXX object ut/CMakeFiles/clickhouse-cpp-ut.dir/client_ut.cpp.o
[ 69%] Building CXX object ut/CMakeFiles/clickhouse-cpp-ut.dir/columns_ut.cpp.o
[ 71%] Building CXX object ut/CMakeFiles/clickhouse-cpp-ut.dir/column_array_ut.cpp.o
[ 72%] Building CXX object ut/CMakeFiles/clickhouse-cpp-ut.dir/itemview_ut.cpp.o
[ 74%] Building CXX object ut/CMakeFiles/clickhouse-cpp-ut.dir/socket_ut.cpp.o
[ 75%] Building CXX object ut/CMakeFiles/clickhouse-cpp-ut.dir/stream_ut.cpp.o
[ 77%] Building CXX object ut/CMakeFiles/clickhouse-cpp-ut.dir/type_parser_ut.cpp.o
[ 78%] Building CXX object ut/CMakeFiles/clickhouse-cpp-ut.dir/types_ut.cpp.o
[ 80%] Building CXX object ut/CMakeFiles/clickhouse-cpp-ut.dir/utils_ut.cpp.o
[ 81%] Building CXX object ut/CMakeFiles/clickhouse-cpp-ut.dir/performance_tests.cpp.o
[ 83%] Building CXX object ut/CMakeFiles/clickhouse-cpp-ut.dir/tcp_server.cpp.o
[ 84%] Building CXX object ut/CMakeFiles/clickhouse-cpp-ut.dir/readonly_client_test.cpp.o
[ 86%] Building CXX object ut/CMakeFiles/clickhouse-cpp-ut.dir/connection_failed_client_test.cpp.o
[ 87%] Building CXX object ut/CMakeFiles/clickhouse-cpp-ut.dir/array_of_low_cardinality_tests.cpp.o
[ 89%] Building CXX object ut/CMakeFiles/clickhouse-cpp-ut.dir/CreateColumnByType_ut.cpp.o
[ 90%] Building CXX object ut/CMakeFiles/clickhouse-cpp-ut.dir/Column_ut.cpp.o
[ 92%] Building CXX object ut/CMakeFiles/clickhouse-cpp-ut.dir/roundtrip_column.cpp.o
[ 93%] Building CXX object ut/CMakeFiles/clickhouse-cpp-ut.dir/roundtrip_tests.cpp.o
[ 95%] Building CXX object ut/CMakeFiles/clickhouse-cpp-ut.dir/utils.cpp.o
[ 96%] Building CXX object ut/CMakeFiles/clickhouse-cpp-ut.dir/value_generators.cpp.o
[ 98%] Building CXX object ut/CMakeFiles/clickhouse-cpp-ut.dir/low_cardinality_nullable_tests.cpp.o
[100%] Linking CXX executable clickhouse-cpp-ut
[100%] Built target clickhouse-cpp-ut
Install the project...
-- Install configuration: "RelWithDebInfo"
-- Installing: /home/kousha.2/projects/clickhouse-cpp/build/install-dir/lib/libclickhouse-cpp-lib.a
-- Installing: /home/kousha.2/projects/clickhouse-cpp/build/install-dir/include/clickhouse/block.h
-- Installing: /home/kousha.2/projects/clickhouse-cpp/build/install-dir/include/clickhouse/client.h
-- Installing: /home/kousha.2/projects/clickhouse-cpp/build/install-dir/include/clickhouse/error_codes.h
-- Installing: /home/kousha.2/projects/clickhouse-cpp/build/install-dir/include/clickhouse/exceptions.h
-- Installing: /home/kousha.2/projects/clickhouse-cpp/build/install-dir/include/clickhouse/server_exception.h
-- Installing: /home/kousha.2/projects/clickhouse-cpp/build/install-dir/include/clickhouse/protocol.h
-- Installing: /home/kousha.2/projects/clickhouse-cpp/build/install-dir/include/clickhouse/query.h
-- Installing: /home/kousha.2/projects/clickhouse-cpp/build/install-dir/include/clickhouse/base/buffer.h
-- Installing: /home/kousha.2/projects/clickhouse-cpp/build/install-dir/include/clickhouse/base/compressed.h
-- Installing: /home/kousha.2/projects/clickhouse-cpp/build/install-dir/include/clickhouse/base/input.h
-- Installing: /home/kousha.2/projects/clickhouse-cpp/build/install-dir/include/clickhouse/base/open_telemetry.h
-- Installing: /home/kousha.2/projects/clickhouse-cpp/build/install-dir/include/clickhouse/base/output.h
-- Installing: /home/kousha.2/projects/clickhouse-cpp/build/install-dir/include/clickhouse/base/platform.h
-- Installing: /home/kousha.2/projects/clickhouse-cpp/build/install-dir/include/clickhouse/base/projected_iterator.h
-- Installing: /home/kousha.2/projects/clickhouse-cpp/build/install-dir/include/clickhouse/base/singleton.h
-- Installing: /home/kousha.2/projects/clickhouse-cpp/build/install-dir/include/clickhouse/base/socket.h
-- Installing: /home/kousha.2/projects/clickhouse-cpp/build/install-dir/include/clickhouse/base/string_utils.h
-- Installing: /home/kousha.2/projects/clickhouse-cpp/build/install-dir/include/clickhouse/base/string_view.h
-- Installing: /home/kousha.2/projects/clickhouse-cpp/build/install-dir/include/clickhouse/base/uuid.h
-- Installing: /home/kousha.2/projects/clickhouse-cpp/build/install-dir/include/clickhouse/base/wire_format.h
-- Installing: /home/kousha.2/projects/clickhouse-cpp/build/install-dir/include/clickhouse/columns/array.h
-- Installing: /home/kousha.2/projects/clickhouse-cpp/build/install-dir/include/clickhouse/columns/column.h
-- Installing: /home/kousha.2/projects/clickhouse-cpp/build/install-dir/include/clickhouse/columns/date.h
-- Installing: /home/kousha.2/projects/clickhouse-cpp/build/install-dir/include/clickhouse/columns/decimal.h
-- Installing: /home/kousha.2/projects/clickhouse-cpp/build/install-dir/include/clickhouse/columns/enum.h
-- Installing: /home/kousha.2/projects/clickhouse-cpp/build/install-dir/include/clickhouse/columns/factory.h
-- Installing: /home/kousha.2/projects/clickhouse-cpp/build/install-dir/include/clickhouse/columns/geo.h
-- Installing: /home/kousha.2/projects/clickhouse-cpp/build/install-dir/include/clickhouse/columns/ip4.h
-- Installing: /home/kousha.2/projects/clickhouse-cpp/build/install-dir/include/clickhouse/columns/ip6.h
-- Installing: /home/kousha.2/projects/clickhouse-cpp/build/install-dir/include/clickhouse/columns/itemview.h
-- Installing: /home/kousha.2/projects/clickhouse-cpp/build/install-dir/include/clickhouse/columns/lowcardinality.h
-- Installing: /home/kousha.2/projects/clickhouse-cpp/build/install-dir/include/clickhouse/columns/nullable.h
-- Installing: /home/kousha.2/projects/clickhouse-cpp/build/install-dir/include/clickhouse/columns/numeric.h
-- Installing: /home/kousha.2/projects/clickhouse-cpp/build/install-dir/include/clickhouse/columns/map.h
-- Installing: /home/kousha.2/projects/clickhouse-cpp/build/install-dir/include/clickhouse/columns/string.h
-- Installing: /home/kousha.2/projects/clickhouse-cpp/build/install-dir/include/clickhouse/columns/tuple.h
-- Installing: /home/kousha.2/projects/clickhouse-cpp/build/install-dir/include/clickhouse/columns/utils.h
-- Installing: /home/kousha.2/projects/clickhouse-cpp/build/install-dir/include/clickhouse/columns/uuid.h
-- Installing: /home/kousha.2/projects/clickhouse-cpp/build/install-dir/include/clickhouse/types/type_parser.h
-- Installing: /home/kousha.2/projects/clickhouse-cpp/build/install-dir/include/clickhouse/types/types.h

I don't see absl directory anywhere in install-dir that I specified or /usr/local/include/

When I try to compile the example program on your README.in file I get the following error

g++ -std=c++11 -I/home/kousha.2/projects/clickhouse-cpp/build/install-dir/include -L/home/kousha.2/projects/clickhouse-cpp/build/install-dir/lib -lclickhouse main.cpp -o main
In file included from /home/kousha.2/projects/clickhouse-cpp/build/install-dir/include/clickhouse/columns/column.h:3:0,
                 from /home/kousha.2/projects/clickhouse-cpp/build/install-dir/include/clickhouse/block.h:3,
                 from /home/kousha.2/projects/clickhouse-cpp/build/install-dir/include/clickhouse/query.h:3,
                 from /home/kousha.2/projects/clickhouse-cpp/build/install-dir/include/clickhouse/client.h:3,
                 from main.cpp:2:
/home/kousha.2/projects/clickhouse-cpp/build/install-dir/include/clickhouse/columns/../types/types.h:3:10: fatal error: absl/numeric/int128.h: No such file or directory
 #include "absl/numeric/int128.h"

Please help me . thanks

xakod commented 1 year ago

Missed install command from cmakelists https://github.com/ClickHouse/clickhouse-cpp/blob/master/contrib/absl/absl/CMakeLists.txt, also TARGET_INCLUDE_DIRECTORIES should be corrected with BUILD_INTERFACE and INSTALL_INTERFACE

sjdhanasekaran commented 4 months ago

@Jihadist have you fixed this ?

xakod commented 3 months ago

@sjdhanasekaran I think nope

sjdhanasekaran commented 3 months ago

@Jihadist Just for working solution i have done this. Modified CMakeLists.txt of contrib/absil to copy [Not a standard coding but it will work]

https://github.com/sjdhanasekaran/clickhouse-cpp/tree/v2.5.1-fix

xakod commented 3 months ago

@sjdhanasekaran feel free to make pr)