[CentOS] Vanitygen on centos linux

Fri Jun 6 05:16:48 UTC 2014
XMUDA Linux <xmuda at hotmail.com>

Hi to all...

After a hard search i dont found the way to install Vanitygen to make Bitcoin addres on centos. After 3 days i decide to find the way and make the how to.

I post the how to on bitcointalk.com and want to share with centos people.

How to link: https://bitcointalk.org/index.php?topic=641328.msg7159690#msg7159690

Post on Bitcointalk:

Was realy hard to make these install, but now vanitygen works in my Centos linux server.

About the server:

Code:[windows at localhost ~]$ uname -a
Linux localhost.localdomain 2.6.32-431.17.1.el6.centos.plus.x86_64 #1 SMP Thu May 8 02:18:11 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
First error:
Code:[windows at localhost vanitygen]$ make
cc -ggdb -O3 -Wall -I/usr/src/redhat/BUILD/openssl-1.0.1e/include   -c -o pattern.o pattern.c
pattern.c:32:18: error: pcre.h: No existe el fichero o el directorio
pattern.c:1604: error: expected specifier-qualifier-list before ‘pcre’
pattern.c: En la función ‘vg_regex_context_add_patterns’:
pattern.c:1623: error: ‘vg_regex_context_t’ no tiene un miembro llamado ‘vcr_nalloc’
pattern.c:1625: error: ‘vg_regex_context_t’ no tiene un miembro llamado ‘vcr_nalloc’
pattern.c:1626: error: ‘vg_regex_context_t’ no tiene un miembro llamado ‘vcr_nalloc’
pattern.c:1636: error: ‘vg_regex_context_t’ no tiene un miembro llamado ‘vcr_regex’
pattern.c:1637: error: ‘vg_regex_context_t’ no tiene un miembro llamado ‘vcr_regex_extra’
pattern.c:1638: error: ‘vg_regex_context_t’ no tiene un miembro llamado ‘vcr_regex_pat’
pattern.c:1641: error: ‘vg_regex_context_t’ no tiene un miembro llamado ‘vcr_nalloc’
pattern.c:1642: error: ‘vg_regex_context_t’ no tiene un miembro llamado ‘vcr_regex’
pattern.c:1643: error: ‘vg_regex_context_t’ no tiene un miembro llamado ‘vcr_regex’
pattern.c:1643: error: ‘pcre’ no se declaró aquí (primer uso en esta función)
pattern.c:1643: error: (Cada identificador no declarado solamente se reporta una vez
pattern.c:1643: error: para cada funcion en la que aparece.)
pattern.c:1643: error: expected expression before ‘)’ token
pattern.c:1644: error: ‘vg_regex_context_t’ no tiene un miembro llamado ‘vcr_regex_extra’
pattern.c:1644: error: ‘pcre_extra’ no se declaró aquí (primer uso en esta función)
pattern.c:1644: error: expected expression before ‘)’ token
pattern.c:1645: error: ‘vg_regex_context_t’ no tiene un miembro llamado ‘vcr_regex_pat’
pattern.c:1646: error: ‘vg_regex_context_t’ no tiene un miembro llamado ‘vcr_nalloc’
pattern.c:1651: error: ‘vg_regex_context_t’ no tiene un miembro llamado ‘vcr_regex’
pattern.c:1652: aviso: declaración implícita de la función ‘pcre_compile’
pattern.c:1654: error: ‘vg_regex_context_t’ no tiene un miembro llamado ‘vcr_regex’
pattern.c:1667: error: ‘vg_regex_context_t’ no tiene un miembro llamado ‘vcr_regex_extra’
pattern.c:1668: aviso: declaración implícita de la función ‘pcre_study’
pattern.c:1668: error: ‘vg_regex_context_t’ no tiene un miembro llamado ‘vcr_regex’
pattern.c:1671: aviso: declaración implícita de la función ‘pcre_free’
pattern.c:1671: error: ‘vg_regex_context_t’ no tiene un miembro llamado ‘vcr_regex’
pattern.c:1674: error: ‘vg_regex_context_t’ no tiene un miembro llamado ‘vcr_regex_pat’
pattern.c: En la función ‘vg_regex_context_clear_all_patterns’:
pattern.c:1692: error: ‘vg_regex_context_t’ no tiene un miembro llamado ‘vcr_regex_extra’
pattern.c:1693: error: ‘vg_regex_context_t’ no tiene un miembro llamado ‘vcr_regex_extra’
pattern.c:1694: error: ‘vg_regex_context_t’ no tiene un miembro llamado ‘vcr_regex’
pattern.c: En la función ‘vg_regex_context_free’:
pattern.c:1706: error: ‘vg_regex_context_t’ no tiene un miembro llamado ‘vcr_nalloc’
pattern.c:1707: error: ‘vg_regex_context_t’ no tiene un miembro llamado ‘vcr_regex’
pattern.c: En la función ‘vg_regex_test’:
pattern.c:1723: error: ‘pcre’ no se declaró aquí (primer uso en esta función)
pattern.c:1723: error: ‘re’ no se declaró aquí (primer uso en esta función)
pattern.c:1764: aviso: declaración implícita de la función ‘pcre_exec’
pattern.c:1764: error: ‘vg_regex_context_t’ no tiene un miembro llamado ‘vcr_regex’
pattern.c:1765: error: ‘vg_regex_context_t’ no tiene un miembro llamado ‘vcr_regex_extra’
pattern.c:1771: error: ‘PCRE_ERROR_NOMATCH’ no se declaró aquí (primer uso en esta función)
pattern.c:1779: error: ‘vg_regex_context_t’ no tiene un miembro llamado ‘vcr_regex’
pattern.c:1783: error: ‘vg_regex_context_t’ no tiene un miembro llamado ‘vcr_regex’
pattern.c:1788: error: ‘vg_regex_context_t’ no tiene un miembro llamado ‘vcr_regex_pat’
pattern.c:1797: error: ‘vg_regex_context_t’ no tiene un miembro llamado ‘vcr_regex’
pattern.c:1798: error: ‘vg_regex_context_t’ no tiene un miembro llamado ‘vcr_regex_extra’
pattern.c:1799: error: ‘vg_regex_context_t’ no tiene un miembro llamado ‘vcr_regex_extra’
pattern.c:1806: error: ‘vg_regex_context_t’ no tiene un miembro llamado ‘vcr_regex’
pattern.c:1806: error: ‘vg_regex_context_t’ no tiene un miembro llamado ‘vcr_regex’
pattern.c:1807: error: ‘vg_regex_context_t’ no tiene un miembro llamado ‘vcr_regex_extra’
pattern.c:1808: error: ‘vg_regex_context_t’ no tiene un miembro llamado ‘vcr_regex_extra’
pattern.c:1809: error: ‘vg_regex_context_t’ no tiene un miembro llamado ‘vcr_regex_pat’
pattern.c:1809: error: ‘vg_regex_context_t’ no tiene un miembro llamado ‘vcr_regex_pat’
pattern.c: En la función ‘vg_regex_context_new’:
pattern.c:1840: error: ‘vg_regex_context_t’ no tiene un miembro llamado ‘vcr_regex’
pattern.c:1841: error: ‘vg_regex_context_t’ no tiene un miembro llamado ‘vcr_nalloc’
make: *** [pattern.o] Error 1

