GithubHelp home page GithubHelp logo

Please add Dockerfile about eos HOT 5 CLOSED

eosio avatar eosio commented on May 18, 2024
Please add Dockerfile

from eos.

Comments (5)

jcalfee avatar jcalfee commented on May 18, 2024

The Dockerfile example above leaves us with boost 1.58.0 .. EOS needs boost 1.60 or newer.

So I tried upgrading the image:
FROM phusion/baseimage:0.9.22

Add adding this before the apt-get update:
RUN add-apt-repository ppa:boost-latest/ppa -y

But this is not working well with the phusion baseimage:

W: The repository 'http://ppa.launchpad.net/boost-latest/ppa/ubuntu xenial Release' does not have a Release file.
E: Failed to fetch http://ppa.launchpad.net/boost-latest/ppa/ubuntu/dists/xenial/main/binary-amd64/Packages  404  Not Found
E: Some index files failed to download. They have been ignored, or old ones used instead.

from eos.

jcalfee avatar jcalfee commented on May 18, 2024

I fixed boost as follows and ended up with this docker:

FROM phusion/baseimage:0.9.19
#FROM phusion/baseimage:0.9.22

ENV LANG=en_US.UTF-8
RUN \
    apt-get update && \
    apt-get install -y \
        autoconf \
        automake \
        autotools-dev \
        bsdmainutils \
        build-essential \
        cmake \
        doxygen \
        git \
        libboost-all-dev \
        libreadline-dev \
        libssl-dev \
        libtool \
        ncurses-dev \
        pbzip2 \
        pkg-config \
        python3 \
        python3-dev \
        python3-pip \
        nginx \
        fcgiwrap \
        s3cmd \
        awscli \
        jq \
        wget \
        gdb \
    && \
    apt-get clean && \
    pip3 install gcovr

RUN curl -L 'https://dl.bintray.com/boostorg/release/1.64.0/source/boost_1_64_0.tar.gz' |\
    tar -xz -C /opt

ADD . /usr/local/src/eos
WORKDIR /usr/local/src/eos

RUN git submodule update --init --recursive
#RUN cmake -DBOOST_ROOT=/opt/boost_1_64_0 .
#RUN make -j$(nproc)

Bash:

docker build -t eos .
docker run -i -t eos bash

Inside of the container:

cmake -DBOOST_ROOT=/opt/boost_1_64_0 . # !!! works only if apt-get above includes libboost-all-dev
make -j$(nproc)

Make error:

