Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Installation fails on Alpine Linux #6397

Closed
brawer opened this issue Feb 10, 2020 · 2 comments
Closed

Installation fails on Alpine Linux #6397

brawer opened this issue Feb 10, 2020 · 2 comments

Comments

@brawer
Copy link

brawer commented Feb 10, 2020

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
@adamretter
Copy link
Collaborator

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

@riversand963
Copy link
Contributor

#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.

This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants