IMSMWU/RClickhouse

Installation fails when particular compiler flags are used

Closed this issue · 6 comments

When compiled with flags like -march=native/ -mavx / -mavx2 / -msse4.2 compilation fails:

#include <citycrc.h>
^~~~~~~~~~~
"citycrc.h"
In file included from vendor/clickhouse-cpp/contrib/cityhash/city.cc:357:
vendor/clickhouse-cpp/contrib/cityhash/citycrc.h:31:10: error: 'city.h' file not found with include; use "quotes" instead
#include <city.h>
^~~~~~~~
"city.h"
2 errors generated.
make: *** [vendor/clickhouse-cpp/contrib/cityhash/city.o] Error 1
ERROR: compilation failed for package ‘RClickhouse’

  • removing ‘/usr/local/lib/R/3.4/site-library/RClickhouse’
    Warning in install.packages :
    installation of package ‘RClickhouse’ had non-zero exit status

Thanks for reporting this issue! Indeed, this behaviour is strange... especially cause the "missing" file is in the correct place. Which compiler/system do you use?

UPDATE: Since the error is produced by vendor-specific code, I opened another issue for the affected source-code. It should be linked below.

I think we can try to update vendor code - it seems libcityhash dir was updated in upstream.
I've tried on ubuntu 16.04.3 with gcc 5.4 and os x with clang 4.0.

Are you talking about updating libcityhash in clickhouse-cpp or clickhouse-cpp in this package? The later wouldn't be a problem, but for the first one we have to ask @artpaul. As far as I know, the clickhouse-python guys wrote somewhere that the cityhash library used by Clickhouse-server is outdated and returns slightly different results. So updating this library might be error prone.

Sorry for confusion, I was wrong. When I was checking regarding this issue I opened clickhouse and clickhouse-cpp repos. Inclickhouse repo libcityhash is 8 month old compared to 9 month in clickhouse-cpp.

I updated the vendor dictionary some minutes ago. It should work now.

Cool, thanks! confirm it works.