Pack rocksdb c++ issue

The mystery is solved. As is, the packaged rocksdb libraries are practically useless:

  • The shared lib is not compiled with rtti (runtime type information), which causes the subclassing of the rocksdb::MergeOperator to fail. See https://github.com/facebook/rocksdb/issues/3811
  • The shared lib is linked against tcmalloc, which crashes if SWI-Prolog is also linked against tcmalloc (default when avallable). Compiling SWI-Prolog without tcmalloc makes rocksdb load, but crash during the tests.
  • The static lib is not compiled with -fPIC and can thus not be used to create a shared object.

The only solution is probably to include rocksdb in the package and build it the way we need. The main disadvantage is that that makes the packages rather heavyweight to download and build.