10gic / vanitygen-plusplus

A vanity address generator for BTC, ETH, LTC, TRX and 100+ more crypto currencies.
GNU Affero General Public License v3.0
248 stars 90 forks source link

How to install on Mac m1 #32

Open shaheem-khanzada opened 2 years ago

10gic commented 2 years ago

@shaheem-khanzada Try run make command in the project directory.

paris-ci commented 2 years ago

Use this Makefile

## CentOS/Redhat:
# yum install openssl-devel
# yum install libcurl-devel
# yum install check                # Only need if you want to run tests

## Ubuntu:
# apt install build-essential
# apt install libssl-dev
# apt install libpcre3-dev
# apt install libcurl4-openssl-dev
# apt install check                # Only need if you want to run tests

#LIBS=-lpcre -lcrypto -lm -lpthread
#CFLAGS=-ggdb -O3 -Wall
# CFLAGS=-ggdb -O3 -Wall -I /usr/local/cuda-10.2/include/

# CC=g++
LIBS= -lpcre -lcrypto -lm -lpthread
INCPATHS=-I$(shell brew --prefix)/include -I$(shell brew --prefix openssl@1.1)/include
LIBPATHS=-L$(shell brew --prefix)/lib -L$(shell brew --prefix openssl@1.1)/lib
CFLAGS=-ggdb -O3 -mcpu=apple-m1 $(INCPATHS) $(LIBPATHS)

OBJS=vanitygen.o oclvanitygen.o oclvanityminer.o oclengine.o keyconv.o pattern.o util.o groestl.o sha3.o ed25519.o \
     stellar.o base32.o crc16.o bech32.o segwit_addr.o
PROGS=vanitygen++ keyconv oclvanitygen++ oclvanityminer

PLATFORM=$(shell uname -s)
ifeq ($(PLATFORM),Darwin)
    OPENCL_LIBS=-framework OpenCL
    LIBS+=-L/opt/homebrew/opt/openssl@1.1/lib
    CFLAGS+=-I/opt/homebrew/opt/openssl@1.1/include
else ifeq ($(PLATFORM),NetBSD)
    LIBS+=`pcre-config --libs`
    CFLAGS+=`pcre-config --cflags`
else
    OPENCL_LIBS=-lOpenCL
endif

most: vanitygen++ keyconv

all: $(PROGS)

vanitygen++: vanitygen.o pattern.o util.o groestl.o sha3.o ed25519.o stellar.o base32.o crc16.o simplevanitygen.o bech32.o segwit_addr.o
    $(CC) $^ -o $@ $(CFLAGS) $(LIBS)

oclvanitygen++: oclvanitygen.o oclengine.o pattern.o util.o groestl.o sha3.o
    $(CC) $^ -o $@ $(CFLAGS) $(LIBS) $(OPENCL_LIBS)

oclvanityminer: oclvanityminer.o oclengine.o pattern.o util.o groestl.o sha3.o
    $(CC) $^ -o $@ $(CFLAGS) $(LIBS) $(OPENCL_LIBS) -lcurl

keyconv: keyconv.o util.o groestl.o sha3.o
    $(CC) $^ -o $@ $(CFLAGS) $(LIBS)

run_tests.o: tests.h util_test.h segwit_addr_test.h

run_tests: run_tests.o util.o groestl.o sha3.o bech32.o segwit_addr.o
    $(CC) $^ -o $@ $(CFLAGS) $(LIBS) $(OPENCL_LIBS) -lcheck

test: run_tests
    ./run_tests

clean:
    rm -f $(OBJS) $(PROGS) $(TESTS) *.oclbin run_tests
AsicPrince commented 2 years ago

Use this Makefile

## CentOS/Redhat:
# yum install openssl-devel
# yum install libcurl-devel
# yum install check                # Only need if you want to run tests

## Ubuntu:
# apt install build-essential
# apt install libssl-dev
# apt install libpcre3-dev
# apt install libcurl4-openssl-dev
# apt install check                # Only need if you want to run tests

#LIBS=-lpcre -lcrypto -lm -lpthread
#CFLAGS=-ggdb -O3 -Wall
# CFLAGS=-ggdb -O3 -Wall -I /usr/local/cuda-10.2/include/

# CC=g++
LIBS= -lpcre -lcrypto -lm -lpthread
INCPATHS=-I$(shell brew --prefix)/include -I$(shell brew --prefix openssl@1.1)/include
LIBPATHS=-L$(shell brew --prefix)/lib -L$(shell brew --prefix openssl@1.1)/lib
CFLAGS=-ggdb -O3 -mcpu=apple-m1 $(INCPATHS) $(LIBPATHS)

OBJS=vanitygen.o oclvanitygen.o oclvanityminer.o oclengine.o keyconv.o pattern.o util.o groestl.o sha3.o ed25519.o \
     stellar.o base32.o crc16.o bech32.o segwit_addr.o
PROGS=vanitygen++ keyconv oclvanitygen++ oclvanityminer