[ 13%] Linking CXX executable chainbase_test
CMakeFiles/chainbase_test.dir/test.cpp.o: In function `open_and_create::test_method()':
test.cpp:(.text+0x6c4): undefined reference to `boost::test_tools::tt_detail::report_assertion(boost::test_tools::assertion_result const&, boost::unit_test::lazy_ostream const&, boost::unit_test::basic_cstring<char const>, unsigned long, boost::test_tools::tt_detail::tool_level, boost::test_tools::tt_detail::check_type, unsigned long, ...)'
test.cpp:(.text+0x8aa): undefined reference to `boost::test_tools::tt_detail::report_assertion(boost::test_tools::assertion_result const&, boost::unit_test::lazy_ostream const&, boost::unit_test::basic_cstring<char const>, unsigned long, boost::test_tools::tt_detail::tool_level, boost::test_tools::tt_detail::check_type, unsigned long, ...)'
test.cpp:(.text+0xa50): undefined reference to `boost::test_tools::tt_detail::report_assertion(boost::test_tools::assertion_result const&, boost::unit_test::lazy_ostream const&, boost::unit_test::basic_cstring<char const>, unsigned long, boost::test_tools::tt_detail::tool_level, boost::test_tools::tt_detail::check_type, unsigned long, ...)'
test.cpp:(.text+0xcca): undefined reference to `boost::test_tools::tt_detail::report_assertion(boost::test_tools::assertion_result const&, boost::unit_test::lazy_ostream const&, boost::unit_test::basic_cstring<char const>, unsigned long, boost::test_tools::tt_detail::tool_level, boost::test_tools::tt_detail::check_type, unsigned long, ...)'
test.cpp:(.text+0x1e87): undefined reference to `boost::test_tools::tt_detail::report_assertion(boost::test_tools::assertion_result const&, boost::unit_test::lazy_ostream const&, boost::unit_test::basic_cstring<char const>, unsigned long, boost::test_tools::tt_detail::tool_level, boost::test_tools::tt_detail::check_type, unsigned long, ...)'
CMakeFiles/chainbase_test.dir/test.cpp.o:test.cpp:(.text+0x2be7): more undefined references to `boost::test_tools::tt_detail::report_assertion(boost::test_tools::assertion_result const&, boost::unit_test::lazy_ostream const&, boost::unit_test::basic_cstring<char const>, unsigned long, boost::test_tools::tt_detail::tool_level, boost::test_tools::tt_detail::check_type, unsigned long, ...)' follow
CMakeFiles/chainbase_test.dir/test.cpp.o: In function `__static_initialization_and_destruction_0(int, int)':
test.cpp:(.text+0x498f): undefined reference to `boost::unit_test::ut_detail::auto_test_unit_registrar::auto_test_unit_registrar(boost::unit_test::test_case*, boost::unit_test::decorator::collector&, unsigned long)'
CMakeFiles/chainbase_test.dir/test.cpp.o: In function `boost::unit_test::make_test_case(boost::function<void ()> const&, boost::unit_test::basic_cstring<char const>, boost::unit_test::basic_cstring<char const>, unsigned long)':
test.cpp:(.text._ZN5boost9unit_test14make_test_caseERKNS_8functionIFvvEEENS0_13basic_cstringIKcEES8_m[_ZN5boost9unit_test14make_test_caseERKNS_8functionIFvvEEENS0_13basic_cstringIKcEES8_m]+0xc2): undefined reference to `boost::unit_test::test_case::test_case(boost::unit_test::basic_cstring<char const>, boost::unit_test::basic_cstring<char const>, unsigned long, boost::function<void ()> const&)'
CMakeFiles/chainbase_test.dir/test.cpp.o: In function `bool boost::test_tools::tt_detail::check_frwd<boost::test_tools::tt_detail::equal_impl_frwd, int, int>(boost::test_tools::tt_detail::equal_impl_frwd, boost::unit_test::lazy_ostream const&, boost::unit_test::basic_cstring<char const>, unsigned long, boost::test_tools::tt_detail::tool_level, boost::test_tools::tt_detail::check_type, int const&, char const*, int const&, char const*)':
test.cpp:(.text._ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_[_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_]+0x152): undefined reference to `boost::test_tools::tt_detail::report_assertion(boost::test_tools::assertion_result const&, boost::unit_test::lazy_ostream const&, boost::unit_test::basic_cstring<char const>, unsigned long, boost::test_tools::tt_detail::tool_level, boost::test_tools::tt_detail::check_type, unsigned long, ...)'
collect2: error: ld returned 1 exit status
libraries/chainbase/test/CMakeFiles/chainbase_test.dir/build.make:103: recipe for target 'libraries/chainbase/test/chainbase_test' failed
make[2]: *** [libraries/chainbase/test/chainbase_test] Error 1
CMakeFiles/Makefile2:848: recipe for target 'libraries/chainbase/test/CMakeFiles/chainbase_test.dir/all' failed
make[1]: *** [libraries/chainbase/test/CMakeFiles/chainbase_test.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
  CCLD     libsecp256k1.la
/usr/bin/ar: `u' modifier ignored since `D' is the default (see `U')
  CC       src/tests-tests.o
  CCLD     tests
[ 13%] Performing install step for 'project_secp256k1'
[ 13%] Completed 'project_secp256k1'
[ 13%] Built target project_secp256k1
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2

from eos.

jcalfee avatar jcalfee commented on May 18, 2024
make -j$(nproc) eosd

/usr/local/src/eos/libraries/fc/src/thread/context.hpp:215:9: error: ‘fcontext_t’ in namespace ‘bc’ does not name a type
     bc::fcontext_t               my_context;
...

from eos.

nathanielhourt avatar nathanielhourt commented on May 18, 2024

Hey, james, yeah I haven't gotten around to making proper docker stuff yet. :[ You need boost 1.60 to make things work. I've just added some build instructions which may help you push forward, but note that the actual testnet instructions don't work yet.

from eos.

jcalfee avatar jcalfee commented on May 18, 2024

Eosd is building with boost 1.60.0 .. The tests do not build, I don't know that I need those right now. The eosd run errors and exists. This is the output from a debug build:

./eosd
1666876ms th_a       main.cpp:30                   main                 ] Throw location unknown (consider using BOOST_THROW_EXCEPTION)
Dynamic exception type: boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<std::logic_error> >
std::exception::what: character conversion failed

from eos.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.