bitcoinops / taproot-workshop

Taproot & Schnorr Python Library & Documentation.
MIT License
375 stars 112 forks source link

macOS Catalina: probably needs bitcoin rebase #163

Closed Sjors closed 6 months ago

Sjors commented 4 years ago

When trying to compile the Taproot_V0.1.4 branch on macOS Catalina I get:

qt/macdockiconhandler.mm:24:14: error: no matching function for call to 'objc_msgSend'
    id app = objc_msgSend((id)objc_getClass("NSApplication"), sel_registerName("sharedApplication"));
             ^~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/objc/message.h:63:1: note: candidate function not viable:
      requires 0 arguments, but 2 were provided
objc_msgSend(void /* id self, SEL op, ... */ )

These issues have been patched on master since: https://github.com/bitcoin/bitcoin/issues/16387

@jnewbery's work in progress branch Taproot_V0.1.5-proposed doesn't have this problem, as it's based on a more recent master.

Unfortunately for myself, I'm unable to compile versions of Bitcoin Core that still depend on OpenSSL, probably due to a local issue. Rebasing to the most recent version of master isn't easy either, because the taproot branch is behind. I'll figure something out...

elichai commented 4 years ago

@Sjors Taproot_V0.1.5-proposed is based on the 32byte keys. so it won't work with current version of the workshop.

Sjors commented 4 years ago

Ok, I'll stick to workshop version 0.14. Cherry-picking the from https://github.com/bitcoin/bitcoin/pull/16720 makes the error go away too.

git cherry-pick 0bb33b5348dbddd65b88a7f00449c965562355d3

As for the RNG compile error I ran into, either the downgrade, removing homebrew's openssl seems to have done the trick. This broke Python in the process, so I'll try a less drastic solution such as pointing ./configure to the system version.

pavel-bc commented 4 years ago

@Sjors Thanks Sjors, that helped a lot!

For future readers - I've also had issues with compiling modified secp256k1 with Schnorr signatures support in this repo, because I had globally installed default version of libsecp256k1 via Homebrew. So uninstalling last one helped