Fail to compile TileDB-R against dev

successfully built TileDB/dev and installed int /usr, then R CMD INSTALL TileDB-R
libtiledb.cpp: In function ‘SEXPREC* libtiledb_dim_get_domain(Rcpp::XPtrtiledb::Dimension)’:
libtiledb.cpp:664:10: error: ‘TILEDB_DATETIME_YEAR’ was not declared in this scope
case TILEDB_DATETIME_YEAR:

And I was trying to locate the header from /usr/include/tiledb where TILEDB_DATETIME_YEAR is defined but didn’t succeed,

Then I went ahead to install TileDB/release-1.7.5 , but it failed the installation
[ 70%] Built target ep_zstd
CMake Error at ep_tbb-stamp/ep_tbb-download-Release.cmake:16 (message):
Command failed: 1

‘/usr/bin/cmake’ ‘-Dmake=’ ‘-Dconfig=’ ‘-P’ ‘/home/wjiang2/rglab/workspace/TileDB/build/externals/src/ep_tbb-stamp/ep_tbb-download-Release-impl.cmake’

See also

/home/wjiang2/rglab/workspace/TileDB/build/externals/src/ep_tbb-stamp/ep_tbb-download-*.log

CMakeFiles/ep_tbb.dir/build.make:89: recipe for target ‘externals/src/ep_tbb-stamp/ep_tbb-download’ failed
make[2]: *** [externals/src/ep_tbb-stamp/ep_tbb-download] Error 1
CMakeFiles/Makefile2:269: recipe for target ‘CMakeFiles/ep_tbb.dir/all’ failed
make[1]: *** [CMakeFiles/ep_tbb.dir/all] Error 2
Makefile:83: recipe for target ‘all’ failed
make: *** [all] Error 2

Hi Mike,

I tend work with both the main TileDB ‘dev’ as well, and the current R master, and have never seen that issue of TILEDB_DATETIME_YEAR being undefined.

Is it possibly you may have your include paths crossed or something else set up oddly?

edd@rob:~$ grep -l TILEDB_DATETIME_YEAR /usr/local/include/tiledb/*
/usr/local/include/tiledb/dimension.h
/usr/local/include/tiledb/type.h
edd@rob:~$ grep -l TILEDB_DATETIME_YEAR /usr/local/include/tiledb/* | xargs ls -l
-rw-r--r-- 1 root root 14379 Mar 24 13:29 /usr/local/include/tiledb/dimension.h
-rw-r--r-- 1 root root 12186 Mar 18 23:28 /usr/local/include/tiledb/type.h
edd@rob:~$ 

I also keep a grid of releases for simple CI checks (as Docker containers). These are narrower with fewer optional components turned on, but cover of course the TileDB releases from 1.7.5, 1.7.6, 1.7.7 and dev. In those, the grep above succeeds the same way. Can you maybe backtrack and double check simple things (such as building our examples) work?

Cheers, Dirk

1 Like

Thanks for the quick reply!Yes, you reminded me of the old version of tiledb installed (one year ago) at /usr/local, which seems to precede the /usr where new version lives during header lookup.
Anyway, after the removal, it works now!

Awesome – very glad to hear it is sorted out!