Welcome to the Dash Forum!

Please sign up to discuss the most innovative cryptocurrency!

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

Discussion in 'Miscellaneous Dash Support Questions' started by dashesandlashes, Feb 10, 2019 at 9:42 AM.

  1. dashesandlashes

    dashesandlashes New Member

    Joined:
    Sunday
    Messages:
    6
    Likes Received:
    0
    Trophy Points:
    1
    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
    

    [email protected]:~/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
    
    [email protected]:~# find / -name relic_ep_util.c
    [email protected]:~#
    [email protected]:~# find / -name relic_ep_util.*
    [email protected]:~#
     
  2. dashesandlashes

    dashesandlashes New Member

    Joined:
    Sunday
    Messages:
    6
    Likes Received:
    0
    Trophy Points:
    1
    well I guess this works as a hack:
    Code:
    cp -R ./depends/x86_64-pc-linux-gnu/include/* ./src
    
    nope guess not
    tried:
    Code:
    [email protected]:~/dash-0.13.0.0# cp -R ./depends/x86_64-pc-linux-gnu/include/chiabls ./src
    [email protected]:~/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
    [email protected]:~/dash-0.13.0.0# find . -name relic_conf.h
    ./depends/x86_64-pc-linux-gnu/include/relic_conf.h
    [email protected]:~/dash-0.13.0.0#
    
    then tried...
    Code:
    [email protected]:~/dash-0.13.0.0# cp -R ./depends/x86_64-pc-linux-gnu/include/* ./src
    [email protected]:~/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
    
     
    #2 dashesandlashes, Feb 10, 2019 at 9:52 AM
    Last edited: Feb 10, 2019 at 9:59 AM
  3. strophy

    strophy Administrator
    Dash Core Team Dash Support Group Moderator

    Joined:
    Feb 13, 2016
    Messages:
    521
    Likes Received:
    287
    Trophy Points:
    133
    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.
     
  4. dashesandlashes

    dashesandlashes New Member

    Joined:
    Sunday
    Messages:
    6
    Likes Received:
    0
    Trophy Points:
    1
    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]

    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/

    [email protected]:~/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.
     

Share This Page