# RocksDB Port



## nichdiekuh (Oct 28, 2014)

Hello,

I noticed the port of RocksDB hasn't been updated for a while and the database I'm using (InfluxDB) requires a newer version since its last release.

The port is still at version 3.2.1 and RocksDB is at 3.6.1, while InfluxDB requires at least version 3.5.1.

Now I wonder what to do. The changes of the port don't apply any more on the latest versions of RocksDB and I can't figure what else needs to be changed in order to make it compile on FreeBSD. I've tried to contact the listed maintainer without success. Are ports like these considered 'ophaned' ? Is there anything else I could do?


----------



## SirDice (Oct 28, 2014)

nichdiekuh said:


> Is there anything else I could do?


Submit a bug report; requesting an update of the port.

https://www.freebsd.org/support.html


----------



## nichdiekuh (Oct 30, 2014)

Thank you SirDice, I've opened an issue.

Meanwhile I figured how to compile version 3.5.1 with the patches from the current port. The compilation went fine, but I'm stuck during installation


```
===>  Staging for rocksdb-3.5_1
===>   Generating temporary packing list
/bin/mkdir -p /usr/ports/databases/rocksdb/work/stage/usr/local/include/rocksdb/ /usr/ports/databases/rocksdb/work/stage/usr/local/share/rocksdb/
cd /usr/ports/databases/rocksdb/work/facebook-rocksdb-4cb631a/ && install  -s -o root -g wheel -m 555 blob_store_bench db_bench db_repl_stress db_sanity_test  db_stress ldb log_and_apply_bench signal_test sst_dump  table_reader_bench /usr/ports/databases/rocksdb/work/stage/usr/local/bin/
install  -o root -g wheel -m 0644 /usr/ports/databases/rocksdb/work/facebook-rocksdb-4cb631a/include/rocksdb/* /usr/ports/databases/rocksdb/work/stage/usr/local/include/rocksdb/
install: /usr/ports/databases/rocksdb/work/facebook-rocksdb-4cb631a/include/rocksdb/utilities: Inappropriate file type or format
```

In the previous version ../include/rocksdb/ contained nothing but header files. Version 3.5.1 however also contains the directory utitilies and I suspect the directory is the reason the install fails. How can I fix this?


----------



## amdmi3@ (Oct 31, 2014)

You need to change INSTALL_DATA which install headers to recursive command, it's ${COPYTREE_SHARE}:

```
-  ${INSTALL_DATA} ${WRKSRC}/include/rocksdb/* ${STAGEDIR}${PREFIX}/include/rocksdb/
+  cd ${WRKSRC}/include/ && ${COPYTREE_SHARE} rocksdb ${STAGEDIR}${PREFIX}/include/
```

Don't forget to update plist! Complete patch for 3.6.2 (untested): http://pastebin.com/uCFchNfn


----------



## nichdiekuh (Oct 31, 2014)

Thank you! This is great! Will try it tomorrow.


----------

