• Forum has been upgraded, all links, images, etc are as they were. Please see Official Announcements for more information

Dash Core v0.13.0.0 compile problems chiabls/bls.hpp

dashesandlashes

New member
Code:
Making all in src
make[1]: Entering directory '/root/dash-0.13.0.0/src'
make[2]: Entering directory '/root/dash-0.13.0.0/src'
make[3]: Entering directory '/root/dash-0.13.0.0'
make[3]: Leaving directory '/root/dash-0.13.0.0'
  CXX      crypto/libdashconsensus_la-aes.lo
  CXX      crypto/libdashconsensus_la-hmac_sha256.lo
  CXX      crypto/libdashconsensus_la-hmac_sha512.lo
  CXX      crypto/libdashconsensus_la-ripemd160.lo
  CC       crypto/libdashconsensus_la-aes_helper.lo
  CXX      crypto/libdashconsensus_la-sha1.lo
  CXX      crypto/libdashconsensus_la-sha256.lo
  CXX      crypto/libdashconsensus_la-sha512.lo
  CC       crypto/libdashconsensus_la-blake.lo
  CC       crypto/libdashconsensus_la-bmw.lo
  CC       crypto/libdashconsensus_la-cubehash.lo
  CC       crypto/libdashconsensus_la-echo.lo
  CC       crypto/libdashconsensus_la-groestl.lo
  CC       crypto/libdashconsensus_la-jh.lo
  CC       crypto/libdashconsensus_la-keccak.lo
  CC       crypto/libdashconsensus_la-luffa.lo
  CC       crypto/libdashconsensus_la-shavite.lo
  CC       crypto/libdashconsensus_la-simd.lo
  CC       crypto/libdashconsensus_la-skein.lo
  CXX      libdashconsensus_la-arith_uint256.lo
  CXX      bls/libdashconsensus_la-bls.lo
In file included from bls/bls.cpp:5:0:
bls/bls.h:14:10: fatal error: chiabls/bls.hpp: No such file or directory
 #include <chiabls/bls.hpp>
          ^~~~~~~~~~~~~~~~~
compilation terminated.
Makefile:9306: recipe for target 'bls/libdashconsensus_la-bls.lo' failed
make[2]: *** [bls/libdashconsensus_la-bls.lo] Error 1
make[2]: Leaving directory '/root/dash-0.13.0.0/src'
Makefile:10936: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/root/dash-0.13.0.0/src'
Makefile:676: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1


root@localhost:~/dash-0.13.0.0# find . -name bls.h*
./depends/x86_64-pc-linux-gnu/include/chiabls/bls.hpp
./src/bls/bls.h


Getting this compile error with both these tarballs, NOT with a git clone, advice in https://www.dash.org/forum/threads/building-from-sources-problem-0-13-0-0-rc9.42817/ doesn't apply.

https://github.com/dashpay/dash/releases/download/v0.13.0.0/dashcore-0.13.0.0.tar.gz.asc

https://github.com/dashpay/dash/archive/v0.13.0.0.tar.gz


tried 'make' in ./depends
took forever
did make clean && ./autogen.sh && ./configure && make
same result

Code:
Options used to compile and link:
  with wallet   = yes
  with gui / qt = no
  with zmq      = no
  with test     = yes
  with bench    = yes
  with upnp     = no
  debug enabled = no
  werror        = no

  target os     = linux
  build os      =

  CC            = gcc
  CFLAGS        = -g -O2
  CPPFLAGS      = -I/root/boost69/include/ -I/root/libs/include/ -DHAVE_BUILD_INFO -D__STDC_FORMAT_MACROS
  CXX           = g++ -std=c++14
  CXXFLAGS      = -g -O2 -Wall -Wextra -Wformat -Wvla -Wformat-security -Wno-unused-parameter -Wno-implicit-fallthrough
  LDFLAGS       = -L/root/boost69/lib/ -L/root/libs/lib/


Trying precompiled build dashcore-0.13.0.0-x86_64-linux-gnu.tar.gz
https://github.com/dashpay/dash/rel...0.0/dashcore-0.13.0.0-x86_64-linux-gnu.tar.gz

Code:
/root/dashcore-0.13.0/bin/dashd -conf=/redacted/dash.conf
FATAL ERROR in relic_ep_util.c:298

root@localhost:~# find / -name relic_ep_util.c
root@localhost:~#
root@localhost:~# find / -name relic_ep_util.*
root@localhost:~#
 