PLATFORM=$(shell uname -s)
ifeq ($(PLATFORM),Darwin)
  OPENCL_LIBS=-framework OpenCL
  LIBS+=-L/opt/homebrew/opt/openssl@1.1/lib
  CFLAGS+=-I/opt/homebrew/opt/openssl@1.1/include
else ifeq ($(PLATFORM),NetBSD)
  LIBS+=`pcre-config --libs`
  CFLAGS+=`pcre-config --cflags`
else
  OPENCL_LIBS=-lOpenCL
endif

most: vanitygen++ keyconv

all: $(PROGS)

vanitygen++: vanitygen.o pattern.o util.o groestl.o sha3.o ed25519.o stellar.o base32.o crc16.o simplevanitygen.o bech32.o segwit_addr.o
  $(CC) $^ -o $@ $(CFLAGS) $(LIBS)

oclvanitygen++: oclvanitygen.o oclengine.o pattern.o util.o groestl.o sha3.o
  $(CC) $^ -o $@ $(CFLAGS) $(LIBS) $(OPENCL_LIBS)

oclvanityminer: oclvanityminer.o oclengine.o pattern.o util.o groestl.o sha3.o
  $(CC) $^ -o $@ $(CFLAGS) $(LIBS) $(OPENCL_LIBS) -lcurl

keyconv: keyconv.o util.o groestl.o sha3.o
  $(CC) $^ -o $@ $(CFLAGS) $(LIBS)

run_tests.o: tests.h util_test.h segwit_addr_test.h

run_tests: run_tests.o util.o groestl.o sha3.o bech32.o segwit_addr.o
  $(CC) $^ -o $@ $(CFLAGS) $(LIBS) $(OPENCL_LIBS) -lcheck

test: run_tests
  ./run_tests

clean:
  rm -f $(OBJS) $(PROGS) $(TESTS) *.oclbin run_tests

https://github.com/iceland2k14/AltCrack bro, can you pls help me to compile this tool on MAC M1? thanks

redneckanarchist commented 3 months ago

Use this Makefile

## CentOS/Redhat:
# yum install openssl-devel
# yum install libcurl-devel
# yum install check                # Only need if you want to run tests

## Ubuntu:
# apt install build-essential
# apt install libssl-dev
# apt install libpcre3-dev
# apt install libcurl4-openssl-dev
# apt install check                # Only need if you want to run tests

#LIBS=-lpcre -lcrypto -lm -lpthread
#CFLAGS=-ggdb -O3 -Wall
# CFLAGS=-ggdb -O3 -Wall -I /usr/local/cuda-10.2/include/

# CC=g++
LIBS= -lpcre -lcrypto -lm -lpthread
INCPATHS=-I$(shell brew --prefix)/include -I$(shell brew --prefix openssl@1.1)/include
LIBPATHS=-L$(shell brew --prefix)/lib -L$(shell brew --prefix openssl@1.1)/lib
CFLAGS=-ggdb -O3 -mcpu=apple-m1 $(INCPATHS) $(LIBPATHS)

OBJS=vanitygen.o oclvanitygen.o oclvanityminer.o oclengine.o keyconv.o pattern.o util.o groestl.o sha3.o ed25519.o \
     stellar.o base32.o crc16.o bech32.o segwit_addr.o
PROGS=vanitygen++ keyconv oclvanitygen++ oclvanityminer

PLATFORM=$(shell uname -s)
ifeq ($(PLATFORM),Darwin)
  OPENCL_LIBS=-framework OpenCL
  LIBS+=-L/opt/homebrew/opt/openssl@1.1/lib
  CFLAGS+=-I/opt/homebrew/opt/openssl@1.1/include
else ifeq ($(PLATFORM),NetBSD)
  LIBS+=`pcre-config --libs`
  CFLAGS+=`pcre-config --cflags`
else
  OPENCL_LIBS=-lOpenCL
endif

most: vanitygen++ keyconv

all: $(PROGS)

vanitygen++: vanitygen.o pattern.o util.o groestl.o sha3.o ed25519.o stellar.o base32.o crc16.o simplevanitygen.o bech32.o segwit_addr.o
  $(CC) $^ -o $@ $(CFLAGS) $(LIBS)

oclvanitygen++: oclvanitygen.o oclengine.o pattern.o util.o groestl.o sha3.o
  $(CC) $^ -o $@ $(CFLAGS) $(LIBS) $(OPENCL_LIBS)

oclvanityminer: oclvanityminer.o oclengine.o pattern.o util.o groestl.o sha3.o
  $(CC) $^ -o $@ $(CFLAGS) $(LIBS) $(OPENCL_LIBS) -lcurl

keyconv: keyconv.o util.o groestl.o sha3.o
  $(CC) $^ -o $@ $(CFLAGS) $(LIBS)

run_tests.o: tests.h util_test.h segwit_addr_test.h

run_tests: run_tests.o util.o groestl.o sha3.o bech32.o segwit_addr.o
  $(CC) $^ -o $@ $(CFLAGS) $(LIBS) $(OPENCL_LIBS) -lcheck

test: run_tests
  ./run_tests

clean:
  rm -f $(OBJS) $(PROGS) $(TESTS) *.oclbin run_tests

This saved me. Thanks man.