前提・実現したいこと
Docker上のAlpine Linuxにおいて、Juman++ V2(2.0.0-rc2)をインストールしようとしています。
発生している問題・エラーメッセージ
以下のとおりsys/sysctl.h
が無いと言われてmake
で失敗しました。
(その前にもwarningあり)
・・・略・・・ [ 1%] Building CXX object src/util/CMakeFiles/jpp_util.dir/mmap.cc.o In file included from /tmp/src/jumanpp-2.0.0-rc2/src/util/mmap_impl_unix.h:4, from /tmp/src/jumanpp-2.0.0-rc2/src/util/mmap.cc:15: /usr/include/sys/fcntl.h:1:2: warning: #warning redirecting incorrect #include <sys/fcntl.h> to <fcntl.h> [-Wcpp] #warning redirecting incorrect #include <sys/fcntl.h> to <fcntl.h> ^~~~~~~ [ 2%] Building CXX object src/util/CMakeFiles/jpp_util.dir/memory.cpp.o ・・・略・・・ [ 6%] Building CXX object src/util/CMakeFiles/jpp_util.dir/assert.cc.o /tmp/src/jumanpp-2.0.0-rc2/src/util/assert.cc:12:10: fatal error: sys/sysctl.h: No such file or directory #include <sys/sysctl.h> ^~~~~~~~~~~~~~ compilation terminated. make[2]: *** [src/util/CMakeFiles/jpp_util.dir/build.make:193: src/util/CMakeFiles/jpp_util.dir/assert.cc.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:197: src/util/CMakeFiles/jpp_util.dir/all] Error 2 make: *** [Makefile:141: all] Error 2
該当のソースコード
Dockerfile
1FROM alpine:latest 2 3RUN apk --no-cache update && apk --no-cache upgrade && apk --no-cache --update --virtual=build-deps add \ 4 build-base \ 5 boost-dev \ 6 libexecinfo-dev \ 7 linux-headers \ 8 g++ \ 9 make \ 10 protobuf-dev \ 11 protobuf \ 12 eigen-dev \ 13 automake \ 14 autoconf \ 15 cmake \ 16 curl 17 18ENV LANG=C.UTF-8 \ 19 JUMANPP_VERSION=2.0.0-rc2 20 21WORKDIR /tmp/src 22ADD jumanpp-$JUMANPP_VERSION.tar.xz . 23WORKDIR jumanpp-$JUMANPP_VERSION 24 25### Install Juman++ V2 26# 27RUN pwd &&\ 28# curl -OL https://github.com/ku-nlp/jumanpp/releases/download/v$JUMANPP_VERSION/jumanpp-$JUMANPP_VERSION.tar.xz && \ 29# tar xf jumanpp-$JUMANPP_VERSION.tar.xz && \ 30# cd jumanpp-$JUMANPP_VERSION && \ 31 mkdir build && \ 32 cd build && \ 33 cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local && \ 34# make install -j 35 pwd 36 37#RUN rm -rf /tmp/src 38WORKDIR /home
試したこと
上記のDockerfileではjuman++V2のソースファイルのダウンロードをコメントアウトしています(いろいろ試す度にダウンロードするのを避けるため)
また、make
は今のところ手作業で進めているためにコメントアウトしてます
docker build -t juman/v2 .
ののちにdocker run -v $(pwd):/home --name jumanpp -it juman/v2 /bin/sh
して作業している状態です。
一般的にAlpine Linuxでビルド・コンパイルするための共通しているツール・パッケージが足りていないからではないかと思っているのですが、そのツール(群)を教えていただけるとうれしいです
MacOS上ではmake
できました。
補足情報(FW/ツールのバージョンなど)
Docker 2.1.0.1 (Docker for Mac)
Alpine Linux 3.10 (Latest)
Juman++ V2 2.0.0-rc2
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/17 09:29