Closed GermainZ closed 3 years ago
Installation via Docker fails. Output after following the README instructions:
$ docker-compose up ... [ 97%] Building CXX object src/CMakeFiles/marian_scorer.dir/command/marian_scorer.cpp.o [ 98%] Linking CXX executable ../marian-server [ 98%] Built target marian_server [100%] Linking CXX executable ../marian-scorer [100%] Built target marian_scorer Install the project... -- Install configuration: "Release" CMake Error at src/3rd_party/sentencepiece/cmake_install.cmake:41 (file): file INSTALL cannot find "/usr/src/app/marian/sentencepiece.pc". Call Stack (most recent call first): src/3rd_party/cmake_install.cmake:46 (include) src/cmake_install.cmake:42 (include) cmake_install.cmake:42 (include) make: *** [Makefile:108: install] Error 1 ERROR: Service 'opus-mt' failed to build : The command '/bin/sh -c set -eux; git clone https://github.com/marian-nmt/marian marian; cd marian;git checkout 1.9.0; cmake . -DCOMPILE_SERVER=on -DUSE_SENTENCEPIECE=on -DCOMPILE_CPU=on -DCOMPILE_CUDA=off -DUSE_STATIC_LIBS=on; make -j 2 install;' returned a non-zero code: 2
As a workaround, I did the following:
diff --git a/Dockerfile b/Dockerfile index f5331c5..34fc2db 100644 --- a/Dockerfile +++ b/Dockerfile @@ -23,14 +23,16 @@ RUN set -eux; \ rm -f GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB; # Install Marian MT -RUN set -eux; \ - git clone https://github.com/marian-nmt/marian marian; \ - cd marian; \ - git checkout 1.9.0; \ +RUN set -eux && \ + git clone https://github.com/marian-nmt/marian marian && \ + cd marian && \ + git checkout 1.9.0 && \ + mkdir build && \ + cd build && \ # Choose CPU or GPU(CUDA) from below lines. # cmake . -DCOMPILE_SERVER=on -DUSE_SENTENCEPIECE=on -DCOMPILE_CUDA=on -DUSE_STATIC_LIBS=on; \ - cmake . -DCOMPILE_SERVER=on -DUSE_SENTENCEPIECE=on -DCOMPILE_CPU=on -DCOMPILE_CUDA=off -DUSE_STATIC_LIBS=on; \ - make -j 2 install; + cmake . -DCOMPILE_SERVER=on -DUSE_SENTENCEPIECE=on -DCOMPILE_CPU=on -DCOMPILE_CUDA=off -DUSE_STATIC_LIBS=on .. && \ + make -j4; COPY . . @@ -40,14 +42,14 @@ RUN set -eux; \ pip3 install -r requirements.txt # install services -RUN install -m 755 marian/marian /usr/local/bin/; \ - install -m 755 marian/marian-server /usr/local/bin/; \ - install -m 755 marian/marian-server /usr/local/bin/; \ - install -m 755 marian/marian-vocab /usr/local/bin/; \ - install -m 755 marian/marian-decoder /usr/local/bin/; \ - install -m 755 marian/marian-scorer /usr/local/bin/; \ - install -m 755 marian/marian-conv /usr/local/bin/; \ - install -m 644 marian/libmarian.a /usr/local/lib/; +RUN install -m 755 marian/build/marian /usr/local/bin/; \ + install -m 755 marian/build/marian-server /usr/local/bin/; \ + install -m 755 marian/build/marian-server /usr/local/bin/; \ + install -m 755 marian/build/marian-vocab /usr/local/bin/; \ + install -m 755 marian/build/marian-decoder /usr/local/bin/; \ + install -m 755 marian/build/marian-scorer /usr/local/bin/; \ + install -m 755 marian/build/marian-conv /usr/local/bin/; \ + install -m 644 marian/build/libmarian.a /usr/local/lib/; EXPOSE 80 CMD python3 server.py -c services.json -p 80
See https://github.com/Helsinki-NLP/Opus-MT/issues/20
Installation via Docker fails. Output after following the README instructions:
As a workaround, I did the following: