Building 3.0.2 Server from source on FreeBSD

On FreeBSD 10.1-RELEASE-p4, grabbed the following packages:

  • git
  • python (2.7)
  • repo
  • v8 (build doesn’t find the repo-downloaded v8)
  • expat
  • icu
  • cmake
  • erlang
  • snappy

gmake on server sources for 3.0.2 fails to build (project: platform, file:src/cb_time.c).

Don't know how to build cb_get_monotonic_seconds

Looks like Linux compatibility might be needed (which would be crufty) or that platform calls could use FreeBSD support. It’s not hard to find monotonic code and there’s plenty of widely-portable sources that already do it for (clean room, of course… no plagiarism) inspiration: Python, Ruby, Erlang etc.

The meta question: FreeBSD isn’t currently officially supported. Wouldn’t it be logical for an enterprise / webops NoSQL to support the most proven enterprise Unices (Solaris/SmartOS, HP-UX, AIX, FreeBSD) in addition to the usual enterprise Linux/Windows flavors? Seems like there’s a silently missing customer funnel because they have different standards and aren’t willing to run far more difficult-to-secure / out-of-standard operating systems. (Customers rarely give feedback, and then it’s not always actionable… yet sometimes, it is.)

Also, you guys probably have added just enough staff by now to support other *NIXes. (Rhetorically: IIRC, CB is on about their 3rd office.)

Furthermore, it would give a good excuse to post Couchbase adds FreeBSD support on HN, etc. Inbounds leads, FTW. :boom:

FYI: I uploaded the necessary patches to build the current development version of Couchbase Server on FreeBSD. Please note that I just did this for fun while watching a movie with my kids, and it is no indication that Couchbase will add FreeBSD to the list of supported enterprise platforms (and the patches may not be approved ;-)).



@trond, please, any news about your commits? I have interest to run CouchBase on FreeBSD 10. Thanks!

Its been a while since the last time I booted my FreeBSD environment (guess I need to configure my router to use dynamic dns so I can connect to my machines from the office…). If my memory serves me right I believe that I got all of the patches merged (that’s not for 3.x but for 4.x)… I might have some time when I get home tonight to give it another try. Given that I haven’t looked at it for a while someone may have committed code that don’t build on FreeBSD…


I got my FreeBSD builder up’n’running again and after updating some of the dependencies I managed to get the current development tree building on FreeBSD. Unfortunately I’m getting a fair amount of test failures when running the unit tests…


@trond, Thank you. I appreciate your willingness. Do you know if exist any intention to correct these errors? Thanks.

I’ve been fixing some of the bugs today, but I can’t speak for people in other teams. I would guess that it comes down to if people have time to look into the issue or not.

Great. Thank you @trond.