Compilation Issues
Local compilation, unable to start on other machines
- First, please confirm that you use the command
PORTABLE=1 make static_libto compile rocksdb. - Then use the
lddcommand to check if the dependent libraries are installed on the machine. After installing the missing libraries, execute theldconfigcommand.
ZSTD_versionNumber undefined
There are two ways to solve this problem:
- Add the specified library to
CGO_LDFLAGSto compile, for example:CGO_LDFLAGS="-L/usr/local/lib -lrocksdb -lzstd". This method requires that the zstd library is also installed on other deployment machines. - Delete the script that automatically detects whether the zstd library is installed. The file location is an example:
rockdb-5.9.2/build_tools/build_detect_platform. Delete the following content:# Test whether zstd library is installed $CXX $CFLAGS $COMMON_FLAGS -x c++ - -o /dev/null 2>/dev/null <<EOF #include <zstd.h> int main() {} EOF if [ "$?" = 0 ]; then COMMON_FLAGS="$COMMON_FLAGS -DZSTD" PLATFORM_LDFLAGS="$PLATFORM_LDFLAGS -lzstd" JAVA_LDFLAGS="$JAVA_LDFLAGS -lzstd" fi
Rocksdb compilation issue
When compiling the erasure coding subsystem, an error message is displayed: fatal error: rocksdb/c.h: no such file or directory...
- First, confirm whether the file pointed to by the error message exists in the
.deps/include/rocksdbdirectory. - If it exists, try
source env.shand try again. If the file does not exist or the error still occurs, you can delete all the rocksdb-related files in the.depsdirectory and then recompile.
Edit on GitHub