well I guess this works as a hack:
Code:
cp -R ./depends/x86_64-pc-linux-gnu/include/* ./src

nope guess not
tried:
Code:
root@localhost:~/dash-0.13.0.0# cp -R ./depends/x86_64-pc-linux-gnu/include/chiabls ./src
root@localhost:~/dash-0.13.0.0# make
Making all in src
make[1]: Entering directory '/root/dash-0.13.0.0/src'
make[2]: Entering directory '/root/dash-0.13.0.0/src'
make[3]: Entering directory '/root/dash-0.13.0.0'
make[3]: Leaving directory '/root/dash-0.13.0.0'
  CXX      bls/libdashconsensus_la-bls.lo
In file included from bls/bls.h:14:0,
                 from bls/bls.cpp:5:
./chiabls/bls.hpp:22:10: fatal error: relic_conf.h: No such file or directory
 #include "relic_conf.h"
          ^~~~~~~~~~~~~~
compilation terminated.
Makefile:9306: recipe for target 'bls/libdashconsensus_la-bls.lo' failed
make[2]: *** [bls/libdashconsensus_la-bls.lo] Error 1
make[2]: Leaving directory '/root/dash-0.13.0.0/src'
Makefile:10936: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/root/dash-0.13.0.0/src'
Makefile:676: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1
root@localhost:~/dash-0.13.0.0# find . -name relic_conf.h
./depends/x86_64-pc-linux-gnu/include/relic_conf.h
root@localhost:~/dash-0.13.0.0#
then tried...
Code:
root@localhost:~/dash-0.13.0.0# cp -R ./depends/x86_64-pc-linux-gnu/include/* ./src
root@localhost:~/dash-0.13.0.0# make
Making all in src
make[1]: Entering directory '/root/dash-0.13.0.0/src'
make[2]: Entering directory '/root/dash-0.13.0.0/src'
make[3]: Entering directory '/root/dash-0.13.0.0'
make[3]: Leaving directory '/root/dash-0.13.0.0'
  CXX      bls/libdashconsensus_la-bls.lo
In file included from ./chiabls/publickey.hpp:27:0,
                 from ./chiabls/bls.hpp:28,
                 from bls/bls.h:14,
                 from bls/bls.cpp:5:
./chiabls/util.hpp: In static member function 'static std::__cxx11::string bls::Util::HexStr(const uint8_t*, size_t)':
./chiabls/util.hpp:63:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for (int i=0; i < len; ++i)
                       ~~^~~~~
  CXX      consensus/libdashconsensus_la-merkle.lo
  CXX      libdashconsensus_la-hash.lo
  CXX      primitives/libdashconsensus_la-block.lo
  CXX      primitives/libdashconsensus_la-transaction.lo
  CXX      libdashconsensus_la-pubkey.lo
  CXX      script/libdashconsensus_la-dashconsensus.lo
  CXX      script/libdashconsensus_la-interpreter.lo
  CXX      script/libdashconsensus_la-script.lo
  CXX      script/libdashconsensus_la-script_error.lo
  CXX      libdashconsensus_la-uint256.lo
  CXX      libdashconsensus_la-utilstrencodings.lo
make[3]: Entering directory '/root/dash-0.13.0.0/src/secp256k1'
gcc -I. -g -O2 -Wall -Wextra -Wno-unused-function -c src/gen_context.c -o gen_context.o
gcc gen_context.o -o gen_context
./gen_context
  CC       src/libsecp256k1_la-secp256k1.lo
  CCLD     libsecp256k1.la
make[3]: Leaving directory '/root/dash-0.13.0.0/src/secp256k1'
  CXXLD    libdashconsensus.la
/usr/bin/ld: cannot find -lchiabls
collect2: error: ld returned 1 exit status
Makefile:4201: recipe for target 'libdashconsensus.la' failed
make[2]: *** [libdashconsensus.la] Error 1
make[2]: Leaving directory '/root/dash-0.13.0.0/src'
Makefile:10936: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/root/dash-0.13.0.0/src'
Makefile:676: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1
 
Last edited:
Instead of copying the depends folder, you should specify it as the prefix for the configure command when you build dash. Follow the instructions here and you should have no problems. Specifically, this is the sequence of commands after extracting the source tarball:

cd depends
make -j4 # Choose a good -j value, depending on the number of CPU cores available
cd ..

./autogen.sh
./configure --prefix=`pwd`/depends/x86_64-pc-linux-gnu
make


Note that the architecture may differ if you are not on x86_64-pc-linux-gnu.
 
I don't think you guys are using "--prefix" properly. That's where you install TO.

./configure --help |grep -A2 "\-\-prefix"
--prefix=PREFIX install architecture-independent files in PREFIX
[/usr/local]
By default, `make install' will install all the files in
`/usr/local/bin', `/usr/local/lib' etc. You can specify
an installation prefix other than `/usr/local' using `--prefix',
for instance `--prefix=$HOME'.


Here's how I got it to compile, I had already run 'make' in ./depends

I simply added to my LDFLAGS /root/dash-0.13.0.0/depends/x86_64-pc-linux-gnu/lib/ and to my CPPFLAGS /root/dash-0.13.0.0/depends/x86_64-pc-linux-gnu/include/

root@localhost:~/dash-0.13.0.0# CC="gcc" CXX="g++" ./configure --disable-zmq --disable-upnp --without-miniupnpc --disable-rust LDFLAGS="-L/root/boost69/lib/ -L/root/libs/lib/ -L/root/dash-0.13.0.0/depends/x86_64-pc-linux-gnu/lib/" CPPFLAGS="-I/root/boost69/include/ -I/root/libs/include/ -I/root/dash-0.13.0.0/depends/x86_64-pc-linux-gnu/include/" --with-boost-libdir=/root/boost69/lib/

By doing that I am able to load my compiled Boost sources from /root/boost69/, my compiled db4.8 sources from /root/libs/, then the remaining sources are checked in /root/dash-0.13.0.0/depends/x86_64-pc-linux-gnu/

There are a ton of compiler warnings about comparing signed and unsigned integers (mostly in chiabls/util.hpp), and using uninitialized functions, but importantly there are no critical errors.
 
Back
Top