that will be fixed with:

Code:[root at localhost vanitygen]# yum install pcre-devel
Second error:

Code:[windows at localhost vanitygen]$ ./vanitygen 1BTC
Difficulty: 77178
vanitygen: pattern.c:164: vg_exec_context_init: Assertion `vxcp->vxc_key' failed.
Abortado
that was a little bit hard to fix, but i fond the solution:

Code:mkdir ~/devel
cd ~/devel

wget http://openssl.org/source/openssl-1.0.1g.tar.gz
tar xfz openssl-1.0.1g.tar.gz
cd openssl-1.0.1g

./config --prefix=/opt/openssl-1.0.1g zlib-dynamic shared
make

sudo make install_sw
Now we download vanitigen from:

Code:https://github.com/samr7/vanitygen/archive/master.zip
And we need to edit the make file:

Code:export LD_RUN_PATH=/opt/openssl-1.0.1g/lib
LIBS=-lpcre -lcrypto -lm -lpthread
CFLAGS=-ggdb -O3 -Wall -L/opt/openssl-1.0.1g/lib
OBJS=vanitygen.o oclvanitygen.o oclvanityminer.o oclengine.o keyconv.o pattern.o util.o
PROGS=vanitygen keyconv oclvanitygen oclvanityminer

PLATFORM=$(shell uname -s)
ifeq ($(PLATFORM),Darwin)
OPENCL_LIBS=-framework OpenCL
else
OPENCL_LIBS=-lOpenCL
endif


most: vanitygen keyconv

all: $(PROGS)

vanitygen: vanitygen.o pattern.o util.o
	$(CC) $^ -o $@ $(CFLAGS) $(LIBS)

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

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

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

clean:
	rm -f $(OBJS) $(PROGS) $(TESTS)


It works to me and hope it works for all the Centos users.