Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

With help from ChatGPT succeed to compile it on Mac M1 #268

Open
bane77111 opened this issue Nov 5, 2023 · 7 comments
Open

With help from ChatGPT succeed to compile it on Mac M1 #268

bane77111 opened this issue Nov 5, 2023 · 7 comments

Comments

@bane77111
Copy link

bane77111 commented Nov 5, 2023

If someone interested to run it on Mac m1 chip maybe it will work on m2 too, this is the changed Make file:

make legacy

CC = clang
CXX = clang++
CFLAGS = -Ofast -target arm64-apple-macos -arch arm64 -ftree-vectorize -flto
CXXFLAGS = -Ofast -target arm64-apple-macos -arch arm64 -ftree-vectorize -flto
LDFLAGS = -lm -lpthread -lcrypto -lgmp
RM = rm -f

# Specify the include path for OpenSSL
OPENSSL_INCLUDE = -I/opt/homebrew/Cellar/openssl@3/3.1.4/include
OPENSSL_LIB = -L/opt/homebrew/Cellar/openssl@3/3.1.4/lib -lssl -lcrypto

# Specify the include and library paths for GMP
GMP_INCLUDE := -I/opt/homebrew/include
GMP_LIB := -L/opt/homebrew/lib -lgmp

CFLAGS += $(OPENSSL_INCLUDE) $(GMP_INCLUDE)
CXXFLAGS += $(OPENSSL_INCLUDE) $(GMP_INCLUDE)
LDFLAGS += $(OPENSSL_LIB) $(GMP_LIB)

# Define the separator
SEPARATOR = ;

# List of GMP256K1 source files
GMP256K1_SRCS = gmp256k1/GMP256K1.cpp gmp256k1/Int.cpp gmp256k1/IntGroup.cpp gmp256k1/IntMod.cpp gmp256k1/Point.cpp gmp256k1/Random.cpp

legacy: ; \
    $(CXX) $(CXXFLAGS) -c oldbloom/bloom.cpp -o oldbloom.o $(SEPARATOR) \
    $(CXX) $(CXXFLAGS) -c bloom/bloom.cpp -o bloom.o $(SEPARATOR) \
    $(CC) $(CFLAGS) -c base58/base58.c -o base58.o $(SEPARATOR) \
    $(CC) $(CFLAGS) -c xxhash/xxhash.c -o xxhash.o $(SEPARATOR) \
    $(CXX) $(CXXFLAGS) -c util.c -o util.o $(SEPARATOR) \
    $(CXX) $(CXXFLAGS) -c sha3/sha3.c -o sha3.o $(SEPARATOR) \
    $(CXX) $(CXXFLAGS) -c sha3/keccak.c -o keccak.o $(SEPARATOR) \
    $(CXX) $(CXXFLAGS) -c hashing.c -o hashing.o $(SEPARATOR) \
    $(CXX) $(CXXFLAGS) -c gmp256k1/Int.cpp -o Int.o $(SEPARATOR) \
    $(CXX) $(CXXFLAGS) -c gmp256k1/Point.cpp -o Point.o $(SEPARATOR) \
    $(CXX) $(CXXFLAGS) -c gmp256k1/GMP256K1.cpp -o GMP256K1.o $(SEPARATOR) \
    $(CXX) $(CXXFLAGS) -c gmp256k1/IntMod.cpp -o IntMod.o $(SEPARATOR) \
    $(CXX) $(CXXFLAGS) -c gmp256k1/Random.cpp -o Random.o $(SEPARATOR) \
    $(CXX) $(CXXFLAGS) -c gmp256k1/IntGroup.cpp -o IntGroup.o $(SEPARATOR) \
    $(CXX) $(CXXFLAGS) -o keyhunt keyhunt_legacy.cpp base58.o bloom.o oldbloom.o xxhash.o util.o Int.o Point.o GMP256K1.o IntMod.o IntGroup.o Random.o hashing.o sha3.o keccak.o $(LDFLAGS) $(SEPARATOR) \
    $(RM) *.o

bsgsd: ; \
    $(CXX) $(CXXFLAGS) -c oldbloom/bloom.cpp -o oldbloom.o $(SEPARATOR) \
    $(CXX) $(CXXFLAGS) -c bloom/bloom.cpp -o bloom.o $(SEPARATOR) \
    $(CC) $(CFLAGS) -c base58/base58.c -o base58.o $(SEPARATOR) \
    $(CC) $(CFLAGS) -c rmd160/rmd160.c -o rmd160.o $(SEPARATOR) \
    $(CXX) $(CXXFLAGS) -c sha3/sha3.c -o sha3.o $(SEPARATOR) \
    $(CXX) $(CXXFLAGS) -c sha3/keccak.c -o keccak.o $(SEPARATOR) \
    $(CC) $(CFLAGS) -c xxhash/xxhash.c -o xxhash.o $(SEPARATOR) \
    $(CXX) $(CXXFLAGS) -c util.c -o util.o $(SEPARATOR) \
    $(CXX) $(CXXFLAGS) -c secp256k1/Int.cpp -o Int.o $(SEPARATOR) \
    $(CXX) $(CXXFLAGS) -c secp256k1/Point.cpp -o Point.o $(SEPARATOR) \
    $(CXX) $(CXXFLAGS) -c secp256k1/SECP256K1.cpp -o SECP256K1.o $(SEPARATOR) \
    $(CXX) $(CXXFLAGS) -c secp256k1/IntMod.cpp -o IntMod.o $(SEPARATOR) \
    $(CXX) $(CXXFLAGS) -c secp256k1/Random.cpp -o Random.o $(SEPARATOR) \
    $(CXX) $(CXXFLAGS) -c secp256k1/IntGroup.cpp -o IntGroup.o $(SEPARATOR) \
    $(CXX) $(CXXFLAGS) -o hash/ripemd160.o -c hash/ripemd160.cpp $(SEPARATOR) \
    $(CXX) $(CXXFLAGS) -o hash/sha256.o -c hash/sha256.cpp $(SEPARATOR) \
    $(CXX) $(CXXFLAGS) -o hash/ripemd160_sse.o -c hash/ripemd160_sse.cpp $(SEPARATOR) \
    $(CXX) $(CXXFLAGS) -o hash/sha256_sse.o -c hash/sha256_sse.cpp $(SEPARATOR) \
    $(CXX) $(CXXFLAGS) -o bsgsd bsgsd.cpp base58.o rmd160.o hash/ripemd160.o hash/ripemd160_sse.o hash/sha256.o hash/sha256_sse.o bloom.o oldbloom.o xxhash.o util.o Int.o Point.o SECP256K1.o IntMod.o Random.o IntGroup.o sha3.o keccak.o $(LDFLAGS) $(SEPARATOR) \
    $(RM) *.o    

Before compale make sure to have all paths setup and you'll have to delete in file: gmp256k1/Random.cpp ; the line #include <linux/random.h>

I try it to run:

bane@Luse keyhunt % ./keyhunt -m bsgs -f tests/125.txt -R -b 125 -q -S -s 10

[+] Version 0.2.230519 Satoshi Quest (legacy), developed by AlbertoBSD

[+] Random mode

[+] Quiet thread output

[+] Stats output every 10 seconds

[+] Mode BSGS random

[+] Opening file tests/125.txt

[+] Added 1 points from file

[+] Bit Range 125

[+] -- from : 0x10000000000000000000000000000000

[+] -- to   : 0x20000000000000000000000000000000

[+] N = 0x100000000000

[+] Bloom filter for 4194304 elements : 14.38 MB

[+] Bloom filter for 131072 elements : 0.88 MB

[+] Bloom filter for 4096 elements : 0.88 MB

