facebook / facebook/rocksdb

Unable to build RocksDB under illumos

Open
#9,639 4 comments 0 reactions 0 assignees View on GitHub
Build up-for-grabs
Dominant language
C++
Stars
32.1k
Forks
6.9k
Avg merge
32m
Merged PRs (30d)
1

Description

```
env/fs_posix.cc: In member function 'virtual rocksdb::IOStatus rocksdb::{anonymous}::PosixFileSystem::GetChildren(const string&, const rocksdb::IOOptions&, std::vector >*, rocksdb::IODebugContext*)':
env/fs_posix.cc:653:18: error: 'struct dirent' has no member named 'd_type'; did you mean 'd_name'?
entry->d_type == DT_DIR &&
^~~~~~
d_name
env/fs_posix.cc:653:28: error: 'DT_DIR' was not declared in this scope
entry->d_type == DT_DIR &&
^~~~~~
env/fs_posix.cc:653:28: note: suggested alternative: 'DIR'
entry->d_type == DT_DIR &&
^~~~~~
DIR
env/fs_posix.cc: In member function 'virtual rocksdb::IOStatus rocksdb::{anonymous}::PosixFileSystem::AreFilesSame(const string&, const string&, const rocksdb::IOOptions&, bool*, rocksdb::IODebugContext*)':
env/fs_posix.cc:785:9: error: 'major' was not declared in this scope
if (major(statbuf[0].st_dev) != major(statbuf[1].st_dev) ||
^~~~~
env/fs_posix.cc:785:9: note: suggested alternative: 'emajor'
if (major(statbuf[0].st_dev) != major(statbuf[1].st_dev) ||
^~~~~
emajor
env/fs_posix.cc:786:9: error: 'minor' was not declared in this scope
minor(statbuf[0].st_dev) != minor(statbuf[1].st_dev) ||
^~~~~
env/fs_posix.cc:786:9: note: suggested alternative: 'eminor'
minor(statbuf[0].st_dev) != minor(statbuf[1].st_dev) ||
^~~~~
eminor
Makefile:2460: recipe for target 'env/fs_posix.o' failed
make: *** [env/fs_posix.o] Error 1
```

### Steps to reproduce the behavior
1. Install latest DilOS:
- ISO image: https://apt.tambov.ru/dilos/iso/dilos-core-21-11-04_14-03-2.0.2.92.iso
- USB drive image: https://apt.tambov.ru/dilos/iso/dilos-2.0.2.92-amd64-loader.usb
2. Change repositories to dilos2-testing on /etc/apt/sources.list
3. Update system with `os-upgrade`
4. Install build-essential and gcc-8, plus RocksDB dependencies: libsnappy-dev, liblz4-dev, zlib1g-dev, libbz2-dev, libzstd-dev
5. Following build instructions:

```
export CC=gcc-8
export CXX=g++-8
export EXTRA_CFLAGS=-m64
export EXTRA_CXXFLAGS=-m64
export EXTRA_LDFLAGS=-m64
export PORTABLE=1
export PLATFORM_LDFLAGS="-static-libstdc++ -static-libgcc"
make static_lib
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.