--- Log opened Mon Nov 06 00:00:17 2023 00:39 -!- tromp [~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl] has quit [Quit: My iMac has gone to sleep. ZZZzzz…] 01:07 -!- tromp [~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl] has joined #secp256k1 02:15 -!- ghost43_ [~ghost43@gateway/tor-sasl/ghost43] has quit [Remote host closed the connection] 02:15 -!- ghost43 [~ghost43@gateway/tor-sasl/ghost43] has joined #secp256k1 02:20 < hebasto> what is the point of having `int` return type in `secp256k1_keypair_xonly_pub`, considering it "Returns: 1 always."; why not `void`? 04:42 -!- jonatack [~jonatack@user/jonatack] has joined #secp256k1 04:45 -!- jon_atack [~jonatack@user/jonatack] has quit [Ping timeout: 264 seconds] 04:50 < roconnor> ARG_CHECK can return 0. 05:31 < sipa> hebasto: or put otherwise, IF you use the API correctly it will always return 1, but the function is permitted to return 0 if you use it incorrectly 05:32 < hebasto> understood, thanks 06:14 -!- jnewbery [~john@user/jnewbery] has quit [Server closed connection] 06:14 -!- jnewbery [~john@user/jnewbery] has joined #secp256k1 06:27 -!- tromp [~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl] has quit [Quit: My iMac has gone to sleep. ZZZzzz…] 07:00 < nickler> hi 07:00 < sipa> hi 07:00 < hebasto> hi 07:01 < real_or_random> hi 07:01 < sipa> thanks for the reviews on 1184 07:01 < nickler> will re-review asap 07:02 < sipa> the snapshot CI runs failing is annoying 07:02 < sipa> could we disable those on PRs? 07:02 < real_or_random> me too, looks like it's basically there 07:02 < real_or_random> yep, that's one way 07:02 < real_or_random> I was too lazy to take care of that issue so far, sorry. 07:02 < hebasto> I can make it 07:02 < sipa> we can of course also just ignore the result 07:03 < real_or_random> but when we discussed this here two weeks ago, or a week ago, we concluded that we want to grep for "internal compiler error" and make it green then 07:03 < sipa> ah yes, indeed 07:03 < sipa> that's an even better solution i guess 07:03 < real_or_random> I think that's better. just disabling it on PRs will give us a red x on the branch. that's not really an improvement ^^ 07:04 < real_or_random> hebasto: cool! 07:05 < sipa> nickler: FWIW, i reviewed and incorporated/squashed all your suggestions into 1184 07:05 < real_or_random> hebasto: so the idea is for now... to grep gcc-snapshots output for "internal compiler error" (or whatever) and ignore the failure in this case. 07:05 < real_or_random> (and see how long we can get away with this :) ) 07:06 < sipa> i guess we can even do this for all builds 07:07 < real_or_random> hm, idk. if we trigger an ICE in a released compiler, I'd like to see and report it ^^ 07:07 < sipa> fair enough 07:08 < nickler> yeah 07:08 < nickler> topics? 07:09 < sipa> oh, right 07:10 < real_or_random> have you seen https://github.com/bitcoin-core/secp256k1/discussions/1436 (Guidance on producing smallest WASM binary) ? 07:11 < real_or_random> yesterday, I had this thought that we could have a mode where we use ecmult_const for all ecmult ... 07:11 < real_or_random> if one really cares about binary size that much, that could be helpful 07:12 < real_or_random> hm, maybe I just post this there and see if the person would be interested in contributing a draft PR to see how much that would provide in terms of binary size 07:13 < sipa> yeah 07:13 < sipa> there are several variations possible too 07:13 < sipa> like using ecmult_gen for multiplications with G, instead of ecmult_const 07:13 < real_or_random> yep 07:14 < real_or_random> or the other way around: use a fixed secret key of 1 for your ECDH, and then you can drop ecmult_const 07:14 < sipa> right 07:14 < real_or_random> ah no, I'm wrong 07:14 < sipa> wrong 07:14 < real_or_random> lol 07:15 < sipa> also, #1058 may help 07:15 < real_or_random> anyway. my next thing on my list (after rereview of 1184) is contributing.md 07:15 < sipa> i had reviewed it already, but forgot to submit; did so now 07:17 < nickler> sipa: thx, seems easy to address the nit 07:20 < real_or_random> more topics? 07:20 < sipa> none from me 07:22 < real_or_random> sipa: oh I wanted to restart one failed macos job from 1184 (unrelated to the gcc-snapshot) but I happened to restart all jobs... 07:22 < real_or_random> I mean, that's not an issue, I just wanted to let you know 07:22 < sipa> ah, np 07:23 < real_or_random> ah lol forget what I just said. I just thought I restarted all jobs -.- 07:23 < real_or_random> anyway, also no other topics from my side 07:26 < real_or_random> end of meeting 07:29 < real_or_random> ah one more thought: 07:29 < real_or_random> sipa: do you think it makes sense to contact Victor Shoup (and/or Jens Groth) and ask if they're interested in sharing the AVX improvements? 07:33 < sipa> real_or_random: oh, yeah, we should 07:33 < sipa> but also, if we're willing to consider that, i should pick up #967 again... 07:34 < sipa> i believe that's a bigger speedup than 8% 07:37 -!- tromp [~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl] has joined #secp256k1 08:29 -!- preimage [~halosghos@user/halosghost] has joined #secp256k1 10:01 < real_or_random> yeah though that sounds harder than some AVX code XD 10:26 -!- tromp [~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl] has quit [Quit: My iMac has gone to sleep. ZZZzzz…] 10:37 -!- tromp [~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl] has joined #secp256k1 10:46 -!- Noob42 [~Noob42@c-69-247-14-239.hsd1.tn.comcast.net] has joined #secp256k1 10:49 < Noob42> hello can anyone help me with libbitcoin? it can't find libsecp256k1 even though I built and installed it. I see a lot of posts online with people using various other libraries that can't find libsecp256k1, but none of them are in the platform I'm using (windows gcc) 10:49 < Noob42> is there a general solution to making sure your system knows where libsecp256k1 is? apparently the only workarounds I've seen people succeed with is installing libsecp256k1 from their package manager... but my package manager doesn't have it because I'm cross-compiling for windows 11:14 -!- waxwing [~waxwing@193.29.57.116] has joined #secp256k1 11:14 -!- LarryRuane__ [sid473749@id-473749.uxbridge.irccloud.com] has joined #secp256k1 11:14 -!- fanquake_ [sid369002@user/fanquake] has joined #secp256k1 11:14 -!- jonasschnelli [~jonasschn@2a01:4f9:3081:504d::2] has joined #secp256k1 11:15 -!- Nebraskka_ [~Nebraskka@user/nebraskka] has joined #secp256k1 11:18 -!- jonasschnelli_ [~jonasschn@2a01:4f9:3081:504d::2] has quit [Ping timeout: 246 seconds] 11:18 -!- waxwing_ [~waxwing@193.29.57.116] has quit [Ping timeout: 246 seconds] 11:18 -!- LarryRuane [sid473749@id-473749.uxbridge.irccloud.com] has quit [Ping timeout: 246 seconds] 11:18 -!- Nebraskka [~Nebraskka@user/nebraskka] has quit [Ping timeout: 246 seconds] 11:18 -!- fanquake [sid369002@user/fanquake] has quit [Ping timeout: 246 seconds] 11:18 -!- LarryRuane__ is now known as LarryRuane 11:18 -!- fanquake_ is now known as fanquake 11:18 < preimage> as a general (though unfortunate rule), windows dev kind of sucks for third-party dependencies 11:20 < preimage> however, if your project uses gcc/g++ on windows under mingw, then you can rely on slightly better tooling support (e.g., via pkg-config or cmake) 11:20 < preimage> also, the full error log that you're seeing is going to be instrumental in anyone being able to offer you concrete solutions 11:21 -!- Nebraskka_ is now known as Nebraskka 11:55 < Noob42> preimage: the error is pretty much just this line at the end of ./configure: 11:55 < Noob42> configure: error: libsecp256k1 >= 0.1.0.20 is required but was not found. 11:56 < Noob42> (note that LD, CFLAGS, and CXXFLAGS with -I and -L are all pointing to where libsecp256k1 is installed) 11:56 < Noob42> *and* it was installed with make install so that shouldn't be necessary to begin with 11:59 < Noob42> i tried looking in the ./configure itself to see how exactly it checks for it, but bash is way too foreign to me 12:00 < preimage> when you say in ./configure itself, do you mean for libsecp256k1? 12:00 < Noob42> no, libbitcoin 12:00 < Noob42> libsecp256k1 compiled and installed just fine 12:00 < preimage> right; so then the issue you're running into is that libbitcoin's build system isn't detecting libsecp256k1 12:01 < Noob42> bingo... and that's on two different build systems: one is MSYS2 UCRT on windows and the other is mingw-w64 for cross-compiling from linux 12:01 < Noob42> environments** i mean 12:01 < Noob42> exact same error 12:02 < preimage> this is almost certainly an issue with libbitcoin's build system expecting you to have installed libsec256k1 in a different way 12:02 < preimage> or, at least, that's very much what it sounds like 12:02 < Noob42> that's the thing - when i googled this i found a bunch of posts with similar problems, in a variety of programming languages... and at least two of the ones i saw resolved their problem by installing via a package manager 12:03 < Noob42> problem is, i have no package manager anywhere... i'm willing to install any os at this point but i don't think anybody's gonna have a windows build for libbitcoin on their repos 12:03 < Noob42> if MSYS doesn't (which it doesn't) 12:06 < preimage> I think you've already reached out to the libbitcoin folks, and it does seem to be an issue with their build system; but I can't offer any further help without the full error log (including invocations) 12:09 < sipa> Noob42: (seeing your bitcoin SE question) it looks like you're not actually cross-compiling libsecp256k1, just building and installing it for your host environment? 12:09 < sipa> with a normal configure/make/make install 12:09 < Noob42> preimage: you were right about pkg-config... i just sent a snippet of the ./configure script to chatgpt and apparently it uses pkg-config to check if it's installed 12:09 < Noob42> sipa: i've got both build environments up spitting the same error, but yeah i'm on the host atm 12:10 < Noob42> meanwhile me: *what the fuck is pkg-config* 12:10 < sipa> i'd expect you'd need to compile with mingw32 as well when compiling libsecp256k1, if you'd want it to be picked up by a libbitcoin mingw32 build 12:11 < Noob42> yeah i'll use the same builds from a single dev environment; i'm pretty much racing to see which one i can get to work first 12:11 < Noob42> at first windows was stuck with boost::chrono and linux had an old compiler without C++20 support, but i've fixed those issues and here i am now 12:13 < Noob42> guess all i gotta do is figure out this pkg-config bs out and i should be good to go... *should be* probably not with my luck 12:13 < preimage> pkg-config is just a nice way of standardizing necessary build-flags 12:15 < preimage> that's widely used in the C (and, to a lesser extent, but still widely in the C++) ecosystem(s) 12:15 < preimage> which is to say, I doubt that's actually the problem here 12:15 < preimage> I suspect sipa is much closer to the mark 12:16 < Noob42> naw i'm not mixing libraries between os's 12:16 < Noob42> i thought pkg-config was something like a package manager lol i should've looked into it earlier 12:18 < roconnor> sipa: I have just uncovered a "bug" in secp256k1_fe_mul_inner, even though I did prove it earlier. 12:18 < roconnor> https://github.com/bitcoin-core/secp256k1/blob/master/src/field_5x52_int128_impl.h#L120 12:18 < roconnor> ought to be VERIFY_BITS_128(&c, 113); 12:19 < sipa> roconnor: do you mean that it can just be tighter, or that the proof actually doesn't hold with 115 instead of 113? 12:20 < roconnor> how to put this 12:20 < roconnor> the current code does VERIFY_BITS_128(&c, 115); 12:20 < roconnor> then it does VERIFY_BITS_128(&c, 115); 12:21 < roconnor> er 12:21 < roconnor> then it does secp256k1_u128_rshift(&c, 52); 12:21 < roconnor> then it does VERIFY_BITS_128(&c, 63); 12:21 < roconnor> wait a minute. 12:21 < sipa> 115 - 52 = 63 12:21 < roconnor> did I pick the wrong line... 12:22 < roconnor> yes I did 12:22 < roconnor> https://github.com/bitcoin-core/secp256k1/blob/master/src/field_5x52_int128_impl.h#L103 12:22 < roconnor> this one should be VERIFY_BITS_128(&c, 113); 12:22 < sipa> ah 12:23 < roconnor> cause it does VERIFY_BITS_128(&c, 61); 12:23 < sipa> yeah 12:23 < roconnor> which is true mind you 12:23 < roconnor> but doesn't follow the garden path so to speak 12:23 < sipa> changing the 61 to 63 would also work, i'd think? 12:24 -!- tromp [~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl] has quit [Quit: My iMac has gone to sleep. ZZZzzz…] 12:24 < roconnor> I guess we do an accum mult next so this value isn't that senstive. 12:24 < sipa> yeah 12:25 < roconnor> idk. The tighter bounds are in fact true. 12:25 < roconnor> how manu bits in u0 * R >> 4? 12:25 < roconnor> i didn't actually work it out as such. 12:29 < roconnor> okay c is 112 bit before all this 12:29 < roconnor> then we accum mult some tiny number 12:29 < roconnor> so it really should be VERIFY_BITS_128(&c, 113); 12:32 < sipa> ok 12:33 -!- tromp [~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl] has joined #secp256k1 12:39 < Noob42> aaaaaa it worked finally jeebus 12:45 < preimage> Noob42: congrats! 13:03 -!- b10c [~quassel@user/b10c] has quit [Ping timeout: 245 seconds] 13:05 -!- b10c [~quassel@static.33.106.217.95.clients.your-server.de] has joined #secp256k1 13:05 -!- b10c [~quassel@user/b10c] has changed host 13:12 < Noob42> uhhh guys 13:12 < Noob42> xD 13:12 < Noob42> how do I check what version of secp256k1 I have? I have the source 13:12 < Noob42> doesn't say on the github i got it from 13:13 < Noob42> i'm getting compile errors between pubkey and seckey which smells of different versions of ssl or whatever it uses 13:14 < Noob42> i remember this from fiddling with incompatible openvpn versions... one version used seckey and the other used pubkey instead 13:15 < Noob42> I have the seckey version and compiler is saying "did you mean pubkey?" 13:15 < Noob42> if that means anything (also sorry for spam) 13:15 < sipa> what do you see at the top of configure.ac in the source? 13:16 < Noob42> AC_PREREQ([2.60]) then AC_INIT([libsecp256k1],[0.1]) 13:16 < Noob42> does that mean it's version 0.1? 13:17 < sipa> under _PKG_VERSION_MAJOR etc 13:17 < sipa> ah, yes 13:17 < sipa> that's a version from before we actually had releases 13:17 < Noob42> ctrl+f for "major" yields no results 13:17 < sipa> ok 13:18 < sipa> see https://github.com/bitcoin-core/secp256k1/blob/master/CHANGELOG.md 13:18 < Noob42> i got this from the libbitcoin repo and libbitcoin says it needs libsecp256k1 >= 0.1.0.20 so i'll be damned if it's older than that ffs 13:19 < sipa> that makes no sense; the first release was 0.2.0 13:19 < sipa> before that point we didn't have any tagged releases 13:19 < Noob42> ._. 13:19 < Noob42> the fuck 13:20 < sipa> i suspect it's written for an old pre-release version, and never got updated since 13:20 < Noob42> of course libbitcoin repo doesn't have a CHANGELOG.md... for fuck sakes 13:20 < Noob42> do you know what version changed function names from seckey to pubkey? 13:20 < Noob42> i can probably get away with setting it to that 13:21 < sipa> i think we may have moved from seckey to privkey at some point for consistent naming 13:21 < sipa> (secret key vs. private key) 13:21 < sipa> pubkey is public key, that's something else 13:22 < sipa> hmm, no 13:22 < sipa> exactly which function is missing? 13:24 < sipa> oh, libbitcoin has its own modified version of libsecp256k1 apparently 13:27 < sipa> i'd suggest using exactly their version then 13:27 < Noob42>  error: 'secp256k1_ec_seckey_tweak_add' was not declared in this scope; did you mean 'secp256k1_ec_pubkey_tweak_add'? 13:27 < sipa> yeah those are very different functions 13:27 < Noob42> sipa: that's what i'm using ;___; 13:28 < Noob42> i just opened another issue on libbitcoin github 13:29 < sipa> they have a version tagged 0.1.0.20: https://github.com/libbitcoin/secp256k1/tree/v0.1.0.20 13:29 < sipa> which is newer than their master, strangely 13:30 < sipa> or you could try with an updated unmodified versions (our latest one is 0.4.0) 13:31 < Noob42> what the fuck 13:31 < Noob42> oh that's probably it then!! thanks bro 13:31 < Noob42> i didn't even think to check branches 13:35 -!- bob_x1 [~bob_x@user/bob-x1/x-8934932] has quit [Remote host closed the connection] 13:36 -!- bob_x1 [~bob_x@user/bob-x1/x-8934932] has joined #secp256k1 13:44 < Noob42> watching make build is so thrilling rn... every time a line updates it can be a good thing or a bad thing and i don't know until i read it 13:44 < Noob42> looks like it passed the threshold it was stuck at before 14:01 -!- jonatack [~jonatack@user/jonatack] has quit [Ping timeout: 255 seconds] 14:04 < bitcoin-git> [secp256k1] hebasto opened pull request #1437: ci: Ignore internal errors of snapshot compilers (master...231106-ci) https://github.com/bitcoin-core/secp256k1/pull/1437 14:06 < Noob42> man 14:06 < Noob42> that libbitcoin guy's kind of an ass... just closed my damn issue without resolving it 14:06 < Noob42> i still can't build his damn library 14:07 < Noob42> and there's nobody else on the internet apparently who knows anything about libbitcoin 14:12 < Noob42> c++ in general must just be dying i guess 14:12 < Noob42> and i'm too old to learn these new zoomer languages 14:13 < Noob42> when the world's most popular crypto only has one library for your language and it's only one other user besides you... yeah may be time to retire 14:33 -!- jonatack [~jonatack@user/jonatack] has joined #secp256k1 14:42 < bitcoin-git> [secp256k1] roconnor-blockstream opened pull request #1438: correct assertion for secp256k1_fe_mul_inner (master...patch-6) https://github.com/bitcoin-core/secp256k1/pull/1438 14:56 < Noob42> bruh i'm fucking stupid 14:56 < Noob42> i don't even need lib fucking bitcoin 14:56 < Noob42> apparently i can do what i need with rpc calls to a node 14:57 < Noob42> and thank u all for being the only irc channel willing to listen and try to help 14:58 < Noob42> guess i live up to my name ;-; 14:59 < sipa> :) 15:00 -!- tromp [~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl] has quit [Quit: My iMac has gone to sleep. ZZZzzz…] 15:02 -!- tromp [~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl] has joined #secp256k1 15:16 -!- jonatack [~jonatack@user/jonatack] has quit [Ping timeout: 240 seconds] 15:17 -!- tromp [~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl] has quit [Quit: My iMac has gone to sleep. ZZZzzz…] 16:05 -!- jonatack [~jonatack@user/jonatack] has joined #secp256k1 18:08 -!- jarolrod___ [sid475272@2a03:5180:f:5::7:4088] has quit [Server closed connection] 18:08 -!- jarolrod___ [sid475272@id-475272.uxbridge.irccloud.com] has joined #secp256k1 18:40 -!- Noob42 [~Noob42@c-69-247-14-239.hsd1.tn.comcast.net] has quit [Ping timeout: 248 seconds] 18:53 -!- hebasto [sid449604@id-449604.uxbridge.irccloud.com] has quit [Server closed connection] 18:53 -!- hebasto [sid449604@id-449604.uxbridge.irccloud.com] has joined #secp256k1 18:58 -!- preimage [~halosghos@user/halosghost] has quit [Quit: WeeChat 4.1.0] 22:37 -!- ghost43 [~ghost43@gateway/tor-sasl/ghost43] has quit [Remote host closed the connection] 22:37 -!- ghost43 [~ghost43@gateway/tor-sasl/ghost43] has joined #secp256k1 23:07 -!- tromp [~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl] has joined #secp256k1 --- Log closed Tue Nov 07 00:00:18 2023