:: Re: [Libbitcoin] Trying to compile …
Αρχική Σελίδα
Delete this message
Reply to this message
Συντάκτης: Eric Voskuil
Ημερομηνία:  
Προς: mlmikael, Libbitcoin
Αντικείμενο: Re: [Libbitcoin] Trying to compile latest version2 commit fails with 'secp256k1_context_t' has not been declared, how fix? Thanks!
Because the secp256k1 interface has not been stable and the
implementation not versioned, we build from a fork. This will change
once the lib stabilises. See:

https://github.com/libbitcoin/libbitcoin/blob/master/install.sh#L563

https://github.com/libbitcoin/secp256k1

e



On 11/22/2015 07:07 AM, mlmikael wrote:
> Aha, libsecp256k had breaking changes recently, as mentioned on
> https://github.com/ElementsProject/elements/issues/40 .
>
> "git checkout 4c63780" in the libsecp256k repo, which rewinds to the 25
> July 2015 version, makes libbitcoin compilation work.
>
>
> On 2015-11-22 18:54, mlmikael wrote:
>> (libsecp256k1 has been installed and /usr/local/include/secp256k1.h
>> exists, and ./configure was fed with --libdir=/usr/local/lib
>> --includedir=/usr/local/include , so it should not be a libsecp265
>> prob)
>>
>>
>> On 2015-11-22 18:52, mlmikael wrote:
>>> git checkout version2 \
>>> e3a2f8213c939adead02923fdca6f891975632d4
>>>
>>>
>>> git clone https://github.com/libbitcoin/libbitcoin.git
>>>
>>> cd libbitcoin
>>>
>>>
>>> ./configure; gmake
>>>
>>>
>>>
>>>   CXX      src/math/src_libbitcoin_la-hash.lo
>>> In file included from src/math/ec_keys.cpp:26:0:
>>> ./include/bitcoin/bitcoin/math/secp256k1_initializer.hpp:38:29: error:
>>> 'secp256k1_context_t' has not been declared
>>>      static void set_context(secp256k1_context_t** context, int flags);
>>>                              ^
>>> ./include/bitcoin/bitcoin/math/secp256k1_initializer.hpp:58:5: error:
>>> 'secp256k1_context_t' does not name a type
>>>      secp256k1_context_t* context();
>>>      ^
>>> ./include/bitcoin/bitcoin/math/secp256k1_initializer.hpp:62:5: error:
>>> 'secp256k1_context_t' does not name a type
>>>      secp256k1_context_t* context_;
>>>      ^
>>> src/math/ec_keys.cpp: In function 'libbitcoin::ec_point
>>> libbitcoin::secret_to_public_key(const ec_secret&, bool)':
>>> src/math/ec_keys.cpp:35:42: error: 'class
>>> libbitcoin::secp256k1_signing' has no member named 'context'
>>>      const auto signing_context = signing.context();
>>>                                           ^
>>> src/math/ec_keys.cpp: In function 'bool
>>> libbitcoin::verify_public_key(const ec_point&)':
>>> src/math/ec_keys.cpp:56:52: error: 'class
>>> libbitcoin::secp256k1_verification' has no member named 'context'
>>>      const auto verification_context = verification.context();
>>>                                                     ^
>>> src/math/ec_keys.cpp:58:49: error: 'secp256k1_ec_pubkey_verify' was
>>> not declared in this scope
>>>          static_cast<uint32_t>(public_key.size())) == 1;
>>>                                                  ^
>>> src/math/ec_keys.cpp: In function 'bool
>>> libbitcoin::verify_private_key(const ec_secret&)':
>>> src/math/ec_keys.cpp:74:52: error: 'class
>>> libbitcoin::secp256k1_verification' has no member named 'context'
>>>      const auto verification_context = verification.context();

>>
>> _______________________________________________
>> Libbitcoin mailing list
>> Libbitcoin@???
>> https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/libbitcoin
>
> _______________________________________________
> Libbitcoin mailing list
> Libbitcoin@???
> https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/libbitcoin