FalkorDB / FalkorDB

A super fast Graph Database uses GraphBLAS under the hood for its sparse adjacency matrix graph representation. Our goal is to provide the best Knowledge Graph for LLM (GraphRAG).

Home Page:https://www.falkordb.com/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FreeBSD build issues

stefandxm opened this issue · comments

There are some issues that prevents FalkorDB to build in FreeBSD (14.0) .

  • deps/RediSearch:

    src/util/timeout.h - using CLOCK_MONOTONIC_RAW breaks, defining it as CLOCK_MONOTONIC works, this is done elsewhere in the codebase so wrapping it in a #ifndef .. works well

  • (deps/RediSearch) / deps/VectorSimilarity:
    src/VecSim/info_iterator.h: include stdint.h + defining u_int64_t as uint64_t

  • (deps/RediSearch) / redies) /mk/main:
    removed the entire block using getpy that checks for working python version since this does not work, may be some other work around but since the system had a working python (in path) and it failed to detect it.. i just removed the entire code block there and it worked.

  • (deps/RediSearch) / (redies) / mk/configure.rules :
    replace hardcoded make - $(SHOW)make - since it breaks with non gmake + in mk/cmake.rules there is a failure with the DRY run / explicit make commands (non gmake) that breaks, here i didnt fully try everything i just removed the entire dryrun and replace the final make with a gmake to make it work

  • deps/readies:
    i guess same issues as in deps/RediSearch/redies

  • src/bolt/bolt.c and src/bolt/ws.c:
    Symbol not matching for ntohll/htonll, hack replaced it to ntohl/htonl not sure if it is 1:1.

But with these fixes it compiles and loads in FreeBSD 14 with the redis-server that is shipped in the package manager (pkg), havent tested it exhaustively yet but it hasnt crashed yet ..

I am not sure if this should be an incident or being put somewhere else since there is no official support for FreeBSD (yet), but it would be a great thing to have and it seems it may not require too much work in terms of code lines, however I am not too sure about the dependencies..