BlockchainCommons / seedtool-cli

Cryptographic Seed Tool for the command line
Other
25 stars 16 forks source link

Docker build fails #72

Open jmastr opened 5 months ago

jmastr commented 5 months ago

Hey, first of all thank you for the amazing software that you are providing. I was able to compile everything up to bc-sskr, so I have:

However when trying to build the docker image, the last step of the build stage fails with:

<git:(master)> docker build -t seedtool-cli:latest .
...
41.53 /usr/bin/ld: /seedtool-cli/deps/bc-ur/src/ur.cpp:22: undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()'
41.54 /usr/bin/ld: /seedtool-cli/sysroot/lib/libbc-ur.a(random-sampler.o): in function `std::__1::vector<int, std::__1::allocator<int> >::__recommend(unsigned long) const':
41.54 /usr/lib/llvm-10/bin/../include/c++/v1/vector:1027: undefined reference to `std::__1::__vector_base_common<true>::__throw_length_error() const'
41.54 /usr/bin/ld: /seedtool-cli/sysroot/lib/libbc-ur.a(random-sampler.o): in function `std::__1::vector<int, std::__1::allocator<int> >::__vallocate(unsigned long)':
41.54 /usr/lib/llvm-10/bin/../include/c++/v1/vector:993: undefined reference to `std::__1::__vector_base_common<true>::__throw_length_error() const'
41.55 clang: error: linker command failed with exit code 1 (use -v to see invocation)
41.55 make[1]: *** [<builtin>: seedtool] Error 1
41.55 make[1]: Leaving directory '/seedtool-cli/src'
41.55 make: *** [Makefile:38: check] Error 2
------
Dockerfile:18
--------------------
  16 |     WORKDIR /seedtool-cli
  17 |     RUN git submodule update --init --recursive
  18 | >>> RUN CC="clang-10" CXX="clang++-10" ./build.sh
  19 |     
  20 |     # Export built executable to a minimal runtime image and run as an unprivileged
--------------------
ERROR: failed to solve: process "/bin/sh -c CC=\"clang-10\" CXX=\"clang++-10\" ./build.sh" did not complete successfully: exit code: 2
ChristopherA commented 5 months ago

@nochiel Can you take a look at this? It compiles fine on my Mac, but I don't have a docker-based setup.

jmastr commented 5 months ago

@ChristopherA I can confirm that compilation on a M1 Mac without docker works.

nochiel commented 5 months ago

On Wed, 7 Feb 2024, 00:14 Christopher Allen, @.***> wrote:

@nochiel https://github.com/nochiel Can you take a look at this? It compiles fine on my Mac, but I don't have a docker-based setup.

Will do.

ferencdg commented 1 month ago

It still fails to compile in the docker (and in general in Ubuntu). For anyone looking for a hacky solution that uses g++ and Ubuntu: https://github.com/ferencdg/seedtool-cli

compile it with export CC="gcc" && export CXX="g++" && export CXXFLAGS="-fPIC" && ./build.sh