[+] Allocating 0.00 MB for 4096 bP Points

[+] processing 4194304/4194304 bP points : 100%     

[+] Making checkums .. ... done

[+] Sorting 4096 elements... Done!

[+] Writing bloom filter to file keyhunt_bsgs_4_4194304.blm .... Done!

[+] Writing bloom filter to file keyhunt_bsgs_6_131072.blm .... Done!

[+] Writing bP Table to file keyhunt_bsgs_2_4096.tbl .. Done!

[+] Writing bloom filter to file keyhunt_bsgs_7_4096.blm .... Done!

[+] Total 105553116266496 keys in 10 seconds: ~10 Tkeys/s (10555311626649 keys/s[+] Total 246290604621824 keys in 20 seconds: ~12 Tkeys/s (12314530231091 keys/s[+] Total 351843720888320 keys in 30 seconds: ~11 Tkeys/s (11728124029610 keys/s

And on my Mac works OK.
ps.
There is also an issue with legacy reading pub. keys, if you have uncompressed you'll get an error so you need to change it to compressed pub.key.

@bane77111 bane77111 changed the title With help from ChatGPT succeed to compile it on Mac M1 Succeed to compile it on Mac M1 Nov 5, 2023
@bane77111 bane77111 changed the title Succeed to compile it on Mac M1 With help from ChatGPT succeed to compile it on Mac M1 Nov 5, 2023
@albertobsd
Copy link
Owner

Can you post what error do you get with the public keys uncompressed?

@bane77111
Copy link
Author

Can you post what error do you get with the public keys uncompressed?

The error i get: ParsePublicKeyHex: Error invalid public key specified (Not lie on elliptic curve)
As i already post an issue some time ago, issue #222 and #216

@danhantao
Copy link

19 warnings generated.
ld: warning: ignoring duplicate libraries: '-lcrypto', '-lgmp'
ld: warning: ignoring file '/usr/local/Cellar/gmp/6.3.0/lib/libgmp.10.dylib': found architecture 'x86_64', required architecture 'arm64'
ld: warning: ignoring file '/usr/local/Cellar/openssl@3/3.1.4/lib/libcrypto.3.dylib': found architecture 'x86_64', required architecture 'arm64'
ld: warning: ignoring file '/usr/local/Cellar/openssl@3/3.1.4/lib/libssl.3.dylib': found architecture 'x86_64', required architecture 'arm64'
ld: Undefined symbols:
_RIPEMD160_Final, referenced from:
thread_pub2rmd(void*) in cc-8ed1f9.o
thread_pub2rmd(void*) in cc-8ed1f9.o
Secp256K1::GetHash160(int, bool, Point&, unsigned char*) in cc-8ed1f9.o
rmd160_4(unsigned long, unsigned char const*, unsigned char const*, unsigned char const*, unsigned char const*, unsigned char*, unsigned char*, unsigned char*, unsigned char*) in cc-8ed1f9.o
rmd160_4(unsigned long, unsigned char const*, unsigned char const*, unsigned char const*, unsigned char const*, unsigned char*, unsigned char*, unsigned char*, unsigned char*) in cc-8ed1f9.o
rmd160_4(unsigned long, unsigned char const*, unsigned char const*, unsigned char const*, unsigned char const*, unsigned char*, unsigned char*, unsigned char*, unsigned char*) in cc-8ed1f9.o
rmd160_4(unsigned long, unsigned char const*, unsigned char const*, unsigned char const*, unsigned char const*, unsigned char*, unsigned char*, unsigned char*, unsigned char*) in cc-8ed1f9.o
...
_RIPEMD160_Init, referenced from:
thread_pub2rmd(void*) in cc-8ed1f9.o
thread_pub2rmd(void*) in cc-8ed1f9.o
Secp256K1::GetHash160(int, bool, Point&, unsigned char*) in cc-8ed1f9.o
rmd160_4(unsigned long, unsigned char const*, unsigned char const*, unsigned char const*, unsigned char const*, unsigned char*, unsigned char*, unsigned char*, unsigned char*) in cc-8ed1f9.o
rmd160_4(unsigned long, unsigned char const*, unsigned char const*, unsigned char const*, unsigned char const*, unsigned char*, unsigned char*, unsigned char*, unsigned char*) in cc-8ed1f9.o
rmd160_4(unsigned long, unsigned char const*, unsigned char const*, unsigned char const*, unsigned char const*, unsigned char*, unsigned char*, unsigned char*, unsigned char*) in cc-8ed1f9.o
rmd160_4(unsigned long, unsigned char const*, unsigned char const*, unsigned char const*, unsigned char const*, unsigned char*, unsigned char*, unsigned char*, unsigned char*) in cc-8ed1f9.o
...
_RIPEMD160_Update, referenced from:
thread_pub2rmd(void*) in cc-8ed1f9.o
thread_pub2rmd(void*) in cc-8ed1f9.o
Secp256K1::GetHash160(int, bool, Point&, unsigned char*) in cc-8ed1f9.o
rmd160_4(unsigned long, unsigned char const*, unsigned char const*, unsigned char const*, unsigned char const*, unsigned char*, unsigned char*, unsigned char*, unsigned char*) in cc-8ed1f9.o
rmd160_4(unsigned long, unsigned char const*, unsigned char const*, unsigned char const*, unsigned char const*, unsigned char*, unsigned char*, unsigned char*, unsigned char*) in cc-8ed1f9.o
rmd160_4(unsigned long, unsigned char const*, unsigned char const*, unsigned char const*, unsigned char const*, unsigned char*, unsigned char*, unsigned char*, unsigned char*) in cc-8ed1f9.o
rmd160_4(unsigned long, unsigned char const*, unsigned char const*, unsigned char const*, unsigned char const*, unsigned char*, unsigned char*, unsigned char*, unsigned char*) in cc-8ed1f9.o
...
_SHA256_Final, referenced from:
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
...
_SHA256_Init, referenced from:
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
...
_SHA256_Update, referenced from:
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
...
___gmp_randinit_mt, referenced from:
_main in cc-8ed1f9.o
___gmp_randseed, referenced from:
_main in cc-8ed1f9.o
___gmpn_perfect_square_p, referenced from:
_main in cc-8ed1f9.o
___gmpz_add, referenced from:
_main in cc-8ed1f9.o
thread_bPload_2blooms(void*) in cc-8ed1f9.o
thread_bPload_2blooms(void*) in cc-8ed1f9.o
thread_bPload_2blooms(void*) in cc-8ed1f9.o
thread_bPload_2blooms(void*) in cc-8ed1f9.o
thread_bPload_2blooms(void*) in cc-8ed1f9.o
thread_bPload_2blooms(void*) in cc-8ed1f9.o
thread_bPload_2blooms(void*) in cc-8ed1f9.o
thread_bPload_2blooms(void*) in cc-8ed1f9.o
thread_bPload_2blooms(void*) in cc-8ed1f9.o
thread_bPload_2blooms(void*) in cc-8ed1f9.o
thread_bPload_2blooms(void*) in cc-8ed1f9.o
thread_bPload_2blooms(void*) in cc-8ed1f9.o
thread_bPload_2blooms(void*) in cc-8ed1f9.o
thread_bPload_2blooms(void*) in cc-8ed1f9.o
thread_bPload_2blooms(void*) in cc-8ed1f9.o
thread_bPload_2blooms(void*) in cc-8ed1f9.o
thread_bPload_2blooms(void*) in cc-8ed1f9.o
thread_bPload_2blooms(void*) in cc-8ed1f9.o
thread_bPload_2blooms(void*) in cc-8ed1f9.o
thread_bPload_2blooms(void*) in cc-8ed1f9.o
thread_bPload_2blooms(void*) in cc-8ed1f9.o
thread_bPload_2blooms(void*) in cc-8ed1f9.o
thread_bPload_2blooms(void*) in cc-8ed1f9.o
...
___gmpz_add_ui, referenced from:
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
Secp256K1::GetY(Int, bool) in cc-8ed1f9.o
Secp256K1::GetY(Int, bool) in cc-8ed1f9.o
Secp256K1::ParsePublicKeyHex(char*, Point&, bool&) in cc-8ed1f9.o
...
___gmpz_clear, referenced from:
std::__1::vector<Point, std::__1::allocator>::~vectorabi:v160006 in cc-8ed1f9.o
std::__1::vector<Point, std::__1::allocator>::~vectorabi:v160006 in cc-8ed1f9.o
std::__1::vector<Point, std::__1::allocator>::~vectorabi:v160006 in cc-8ed1f9.o
std::__1::vector<Point, std::__1::allocator>::~vectorabi:v160006 in cc-8ed1f9.o
std::__1::vector<Point, std::__1::allocator>::~vectorabi:v160006 in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
...
___gmpz_clears, referenced from:
Secp256K1::GetY(Int, bool) in cc-8ed1f9.o
___gmpz_cmp, referenced from:
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
...
___gmpz_export, referenced from:
thread_bPload_2blooms(void*) in cc-8ed1f9.o
thread_bPload(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
...
___gmpz_fdiv_q, referenced from:
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
___gmpz_fdiv_q_ui, referenced from:
Secp256K1::GetY(Int, bool) in cc-8ed1f9.o
___gmpz_get_str, referenced from:
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
...
___gmpz_import, referenced from:
_main in cc-8ed1f9.o
thread_process_minikeys(void*) in cc-8ed1f9.o
thread_process_minikeys(void*) in cc-8ed1f9.o
thread_process_minikeys(void*) in cc-8ed1f9.o
thread_process_minikeys(void*) in cc-8ed1f9.o
___gmpz_init, referenced from:
_main in cc-8ed1f9.o
___gmpz_init_set, referenced from:
thread_bPload_2blooms(void*) in cc-8ed1f9.o
thread_bPload_2blooms(void*) in cc-8ed1f9.o
thread_bPload_2blooms(void*) in cc-8ed1f9.o
thread_bPload_2blooms(void*) in cc-8ed1f9.o
thread_bPload(void*) in cc-8ed1f9.o
thread_bPload(void*) in cc-8ed1f9.o
thread_bPload(void*) in cc-8ed1f9.o
thread_bPload(void*) in cc-8ed1f9.o
...
___gmpz_init_set_str, referenced from:
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_pub2rmd(void*) in cc-8ed1f9.o
thread_process_vanity(void*) in cc-8ed1f9.o
...
___gmpz_init_set_ui, referenced from:
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
...
___gmpz_inits, referenced from:
Secp256K1::GetY(Int, bool) in cc-8ed1f9.o
___gmpz_invert, referenced from:
Point::Reduce() in cc-8ed1f9.o
Secp256K1::DoubleDirect(Point&) in cc-8ed1f9.o
Secp256K1::AddDirect(Point&, Point&) in cc-8ed1f9.o
IntGroup::ModInv() in cc-8ed1f9.o
___gmpz_mod, referenced from:
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
...
___gmpz_mul, referenced from:
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
...
___gmpz_mul_2exp, referenced from:
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
___gmpz_pow_ui, referenced from:
Secp256K1::GetY(Int, bool) in cc-8ed1f9.o
___gmpz_powm, referenced from:
Secp256K1::GetY(Int, bool) in cc-8ed1f9.o
___gmpz_powm_ui, referenced from:
thread_bPload_2blooms(void*) in cc-8ed1f9.o
thread_bPload_2blooms(void*) in cc-8ed1f9.o
thread_bPload_2blooms(void*) in cc-8ed1f9.o
thread_bPload_2blooms(void*) in cc-8ed1f9.o
thread_bPload(void*) in cc-8ed1f9.o
thread_bPload(void*) in cc-8ed1f9.o
thread_bPload(void*) in cc-8ed1f9.o
thread_bPload(void*) in cc-8ed1f9.o
...
___gmpz_set, referenced from:
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
...
___gmpz_set_str, referenced from:
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
...
___gmpz_set_ui, referenced from:
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
...
___gmpz_setbit, referenced from:
Int::Rand(Int*, Int*) in cc-8ed1f9.o
___gmpz_sizeinbase, referenced from:
thread_bPload_2blooms(void*) in cc-8ed1f9.o
thread_bPload(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
...
___gmpz_sqrt, referenced from:
_main in cc-8ed1f9.o
___gmpz_sub, referenced from:
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
_main in cc-8ed1f9.o
thread_bPload_2blooms(void*) in cc-8ed1f9.o
thread_bPload_2blooms(void*) in cc-8ed1f9.o
thread_bPload_2blooms(void*) in cc-8ed1f9.o
thread_bPload_2blooms(void*) in cc-8ed1f9.o
thread_bPload_2blooms(void*) in cc-8ed1f9.o
thread_bPload_2blooms(void*) in cc-8ed1f9.o
thread_bPload_2blooms(void*) in cc-8ed1f9.o
thread_bPload_2blooms(void*) in cc-8ed1f9.o
thread_bPload_2blooms(void*) in cc-8ed1f9.o
thread_bPload_2blooms(void*) in cc-8ed1f9.o
thread_bPload_2blooms(void*) in cc-8ed1f9.o
thread_bPload_2blooms(void*) in cc-8ed1f9.o
thread_bPload_2blooms(void*) in cc-8ed1f9.o
thread_bPload_2blooms(void*) in cc-8ed1f9.o
thread_bPload_2blooms(void*) in cc-8ed1f9.o
thread_bPload_2blooms(void*) in cc-8ed1f9.o
thread_bPload_2blooms(void*) in cc-8ed1f9.o
...
___gmpz_tstbit, referenced from:
thread_process(void*) in cc-8ed1f9.o
thread_process(void*) in cc-8ed1f9.o
thread_process_vanity(void*) in cc-8ed1f9.o
thread_process_vanity(void*) in cc-8ed1f9.o
Secp256K1::GetY(Int, bool) in cc-8ed1f9.o
Secp256K1::GetPublicKeyHex(bool, Point&) in cc-8ed1f9.o
Secp256K1::GetPublicKeyHex(bool, Point&, char*) in cc-8ed1f9.o
...
___gmpz_urandomb, referenced from:
Int::Rand(Int*, Int*) in cc-8ed1f9.o
clang: error: linker command failed with exit code 1 (use -v to see invocation)

@bane77111
Copy link
Author

___gmpz_urandomb, referenced from:
Int::Rand(Int*, Int*) in cc-8ed1f9.o
clang: error: linker command failed with exit code 1 (use -v to see invocation)

I think you should reinstall GMP via Homebrew and try again?

@Wezix
Copy link

Wezix commented Apr 15, 2024

Thank you @bane77111 Got this to work OK on an M3 Pro 18GB was hitting 65Ph/s

@lucasmozzatto
Copy link

Thank you @bane77111 Got this to work OK on an M3 Pro 18GB was hitting 65Ph/s

I'm a bit of a layman. Do you have any step-by-step instructions on how to run Keyhunter? I believe I managed to get around the error of doing the make

@vladkens
Copy link

Hi everyone in this discussion. I also had problems running it on macOS, so I made an alternate version (also in pure C):
https://github.com/vladkens/ecloop

Have a look and see if it works for you too. This program has less features, but it can do range scan and private key search from given list. Searches for hash160 from given list or with bloom filter.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants