From e4e695548c126297ccef27af62a65a9bb8d099fd Mon Sep 17 00:00:00 2001 From: Orivej Desh Date: Sun, 6 Jan 2019 04:16:10 +0000 Subject: clickhouse: link to libLLVM rather than to individual LLVM libs The clickhouse program links to LLVM and to the clickhouse library, that also links to LLVM. When the library is shared but LLVM is static, LLVM gets linked into the program twice (once via the library and once directly), which causes this error when running clickhouse: : CommandLine Error: Option 'x86-use-base-pointer' registered more than once! LLVM ERROR: inconsistency in registered CommandLine options A common LLVM installation provides static component libraries and a shared libLLVM. Linking to libLLVM when libclickhouse is shared solves this issue. Upstream pull request: https://github.com/yandex/ClickHouse/pull/3989 --- pkgs/servers/clickhouse/default.nix | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'pkgs/servers/clickhouse') diff --git a/pkgs/servers/clickhouse/default.nix b/pkgs/servers/clickhouse/default.nix index 90d614553ea86..3272065efbef9 100644 --- a/pkgs/servers/clickhouse/default.nix +++ b/pkgs/servers/clickhouse/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, cmake, libtool +{ stdenv, fetchFromGitHub, fetchpatch, cmake, libtool , boost, capnproto, cctz, clang-unwrapped, double-conversion, gperftools, icu , libcpuid, libxml2, lld, llvm, lz4 , mysql, openssl, poco, re2, rdkafka , readline, sparsehash, unixODBC, zstd, ninja, jemalloc @@ -28,10 +28,16 @@ stdenv.mkDerivation rec { "-DUSE_STATIC_LIBRARIES=OFF" "-DUSE_INTERNAL_SSL_LIBRARY=False" ]; - hardeningDisable = [ "format" ]; - patchPhase = '' - patchShebangs . + patches = [ + (fetchpatch { + url = "https://github.com/yandex/ClickHouse/commit/afbcdf2f00a04e747c5279414cf4691f29bb5cc2.patch"; + sha256 = "17y891q0dp179w3jv32h74pbfwyzgnz4dxxwv73vzdwvys4i8c8z"; + }) + ]; + + postPatch = '' + patchShebangs copy_headers.sh ''; postInstall = '' @@ -43,6 +49,8 @@ stdenv.mkDerivation rec { --replace "/var/log/clickhouse-server/clickhouse-server.err.log" "1" ''; + hardeningDisable = [ "format" ]; + meta = with stdenv.lib; { homepage = https://clickhouse.yandex/; description = "Column-oriented database management system"; -- cgit 1.4.1