You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
On Alpine Linux, make install fails to install RocksDB. This is because the RocksDB Makefile currently calls the install command with option -C, which is not supported by Busybox. On Alpine Linux, the install command is implemented by Busybox, not GNU coreutils.
Do you actually need to pass the -C option to the install command?
Steps to reproduce
First, put the following text into Dockerfile. Second, run docker build -t bug . to build.
FROM alpine:20200122
RUN apk add build-base git libtool perl \
bzip2-dev gflags-dev lz4-dev snappy-dev zlib-dev zstd-dev
RUN git clone --branch master --single-branch \
https://github.com/facebook/rocksdb.git /build/rocksdb
RUN cd /build/rocksdb && make install
Observed output:
[...]
for header in `find "include/rocksdb" -type f -name *.h`; do \
install -C -m 644 $header /usr/local/$header; \
done
install: unrecognized option: C
BusyBox v1.31.1 () multi-call binary.
Usage: install [-cdDsp] [-o USER] [-g GRP] [-m MODE] [-t DIR] [SOURCE]... DEST
Copy files and set attributes
-c Just copy (default)
-d Create directories
-D Create leading target directories
-s Strip symbol table
-p Preserve date
-o USER Set ownership
-g GRP Set group ownership
-m MODE Set permissions
-t DIR Install to DIR
make: *** [Makefile:1732: install-headers] Error 1
The command '/bin/sh -c cd /build/rocksdb && make install' returned a non-zero code: 2
The text was updated successfully, but these errors were encountered:
I am not sure if this is helpful or not, but I have a Docker Alpine3 build environment that we use for creating RocksJava releases. I just tested make install on there and it works fine.
Our Docker image is: evolvedbinary/rocksjava:alpine3_x64-be
#9294 indicates that people are building RocksDB on Alphine Linux 32 bit. Closing this issue for now because it's unlikely a bug, or it has been fixed.
On Alpine Linux,
make install
fails to install RocksDB. This is because the RocksDB Makefile currently calls theinstall
command with option-C
, which is not supported by Busybox. On Alpine Linux, theinstall
command is implemented by Busybox, not GNU coreutils.Do you actually need to pass the
-C
option to theinstall
command?Steps to reproduce
First, put the following text into
Dockerfile
. Second, rundocker build -t bug .
to build.Observed output:
The text was updated successfully, but these errors were encountered: