--- Log opened Tue Jan 07 00:01:02 2020 02:18 -!- jonatack [~jon@2a01:e0a:53c:a200:bb54:3be5:c3d0:9ce5] has quit [Ping timeout: 248 seconds] 04:39 -!- jonatack [~jon@213.152.161.170] has joined #bitcoin-builds 06:37 -!- jonatack [~jon@213.152.161.170] has quit [Read error: Connection reset by peer] 06:41 -!- jonatack [~jon@54.76.13.109.rev.sfr.net] has joined #bitcoin-builds 06:51 < elichai2> it seems that `libbitcoinconsensus` compiles with half the files in `libbitcoinconsensus_la_SOURCES` (https://github.com/bitcoin/bitcoin/blob/master/src/Makefile.am#L646) 07:02 < elichai2> am I missing something? that's the list of files in 0.19 that can compile libbitcoinconsensus https://github.com/elichai/rust-bitcoinconsensus/blob/2020-01-bitcoin-0.19/build.rs#L70:L85 07:17 -!- jonatack [~jon@54.76.13.109.rev.sfr.net] has quit [Ping timeout: 265 seconds] 07:55 < ryanofsky> elichai2, what are you describing about "half the files"? what are you looking at, and what do you expect to see, and actually see? 08:27 < elichai2> ryanofsky: in the `Makefile.am` file it says `support/cleanse.cpp` and `crypto_libbitcoin_crypto_base_a_SOURCES`(around 25 files) and `libbitcoin_consensus_a_SOURCES`(around 30 files) but our rust bindings manages to build it with 13 cpp files (so even ignoring the headers it's a lot more files, and easily I can see that we don't compile the `cleanse.cpp` file) 08:29 < ryanofsky> libconsensus.a is just a static archive (similar to a tar file) that's just a collection of .o files. the contents are only checked when you link against it, not when you build it, so it could contain anything and still build 08:30 < ryanofsky> even when you link against it, the library isn't checked as a whole, the linker just makes sure that the symbols you need and they symbols they depend on are present 08:37 < elichai2> really? so you only need to provide to the linker the path you're executing? 09:55 < ryanofsky> executing? Linker is just taking .o object files as input and creating an executable file as output. A static library is just collection of .o files grouped into a .a file, similar to a zip or tar archive that link can also use as input 10:44 -!- jonatack [~jon@2a01:e0a:53c:a200:bb54:3be5:c3d0:9ce5] has joined #bitcoin-builds 13:20 < elichai2> ryanofsky: what I meant is that our rust code provides a binary(so it passes te linker) in the end and calls the functions in this header: https://github.com/bitcoin/bitcoin/blob/master/src/script/bitcoinconsensus.h but it compiles a lot less cpp files than what the Makefile specifies. 13:57 < ryanofsky> elichai2, yes that is expected. unless the rust binary is calling code that depends on those particular missing cpp files, you should not expect to see linker errors 13:59 < ryanofsky> the linker isn't going to complain about undefined symbols in a static library unless it actually needs them. it's normal for a static library to depend on undefined symbols not defined in that particular library 17:00 -!- mfoolb [~mfoolb@gateway/tor-sasl/mfoolb] has quit [Remote host closed the connection] 17:00 -!- mfoolb [~mfoolb@gateway/tor-sasl/mfoolb] has joined #bitcoin-builds 17:45 -!- mfoolb [~mfoolb@gateway/tor-sasl/mfoolb] has quit [Remote host closed the connection] 17:45 -!- mfoolb [~mfoolb@gateway/tor-sasl/mfoolb] has joined #bitcoin-builds 22:42 -!- jb55 [~jb55@gateway/tor-sasl/jb55] has quit [Ping timeout: 240 seconds] 22:47 -!- jb55 [~jb55@gateway/tor-sasl/jb55] has joined #bitcoin-builds 23:32 -!- luke-jr [~luke-jr@unaffiliated/luke-jr] has quit [Ping timeout: 265 seconds] --- Log closed Wed Jan 08 00:00:01 2020