Skip to content

could not determine kind of name for C.rocksdb_options_set_allow_ingest_behind #126

Description

@vitalyisaev2

Hello,

Unfortunately I cannot build with gorocksdb after the recent update #124. I take the latest release of rocksdb itself (currently it's 5.9.2) than I'm trying to go get gorocksdb's master.

Steps to reproduce:

  1. Save this installation script rocksdb.sh:
#!/bin/bash
set -e
set -x

ROCKSDB_DIR="/tmp/rocksdb"
ROCKSDB_VERSION="v5.9.2"
GOROCKSDB_DIR="${GOPATH}/src/github.com/tecbot/gorocksdb"

# RocksDB: on Ubuntu 16.04
case ${PLATFORM} in
    "UBUNTU")
        sudo apt-get install \
            libsnappy-dev \
            zlib1g-dev \
            libbz2-dev \
            libgflags-dev \
            liblz4-dev \
            libzstd-dev
        ;;
    "FEDORA")
        sudo dnf install \
            gflags \
            snappy \
            snappy-devel \
            zlib \
            zlib-devel \
            bzip2 \
            bzip2-devel \
            lz4-devel \
            libasan \
            libzstd \
            libzstd-devel
        ;;
    "CENTOS")
        sudo yum -y install \
            gflags \
            snappy \
            snappy-devel \
            zlib \
            zlib-devel \
            bzip2 \
            bzip2-devel \
            lz4-devel \
            libasan \
            libzstd \
            libzstd-devel
        ;;
    *)
        echo "Platform is not supported"
        exit 1
esac


# Download sources
if [ -d ${ROCKSDB_DIR} ]; then
    pushd ${ROCKSDB_DIR}
    git pull origin master
else
    git clone --depth=1 -b ${ROCKSDB_VERSION} https://github.com/facebook/rocksdb.git ${ROCKSDB_DIR}
    pushd ${ROCKSDB_DIR}
fi

# Build project
make clean
make shared_lib -j4
sudo cp --preserve=links ./librocksdb.* /usr/local/lib/
sudo cp -r ./include/rocksdb/ /usr/local/include/
rm -rf ${ROCKSDB_DIR}
popd

# Golang RocksDB bindings
if [ -d ${GOROCKSDB_DIR} ]; then
    pushd ${GOROCKSDB_DIR}
    git pull origin master
else
    git clone --depth=1 https://github.com/tecbot/gorocksdb ${GOROCKSDB_DIR}
fi
  1. Compile and install rocksdb:
PLATFORM=FEDORA ./rocksdb.sh
  1. Try to compile gorocksdb:
➜ CGO_CFLAGS="-I/usr/local/include/rocksdb" \
> CGO_LDFLAGS="-L/usr/local/lib -lrocksdb -lstdc++ -lm -lz -lbz2 -lsnappy -llz4 -lzstd" \
> go get github.com/tecbot/gorocksdb
# github.com/tecbot/gorocksdb
../../../github.com/tecbot/gorocksdb/options.go:1045:2: could not determine kind of name for C.rocksdb_options_set_allow_ingest_behind

Please clarify which version of upstream rocksdb does gorocksdb's master correspond to.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions