Comments (5)
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.
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.
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.
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.
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)
- Signature verification for EOS account
- Logging In with QR code to pc with new account (greymass) HOT 1
- push_transaction无法发送交易 HOT 2
- [docs] explain that asserting in a contract is a bad thing to do
- Nodeos stuck and doesn't want to stop HOT 4
- ubuntu:~/eosio.cdt$ ./build.sh bash: ./build.sh: No such file or directory
- Makefile:140: recipe for target 'all' failed
- WASM is greater then 512 Kb and getting error in deploy unexpected end of JSON input last
- How to include multi_index.hpp HOT 3
- [Developer Preview] RocksDB Storage for DB and Key Value APIs ,what's the issue detail ? HOT 3
- Why is my local blockchain not requiring eosio.code permission when an inline action is executed? HOT 1
- Remove test consensus-validation-malicious-producers.py
- Handle failure case of db size being too small for snapshot more gracefully
- my local node can't produce block HOT 2
- Unable to broadcast the transaction to the mainnet HOT 1
- so let me get this straight the only possible way to use eos is if you can download cleos .. and cml -> and the only way you can get cleos is if your not on a window... HOT 2
- Ensure that you have created a wallet and have it open HOT 1
- Support for MacBook Pro with chip Apple M1 Pro running macOS Monterey HOT 1
- trying to create account with custom system account
- Why should wait 50ms before producing next block?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from eos.