Author

Topic: Bitcoind on CentOS 5.6 64bit ($50 bounty) (Read 3034 times)

full member
Activity: 196
Merit: 100
Web Dev, Db Admin, Computer Technician
August 14, 2012, 12:32:46 AM
#28
Redhat distros have different directory structure compared to Debian based.
In Debian, bin is located in /usr/local/bin, while in Redhat, bin is located in /usr/bin.
If a developer designs their software on a Debian system, when they build it all expectations in the program are looking in Debian directory structures. Where ever Redhat differs in it's directory structures this may cause issues when compiling as the compiler is being asked to look in the wrong location.

What's wrong with linking to /usr/bin/glibc?

As for my earlier post, I thought there had been a discussion about missing ECDSA. If not, then it's useful to you at some later point, and I'm ahead of whatever crops up in your future. Cheesy
legendary
Activity: 906
Merit: 1002
August 08, 2012, 02:37:37 PM
#27
Could get this stupid bitcoin client working with the binary from weex posted here https://bitcointalksearch.org/topic/m.1075468
Its an older version but it will do its job i think till someone comes up with a newer solution.
I also added another 4 BTC here https://bitcointalksearch.org/topic/m.1086900 so hopefully a nerd will like the possibility for some BTC extra by solving this little problem for us noobs Smiley
legendary
Activity: 1498
Merit: 1000
August 07, 2012, 07:24:03 PM
#26
Your post sounds like a shot into the blue... which bins would be included in that fusion package that updates GLIBC?

Im pretty frustrated right now... really thinking about taking a VPS with another OS for this project...

I can say the only other better Linux OS would be gentoo and that is under protest, I would reinstall centos and try installing bitcoind again, or find someone with a VDMK of centos 5.5 with bitcoind pre-installed and send it to your vps they should be able to load it for you.
legendary
Activity: 906
Merit: 1002
August 07, 2012, 07:15:12 PM
#25
Your post sounds like a shot into the blue... which bins would be included in that fusion package that updates GLIBC?

Im pretty frustrated right now... really thinking about taking a VPS with another OS for this project...
full member
Activity: 196
Merit: 100
Web Dev, Db Admin, Computer Technician
August 06, 2012, 05:24:07 PM
#24
Redhat doesn't include nonfree software so you may have to enable rpmfusion to get dependancies needed for compiling. You should try this for CentOS only, it is a requirement before enabling rpmfusion.

Before enabling the rpmfusion repositories:

For EL5:
Code:
su -c 'rpm -Uvh http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm'

For EL6:
Code:
su -c 'rpm -Uvh http://download.fedoraproject.org/pub/epel/5/i386/epel-release-6-7.noarch.rpm'

Now you can enable the rpmfusion repositories:

For RHEL5 and CentOS:

Code:
su -c 'rpm -Uvh http://download1.rpmfusion.org/free/el/updates/5/i386/rpmfusion-free-release-5-1.noarch.rpm http://download1.rpmfusion.org/nonfree/el/updates/5/i386/rpmfusion-nonfree-release-5-1.noarch.rpm'

For RHEL6 and CentOS:

Code:
su -c 'yum localinstall --nogpgcheck http://download1.rpmfusion.org/free/el/updates/6/i386/rpmfusion-free-release-6-1.noarch.rpm http://download1.rpmfusion.org/nonfree/el/updates/6/i386/rpmfusion-nonfree-release-6-1.noarch.rpm'
legendary
Activity: 906
Merit: 1002
August 05, 2012, 06:40:54 AM
#23
Im sorry for the missunderstanding here, but the devel package has already been installed on the system BEFORE i started this thread....

regarding

gcc -l

I added -L /lib64, even if that is useless because as you can see in the verbosed output i posted before, "-L/lib/../lib64" is already loaded and does the same. As result, nothing chaged, same error.
SAC
sr. member
Activity: 322
Merit: 250
August 05, 2012, 06:26:17 AM
#22
Do i read this correct, my path look like:

Code:
DEPSDIR=/home/bitcoin/Bitcoin/Deps
INCLUDEPATHS= -I"$(DEPSDIR)/include"
LIBPATHS= -L"$(DEPSDIR)/lib"

so I am supposed now to install glibc into /home/bitcoin/Bitcoin/Deps/lib right? Is it ok to just copy the devel files into the Deps/lib directory?

You could copy since that is a non-system directory but you really want the files where the system expects them to be so install the -devel package you need then any others that are not available as .rpm compile from source with the --prefix set, it may be --PREFIX= all capitals been a while.. Once you have done this for all the files needed you should be good to go one thing to pay attention to is when compiling make sure you get the correct version numbers most times it is good to go with the most recent version. And putting the Deps directory it is asking for in your normal user home directory (/home/username/Bitcoin/Deps) is better it is not a good idea to be compiling as root. Your example there should be better than the one you had before and I see it is a 64bit your going for if the Centos is as stupid as my mac pro for getting a proper 64bit bit or any other coin daemon for that matter then you may want to do this in the terminal window you are compiling in, to tell it you want the 64bit.

Code:
export CFLAGS="-arch x86_64"
export LDFLAGS="-arch x86_64"
legendary
Activity: 906
Merit: 1002
August 05, 2012, 05:42:08 AM
#21
Do i read this correct, my path look like:

Code:
DEPSDIR=/home/bitcoin/Bitcoin/Deps
INCLUDEPATHS= -I"$(DEPSDIR)/include"
LIBPATHS= -L"$(DEPSDIR)/lib"

so I am supposed now to install glibc into /home/bitcoin/Bitcoin/Deps/lib right? Is it ok to just copy the devel files into the Deps/lib directory?
SAC
sr. member
Activity: 322
Merit: 250
August 04, 2012, 11:18:04 PM
#20
Code:
apt-get install glibc
Reading Package Lists... Done
Building Dependency Tree... Done
glibc is already the newest version.
0 upgraded, 0 newly installed, 0 removed and 1 not upgraded.

its already installed ...


the full content of glib-devel is:

Code:
rpm2cpio glibc-devel-2.5-81.el5_8.1.x86_64.rpm | cpio -idmv
./usr/include/gnu/stubs-64.h
./usr/lib64/Mcrt1.o
./usr/lib64/Scrt1.o
./usr/lib64/crt1.o
./usr/lib64/crti.o
./usr/lib64/crtn.o
./usr/lib64/gcrt1.o
./usr/lib64/libBrokenLocale.a
./usr/lib64/libBrokenLocale.so
./usr/lib64/libanl.a
./usr/lib64/libanl.so
./usr/lib64/libbsd-compat.a
./usr/lib64/libbsd.a
./usr/lib64/libc.a
./usr/lib64/libc.so
./usr/lib64/libc_nonshared.a
./usr/lib64/libc_stubs.a
./usr/lib64/libcidn.so
./usr/lib64/libcrypt.a
./usr/lib64/libcrypt.so
./usr/lib64/libdl.a
./usr/lib64/libdl.so
./usr/lib64/libg.a
./usr/lib64/libieee.a
./usr/lib64/libm.a
./usr/lib64/libm.so
./usr/lib64/libmcheck.a
./usr/lib64/libnsl.a
./usr/lib64/libnsl.so
./usr/lib64/libnss_compat.so
./usr/lib64/libnss_dns.so
./usr/lib64/libnss_files.so
./usr/lib64/libnss_hesiod.so
./usr/lib64/libnss_nis.so
./usr/lib64/libnss_nisplus.so
./usr/lib64/libpthread.a
./usr/lib64/libpthread.so
./usr/lib64/libpthread_nonshared.a
./usr/lib64/libresolv.a
./usr/lib64/libresolv.so
./usr/lib64/librpcsvc.a
./usr/lib64/librt.a
./usr/lib64/librt.so
./usr/lib64/librtkaio.a
./usr/lib64/libthread_db.so
./usr/lib64/libutil.a
./usr/lib64/libutil.so
./usr/share/info/libc.info-1.gz
./usr/share/info/libc.info-10.gz
./usr/share/info/libc.info-11.gz
./usr/share/info/libc.info-2.gz
./usr/share/info/libc.info-3.gz
./usr/share/info/libc.info-4.gz
./usr/share/info/libc.info-5.gz
./usr/share/info/libc.info-6.gz
./usr/share/info/libc.info-7.gz
./usr/share/info/libc.info-8.gz
./usr/share/info/libc.info-9.gz
./usr/share/info/libc.info.gz

am i supposed to link now every .a file with -l or what?

No you are supposed to have that glibc-devel package install so the system can find the development files that are needed when compiling any other errors that require a missing file same with that package you need the -devel of it installed.

As well this part in your makefile.centos it is telling the system to look in other than system directories to find your required to compile files. You need to either remove the DEPSDIR environment variables from it to let it find the required files in/on your system or actually compile every individual package required from source installed in that directory. You would do that by using a ./configure --prefix=/root/Bitcoin/Deps when building the packages from source so when you do the make install step it puts the files in the directory you specify in the makefile.centos.

Code:

DEPSDIR=/root/Bitcoin/Deps


INCLUDEPATHS= -I"$(DEPSDIR)/include"
LIBPATHS= -L"$(DEPSDIR)/lib"
legendary
Activity: 1498
Merit: 1000
August 04, 2012, 10:25:35 PM
#19
I was presenting simple solution. This isn't an UNSECURED method either.

Why does it need to be CentOS and not something simpler such as Ubuntu?

simple is not always secure. plus blockchain doesn't give you that much control over it. Plus their RPC settings become in more insecure as they disable a lot of there security features.

Ubuntu server IS HORRIBLE *THROWS UP* Ubuntu is a desktop OS, that is it. Centos is beast for servers, while bitcoind is a pain in the ass to setup in centos, it will be worth it if you set it up correctly.
member
Activity: 98
Merit: 10
(:firstbits => "1mantis")
August 04, 2012, 10:09:10 PM
#18
Getting this :/

Code:
make -f makefile.new bitcoind
g++ -pthread -Wextra -Wno-sign-compare -Wno-char-subscripts -Wno-invalid-offsetof -Wformat-security -g -DNOPCH -I/home/bitcoin/Bitcoin/Libraries/bitcoin-master/src -DUSE_SSL -fno-stack-protector -fstack-protector-all -Wstack-protector -Wl,-z,relro -Wl,-z,now -D_FORTIFY_SOURCE=2 -O2 -I"/home/bitcoin/Bitcoin/Deps/include" -static -o bitcoind obj/checkpoints.o obj/version.o obj/addrman.o obj/netbase.o obj/crypter.o obj/key.o obj/db.o obj/init.o obj/irc.o obj/keystore.o obj/main.o obj/net.o obj/protocol.o obj/bitcoinrpc.o obj/rpcdump.o obj/script.o obj/util.o obj/wallet.o obj/walletdb.o obj/noui.o   -Wl,-Bstatic -mtl /home/bitcoin/Bitcoin/Deps/lib/libboost_system.a -mtl /home/bitcoin/Bitcoin/Deps/lib/libboost_filesystem.a -mtl /home/bitcoin/Bitcoin/Deps/lib/libboost_program_options.a -mtl /home/bitcoin/Bitcoin/Deps/lib/libboost_thread.a /home/bitcoin/Bitcoin/Deps/lib/libdb_cxx.a -mtl /home/bitcoin/Bitcoin/Deps/lib/libssl.a -mtl /home/bitcoin/Bitcoin/Deps/lib/libcrypto.a -lgcc -Wl,-Bstatic -l z -l dl -l pthread
/home/bitcoin/Bitcoin/Deps/lib/libcrypto.a(dso_dlfcn.o): In function `dlfcn_globallookup':
dso_dlfcn.c:(.text+0x30): warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
obj/netbase.o: In function `LookupIntern':
/home/bitcoin/Bitcoin/Libraries/bitcoin-master/src/netbase.cpp:90: warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
obj/bitcoinrpc.o: In function `__static_initialization_and_destruction_0':
/home/bitcoin/Bitcoin/Libraries/bitcoin-master/src/bitcoinrpc.cpp:2141: undefined reference to `getconnectioncount(std::vector, std::allocator > > >, std::allocator, std::allocator > > > > > const&, bool)'
/home/bitcoin/Bitcoin/Libraries/bitcoin-master/src/bitcoinrpc.cpp:2141: undefined reference to `getpeerinfo(std::vector, std::allocator > > >, std::allocator, std::allocator > > > > > const&, bool)'
/home/bitcoin/Bitcoin/Libraries/bitcoin-master/src/bitcoinrpc.cpp:2141: undefined reference to `listunspent(std::vector, std::allocator > > >, std::allocator, std::allocator > > > > > const&, bool)'
/home/bitcoin/Bitcoin/Libraries/bitcoin-master/src/bitcoinrpc.cpp:2141: undefined reference to `getrawtransaction(std::vector, std::allocator > > >, std::allocator, std::allocator > > > > > const&, bool)'
/home/bitcoin/Bitcoin/Libraries/bitcoin-master/src/bitcoinrpc.cpp:2141: undefined reference to `createrawtransaction(std::vector, std::allocator > > >, std::allocator, std::allocator > > > > > const&, bool)'
/home/bitcoin/Bitcoin/Libraries/bitcoin-master/src/bitcoinrpc.cpp:2141: undefined reference to `decoderawtransaction(std::vector, std::allocator > > >, std::allocator, std::allocator > > > > > const&, bool)'
/home/bitcoin/Bitcoin/Libraries/bitcoin-master/src/bitcoinrpc.cpp:2141: undefined reference to `signrawtransaction(std::vector, std::allocator > > >, std::allocator, std::allocator > > > > > const&, bool)'
/home/bitcoin/Bitcoin/Libraries/bitcoin-master/src/bitcoinrpc.cpp:2141: undefined reference to `sendrawtransaction(std::vector, std::allocator > > >, std::allocator, std::allocator > > > > > const&, bool)'
collect2: ld returned 1 exit status
make: *** [bitcoind] Error 1

you don't have all the dependencies installed, you need to install glibc and try again


My suggestion is to not run bitcoind and to rely on a web wallet that has API calls similar to bitcoind such as blockchain.info

https://blockchain.info/json_rpc_api

1MANTisca9kS6t4bngzuU4GBgE1S1L7q2U

THAT IS EVEN WORST THAN RUNNING AN UNSECURED BITCOIND

I was presenting simple solution. This isn't an UNSECURED method either.

Why does it need to be CentOS and not something simpler such as Ubuntu?
legendary
Activity: 1498
Merit: 1000
August 04, 2012, 08:26:05 PM
#17
gcc -l
legendary
Activity: 906
Merit: 1002
August 04, 2012, 08:18:18 PM
#16
you probably want to use -l when compiling and point to your glibc library

and tha means what?

the full content of glib-devel is:

Code:
rpm2cpio glibc-devel-2.5-81.el5_8.1.x86_64.rpm | cpio -idmv
./usr/include/gnu/stubs-64.h
./usr/lib64/Mcrt1.o
./usr/lib64/Scrt1.o
./usr/lib64/crt1.o
./usr/lib64/crti.o
./usr/lib64/crtn.o
./usr/lib64/gcrt1.o
./usr/lib64/libBrokenLocale.a
./usr/lib64/libBrokenLocale.so
./usr/lib64/libanl.a
./usr/lib64/libanl.so
./usr/lib64/libbsd-compat.a
./usr/lib64/libbsd.a
./usr/lib64/libc.a
./usr/lib64/libc.so
./usr/lib64/libc_nonshared.a
./usr/lib64/libc_stubs.a
./usr/lib64/libcidn.so
./usr/lib64/libcrypt.a
./usr/lib64/libcrypt.so
./usr/lib64/libdl.a
./usr/lib64/libdl.so
./usr/lib64/libg.a
./usr/lib64/libieee.a
./usr/lib64/libm.a
./usr/lib64/libm.so
./usr/lib64/libmcheck.a
./usr/lib64/libnsl.a
./usr/lib64/libnsl.so
./usr/lib64/libnss_compat.so
./usr/lib64/libnss_dns.so
./usr/lib64/libnss_files.so
./usr/lib64/libnss_hesiod.so
./usr/lib64/libnss_nis.so
./usr/lib64/libnss_nisplus.so
./usr/lib64/libpthread.a
./usr/lib64/libpthread.so
./usr/lib64/libpthread_nonshared.a
./usr/lib64/libresolv.a
./usr/lib64/libresolv.so
./usr/lib64/librpcsvc.a
./usr/lib64/librt.a
./usr/lib64/librt.so
./usr/lib64/librtkaio.a
./usr/lib64/libthread_db.so
./usr/lib64/libutil.a
./usr/lib64/libutil.so
./usr/share/info/libc.info-1.gz
./usr/share/info/libc.info-10.gz
./usr/share/info/libc.info-11.gz
./usr/share/info/libc.info-2.gz
./usr/share/info/libc.info-3.gz
./usr/share/info/libc.info-4.gz
./usr/share/info/libc.info-5.gz
./usr/share/info/libc.info-6.gz
./usr/share/info/libc.info-7.gz
./usr/share/info/libc.info-8.gz
./usr/share/info/libc.info-9.gz
./usr/share/info/libc.info.gz

am i supposed to link now every .a file with -l or what?
legendary
Activity: 1498
Merit: 1000
August 04, 2012, 06:53:53 PM
#15
you probably want to use -l when compiling and point to your glibc library
legendary
Activity: 906
Merit: 1002
August 04, 2012, 06:27:20 PM
#14
It is your compiler not seeing and linking to your glibc as it compiles. First off

hm  so how do I get this linked properly? cause I have no idea what im looking for. Read alot about libgcc/ libstdc++ / libc ...

read this here about static linking http://www.trilithium.com/johan/2005/06/static-libstdc/

and I still have no clue at all what I have to do...

below the verbosed output which includes -L/lib/../lib64 so the compiler should find it:

Code:
make -f makefile.new bitcoind
g++ -v -pthread -Wextra -Wno-sign-compare -Wno-char-subscripts -Wno-invalid-offsetof -Wformat-security -g -DNOPCH -I/home/bitcoin/Bitcoin/Libraries/bitcoin-master/src -DUSE_SSL -fno-stack-protector -fstack-protector-all -Wstack-protector -Wl,-z,relro -Wl,-z,now -D_FORTIFY_SOURCE=2 -O2 -I"/home/bitcoin/Bitcoin/Deps/include" -static -o bitcoind obj/checkpoints.o obj/version.o obj/addrman.o obj/netbase.o obj/crypter.o obj/key.o obj/db.o obj/init.o obj/irc.o obj/keystore.o obj/main.o obj/net.o obj/protocol.o obj/bitcoinrpc.o obj/rpcdump.o obj/script.o obj/util.o obj/wallet.o obj/walletdb.o obj/noui.o   -Wl,-Bstatic -mtl /home/bitcoin/Bitcoin/Deps/lib/libboost_system.a -mtl /home/bitcoin/Bitcoin/Deps/lib/libboost_filesystem.a -mtl /home/bitcoin/Bitcoin/Deps/lib/libboost_program_options.a -mtl /home/bitcoin/Bitcoin/Deps/lib/libboost_thread.a /home/bitcoin/Bitcoin/Deps/lib/libdb_cxx.a -mtl /home/bitcoin/Bitcoin/Deps/lib/libssl.a -mtl /usr/lib64/libc.a -mtl /home/bitcoin/Bitcoin/Deps/lib/libcrypto.a -lgcc -Wl,-Bstatic -l z -l dl -l pthread
Using built-in specs.
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-libgcj-multifile --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --disable-plugin --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre --with-cpu=generic --host=x86_64-redhat-linux
Thread model: posix
gcc version 4.1.2 20080704 (Red Hat 4.1.2-51)
 /usr/libexec/gcc/x86_64-redhat-linux/4.1.2/collect2 -m elf_x86_64 --hash-style=gnu -static -o bitcoind /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/4.1.2/crtbeginT.o -L/usr/lib/gcc/x86_64-redhat-linux/4.1.2 -L/usr/lib/gcc/x86_64-redhat-linux/4.1.2 -L/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -z relro -z now obj/checkpoints.o obj/version.o obj/addrman.o obj/netbase.o obj/crypter.o obj/key.o obj/db.o obj/init.o obj/irc.o obj/keystore.o obj/main.o obj/net.o obj/protocol.o obj/bitcoinrpc.o obj/rpcdump.o obj/script.o obj/util.o obj/wallet.o obj/walletdb.o obj/noui.o -Bstatic /home/bitcoin/Bitcoin/Deps/lib/libboost_system.a /home/bitcoin/Bitcoin/Deps/lib/libboost_filesystem.a /home/bitcoin/Bitcoin/Deps/lib/libboost_program_options.a /home/bitcoin/Bitcoin/Deps/lib/libboost_thread.a /home/bitcoin/Bitcoin/Deps/lib/libdb_cxx.a /home/bitcoin/Bitcoin/Deps/lib/libssl.a /usr/lib64/libc.a /home/bitcoin/Bitcoin/Deps/lib/libcrypto.a -lgcc -Bstatic -lz -ldl -lpthread -lstdc++ -lm --start-group -lgcc -lgcc_eh -lpthread -lc --end-group /usr/lib/gcc/x86_64-redhat-linux/4.1.2/crtend.o /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/crtn.o
obj/netbase.o: In function `LookupIntern':
/home/bitcoin/Bitcoin/Libraries/bitcoin-master/src/netbase.cpp:90: warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/home/bitcoin/Bitcoin/Deps/lib/libcrypto.a(dso_dlfcn.o): In function `dlfcn_globallookup':
dso_dlfcn.c:(.text+0x30): warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libpthread.a(lowlevellock.o): In function `__lll_lock_wait_private':
(.text+0x0): multiple definition of `__lll_lock_wait_private'
/usr/lib64/libc.a(libc-lowlevellock.o):(.text+0x0): first defined here
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libpthread.a(lowlevellock.o): In function `__lll_unlock_wake_private':
(.text+0x140): multiple definition of `__lll_unlock_wake_private'
/usr/lib64/libc.a(libc-lowlevellock.o):(.text+0x30): first defined here
obj/bitcoinrpc.o: In function `__static_initialization_and_destruction_0':
/home/bitcoin/Bitcoin/Libraries/bitcoin-master/src/bitcoinrpc.cpp:2141: undefined reference to `getconnectioncount(std::vector, std::allocator > > >, std::allocator, std::allocator > > > > > const&, bool)'
/home/bitcoin/Bitcoin/Libraries/bitcoin-master/src/bitcoinrpc.cpp:2141: undefined reference to `getpeerinfo(std::vector, std::allocator > > >, std::allocator, std::allocator > > > > > const&, bool)'
/home/bitcoin/Bitcoin/Libraries/bitcoin-master/src/bitcoinrpc.cpp:2141: undefined reference to `listunspent(std::vector, std::allocator > > >, std::allocator, std::allocator > > > > > const&, bool)'
/home/bitcoin/Bitcoin/Libraries/bitcoin-master/src/bitcoinrpc.cpp:2141: undefined reference to `getrawtransaction(std::vector, std::allocator > > >, std::allocator, std::allocator > > > > > const&, bool)'
/home/bitcoin/Bitcoin/Libraries/bitcoin-master/src/bitcoinrpc.cpp:2141: undefined reference to `createrawtransaction(std::vector, std::allocator > > >, std::allocator, std::allocator > > > > > const&, bool)'
/home/bitcoin/Bitcoin/Libraries/bitcoin-master/src/bitcoinrpc.cpp:2141: undefined reference to `decoderawtransaction(std::vector, std::allocator > > >, std::allocator, std::allocator > > > > > const&, bool)'
/home/bitcoin/Bitcoin/Libraries/bitcoin-master/src/bitcoinrpc.cpp:2141: undefined reference to `signrawtransaction(std::vector, std::allocator > > >, std::allocator, std::allocator > > > > > const&, bool)'
/home/bitcoin/Bitcoin/Libraries/bitcoin-master/src/bitcoinrpc.cpp:2141: undefined reference to `sendrawtransaction(std::vector, std::allocator > > >, std::allocator, std::allocator > > > > > const&, bool)'
collect2: ld returned 1 exit status
make: *** [bitcoind] Error 1


Also found this http://gcc.gnu.org/onlinedocs/gcc/Link-Options.html
which confused me even more listing -static-libgcc and -static-libstdc++ as gcc linking options... but i think that i can ignore that because -static is already telling the compiler to link libstdc++/libgcc static ...
legendary
Activity: 1498
Merit: 1000
August 04, 2012, 05:29:27 PM
#13
It is your compiler not seeing and linking to your glibc as it compiles. First off
Quote
Looks like the compiler doesnt find the rpcnet.cpp and rcprawtransaction.cpp .. which are in the same folder like the rpcdump.cpp

that is par of the bitcoin code and it is giving off the crash because, the compiler doesn't see your glibc and is tell you that, then will it compiles those parts those are the parts that need glibc and can't continue with out it.



legendary
Activity: 906
Merit: 1002
August 04, 2012, 04:16:53 PM
#12
You need to check your system path variables

Code:
echo $PATH
/usr/lib64/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

Code:
locate glibc
/home/prereqs/yasm-0.8.0/m4/glibc21.m4
/usr/include/php/ext/iconv/php_have_glibc_iconv.h
/usr/sbin/glibc_post_upgrade.i686
/usr/sbin/glibc_post_upgrade.x86_64
/usr/share/doc/glibc-2.5
/usr/share/doc/glibc-common-2.5
/usr/share/doc/glibc-2.5/BUGS
/usr/share/doc/glibc-2.5/CONFORMANCE
/usr/share/doc/glibc-2.5/COPYING
/usr/share/doc/glibc-2.5/COPYING.LIB
/usr/share/doc/glibc-2.5/FAQ
/usr/share/doc/glibc-2.5/INSTALL
/usr/share/doc/glibc-2.5/LICENSES
/usr/share/doc/glibc-2.5/NEWS
/usr/share/doc/glibc-2.5/NOTES
/usr/share/doc/glibc-2.5/PROJECTS
/usr/share/doc/glibc-2.5/README
/usr/share/doc/glibc-2.5/README.hesiod
/usr/share/doc/glibc-2.5/README.libm
/usr/share/doc/glibc-common-2.5/ChangeLog.15.bz2
/usr/share/doc/glibc-common-2.5/ChangeLog.16.bz2
/usr/share/doc/glibc-common-2.5/ChangeLog.bz2
/usr/share/doc/glibc-common-2.5/README.timezone
/usr/share/doc/glibc-common-2.5/README.ufc-crypt
/usr/share/doc/glibc-common-2.5/gai.conf

If I would know which path to include now because i dont see any header / c files....

Code:
locate libc.a
/usr/lib/bcc/libc.a
/usr/lib/bcc/i386/libc.a
/usr/lib64/libc.a

so is /usr/lib64/libc.a the file im looking for? As I understand the "output" the glib things are only warnigns and do not cause the crash. the problem are the errors saying

Code:
/home/bitcoin/Bitcoin/Libraries/bitcoin-master/src/bitcoinrpc.cpp:2141: undefined reference to `getconnectioncount(std::vector, std::allocator > > >, std::allocator, std::allocator > > > > > const&, bool)'
/home/bitcoin/Bitcoin/Libraries/bitcoin-master/src/bitcoinrpc.cpp:2141: undefined reference to `getpeerinfo(std::vector, std::allocator > > >, std::allocator, std::allocator > > > > > const&, bool)'
/home/bitcoin/Bitcoin/Libraries/bitcoin-master/src/bitcoinrpc.cpp:2141: undefined reference to `listunspent(std::vector, std::allocator > > >, std::allocator, std::allocator > > > > > const&, bool)'
/home/bitcoin/Bitcoin/Libraries/bitcoin-master/src/bitcoinrpc.cpp:2141: undefined reference to `getrawtransaction(std::vector, std::allocator > > >, std::allocator, std::allocator > > > > > const&, bool)'
/home/bitcoin/Bitcoin/Libraries/bitcoin-master/src/bitcoinrpc.cpp:2141: undefined reference to `createrawtransaction(std::vector, std::allocator > > >, std::allocator, std::allocator > > > > > const&, bool)'
/home/bitcoin/Bitcoin/Libraries/bitcoin-master/src/bitcoinrpc.cpp:2141: undefined reference to `decoderawtransaction(std::vector, std::allocator > > >, std::allocator, std::allocator > > > > > const&, bool)'
/home/bitcoin/Bitcoin/Libraries/bitcoin-master/src/bitcoinrpc.cpp:2141: undefined reference to `signrawtransaction(std::vector, std::allocator > > >, std::allocator, std::allocator > > > > > const&, bool)'
/home/bitcoin/Bitcoin/Libraries/bitcoin-master/src/bitcoinrpc.cpp:2141: undefined reference to `sendrawtransaction(std::vector, std::allocator > > >, std::allocator, std::allocator > > > > > const&, bool)'
collect2: ld returned 1 exit status
make: *** [bitcoind] Error 1

When I check the bitcoinrpc.cpp i find that:

Code:
extern Value getconnectioncount(const Array& params, bool fHelp); // in rpcnet.cpp
extern Value getpeerinfo(const Array& params, bool fHelp);
extern Value dumpprivkey(const Array& params, bool fHelp); // in rpcdump.cpp
extern Value importprivkey(const Array& params, bool fHelp);
extern Value getrawtransaction(const Array& params, bool fHelp); // in rcprawtransaction.cpp
extern Value listunspent(const Array& params, bool fHelp);
extern Value createrawtransaction(const Array& params, bool fHelp);
extern Value decoderawtransaction(const Array& params, bool fHelp);
extern Value signrawtransaction(const Array& params, bool fHelp);
extern Value sendrawtransaction(const Array& params, bool fHelp);

Looks like the compiler doesnt find the rpcnet.cpp and rcprawtransaction.cpp .. which are in the same folder like the rpcdump.cpp
legendary
Activity: 1498
Merit: 1000
August 04, 2012, 04:13:15 PM
#11
$50 bounty added ... (please make explanations understandable, im a noob when it comes to server management)

you could try making a bounty on Rugatu and see how it goes  Roll Eyes

don't put it on rugatu otherwise your bitcoins will be send with out your consent


Stop trolling or accusing without proof, that's lame.

Disclosure: gweedo is the owner of a competing service named bitquestion.com

GET YOUR FACTS STRAIGHT I AM NOT THE OWNER OF BITQUESTION.COM STOP TROLLING ME AND THERE IS PROOF SEARCH THE FORUMS

Code:
apt-get install glibc
Reading Package Lists... Done
Building Dependency Tree... Done
glibc is already the newest version.
0 upgraded, 0 newly installed, 0 removed and 1 not upgraded.

its already installed ...

you then need to check to make sure that the compiler can see it and it is linked correctly

and ... how do i make that?

You need to check your system path variables
legendary
Activity: 906
Merit: 1002
August 04, 2012, 04:12:00 PM
#10
Code:
apt-get install glibc
Reading Package Lists... Done
Building Dependency Tree... Done
glibc is already the newest version.
0 upgraded, 0 newly installed, 0 removed and 1 not upgraded.

its already installed ...

you then need to check to make sure that the compiler can see it and it is linked correctly

and ... how do i make that?
full member
Activity: 182
Merit: 100
August 04, 2012, 04:09:38 PM
#9

don't put it on rugatu otherwise your bitcoins will be send with out your consent


Stop trolling or accusing without proof, that's lame.

Disclosure: gweedo is the owner of a competing service named bitquestion.com
legendary
Activity: 1498
Merit: 1000
August 04, 2012, 04:03:30 PM
#8
$50 bounty added ... (please make explanations understandable, im a noob when it comes to server management)

you could try making a bounty on Rugatu and see how it goes  Roll Eyes

don't put it on rugatu otherwise your bitcoins will be send with out your consent

Code:
apt-get install glibc
Reading Package Lists... Done
Building Dependency Tree... Done
glibc is already the newest version.
0 upgraded, 0 newly installed, 0 removed and 1 not upgraded.

its already installed ...

you then need to check to make sure that the compiler can see it and it is linked correctly

legendary
Activity: 906
Merit: 1002
August 04, 2012, 03:56:24 PM
#7
Code:
apt-get install glibc
Reading Package Lists... Done
Building Dependency Tree... Done
glibc is already the newest version.
0 upgraded, 0 newly installed, 0 removed and 1 not upgraded.

its already installed ...

Btw I only need the bitcoind to fund the user accounts according to the payment they made. the actual wallet with the private key will be saved on another machine.
legendary
Activity: 1498
Merit: 1000
August 04, 2012, 03:50:15 PM
#6
Getting this :/

Code:
make -f makefile.new bitcoind
g++ -pthread -Wextra -Wno-sign-compare -Wno-char-subscripts -Wno-invalid-offsetof -Wformat-security -g -DNOPCH -I/home/bitcoin/Bitcoin/Libraries/bitcoin-master/src -DUSE_SSL -fno-stack-protector -fstack-protector-all -Wstack-protector -Wl,-z,relro -Wl,-z,now -D_FORTIFY_SOURCE=2 -O2 -I"/home/bitcoin/Bitcoin/Deps/include" -static -o bitcoind obj/checkpoints.o obj/version.o obj/addrman.o obj/netbase.o obj/crypter.o obj/key.o obj/db.o obj/init.o obj/irc.o obj/keystore.o obj/main.o obj/net.o obj/protocol.o obj/bitcoinrpc.o obj/rpcdump.o obj/script.o obj/util.o obj/wallet.o obj/walletdb.o obj/noui.o   -Wl,-Bstatic -mtl /home/bitcoin/Bitcoin/Deps/lib/libboost_system.a -mtl /home/bitcoin/Bitcoin/Deps/lib/libboost_filesystem.a -mtl /home/bitcoin/Bitcoin/Deps/lib/libboost_program_options.a -mtl /home/bitcoin/Bitcoin/Deps/lib/libboost_thread.a /home/bitcoin/Bitcoin/Deps/lib/libdb_cxx.a -mtl /home/bitcoin/Bitcoin/Deps/lib/libssl.a -mtl /home/bitcoin/Bitcoin/Deps/lib/libcrypto.a -lgcc -Wl,-Bstatic -l z -l dl -l pthread
/home/bitcoin/Bitcoin/Deps/lib/libcrypto.a(dso_dlfcn.o): In function `dlfcn_globallookup':
dso_dlfcn.c:(.text+0x30): warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
obj/netbase.o: In function `LookupIntern':
/home/bitcoin/Bitcoin/Libraries/bitcoin-master/src/netbase.cpp:90: warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
obj/bitcoinrpc.o: In function `__static_initialization_and_destruction_0':
/home/bitcoin/Bitcoin/Libraries/bitcoin-master/src/bitcoinrpc.cpp:2141: undefined reference to `getconnectioncount(std::vector, std::allocator > > >, std::allocator, std::allocator > > > > > const&, bool)'
/home/bitcoin/Bitcoin/Libraries/bitcoin-master/src/bitcoinrpc.cpp:2141: undefined reference to `getpeerinfo(std::vector, std::allocator > > >, std::allocator, std::allocator > > > > > const&, bool)'
/home/bitcoin/Bitcoin/Libraries/bitcoin-master/src/bitcoinrpc.cpp:2141: undefined reference to `listunspent(std::vector, std::allocator > > >, std::allocator, std::allocator > > > > > const&, bool)'
/home/bitcoin/Bitcoin/Libraries/bitcoin-master/src/bitcoinrpc.cpp:2141: undefined reference to `getrawtransaction(std::vector, std::allocator > > >, std::allocator, std::allocator > > > > > const&, bool)'
/home/bitcoin/Bitcoin/Libraries/bitcoin-master/src/bitcoinrpc.cpp:2141: undefined reference to `createrawtransaction(std::vector, std::allocator > > >, std::allocator, std::allocator > > > > > const&, bool)'
/home/bitcoin/Bitcoin/Libraries/bitcoin-master/src/bitcoinrpc.cpp:2141: undefined reference to `decoderawtransaction(std::vector, std::allocator > > >, std::allocator, std::allocator > > > > > const&, bool)'
/home/bitcoin/Bitcoin/Libraries/bitcoin-master/src/bitcoinrpc.cpp:2141: undefined reference to `signrawtransaction(std::vector, std::allocator > > >, std::allocator, std::allocator > > > > > const&, bool)'
/home/bitcoin/Bitcoin/Libraries/bitcoin-master/src/bitcoinrpc.cpp:2141: undefined reference to `sendrawtransaction(std::vector, std::allocator > > >, std::allocator, std::allocator > > > > > const&, bool)'
collect2: ld returned 1 exit status
make: *** [bitcoind] Error 1

you don't have all the dependencies installed, you need to install glibc and try again


My suggestion is to not run bitcoind and to rely on a web wallet that has API calls similar to bitcoind such as blockchain.info

https://blockchain.info/json_rpc_api

1MANTisca9kS6t4bngzuU4GBgE1S1L7q2U

THAT IS EVEN WORST THAN RUNNING AN UNSECURED BITCOIND
member
Activity: 98
Merit: 10
(:firstbits => "1mantis")
August 04, 2012, 03:46:20 PM
#5
My suggestion is to not run bitcoind and to rely on a web wallet that has API calls similar to bitcoind such as blockchain.info

https://blockchain.info/json_rpc_api

1MANTisca9kS6t4bngzuU4GBgE1S1L7q2U
legendary
Activity: 906
Merit: 1002
August 04, 2012, 03:44:23 PM
#4
Getting this :/

Code:
make -f makefile.new bitcoind
g++ -pthread -Wextra -Wno-sign-compare -Wno-char-subscripts -Wno-invalid-offsetof -Wformat-security -g -DNOPCH -I/home/bitcoin/Bitcoin/Libraries/bitcoin-master/src -DUSE_SSL -fno-stack-protector -fstack-protector-all -Wstack-protector -Wl,-z,relro -Wl,-z,now -D_FORTIFY_SOURCE=2 -O2 -I"/home/bitcoin/Bitcoin/Deps/include" -static -o bitcoind obj/checkpoints.o obj/version.o obj/addrman.o obj/netbase.o obj/crypter.o obj/key.o obj/db.o obj/init.o obj/irc.o obj/keystore.o obj/main.o obj/net.o obj/protocol.o obj/bitcoinrpc.o obj/rpcdump.o obj/script.o obj/util.o obj/wallet.o obj/walletdb.o obj/noui.o   -Wl,-Bstatic -mtl /home/bitcoin/Bitcoin/Deps/lib/libboost_system.a -mtl /home/bitcoin/Bitcoin/Deps/lib/libboost_filesystem.a -mtl /home/bitcoin/Bitcoin/Deps/lib/libboost_program_options.a -mtl /home/bitcoin/Bitcoin/Deps/lib/libboost_thread.a /home/bitcoin/Bitcoin/Deps/lib/libdb_cxx.a -mtl /home/bitcoin/Bitcoin/Deps/lib/libssl.a -mtl /home/bitcoin/Bitcoin/Deps/lib/libcrypto.a -lgcc -Wl,-Bstatic -l z -l dl -l pthread
/home/bitcoin/Bitcoin/Deps/lib/libcrypto.a(dso_dlfcn.o): In function `dlfcn_globallookup':
dso_dlfcn.c:(.text+0x30): warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
obj/netbase.o: In function `LookupIntern':
/home/bitcoin/Bitcoin/Libraries/bitcoin-master/src/netbase.cpp:90: warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
obj/bitcoinrpc.o: In function `__static_initialization_and_destruction_0':
/home/bitcoin/Bitcoin/Libraries/bitcoin-master/src/bitcoinrpc.cpp:2141: undefined reference to `getconnectioncount(std::vector, std::allocator > > >, std::allocator, std::allocator > > > > > const&, bool)'
/home/bitcoin/Bitcoin/Libraries/bitcoin-master/src/bitcoinrpc.cpp:2141: undefined reference to `getpeerinfo(std::vector, std::allocator > > >, std::allocator, std::allocator > > > > > const&, bool)'
/home/bitcoin/Bitcoin/Libraries/bitcoin-master/src/bitcoinrpc.cpp:2141: undefined reference to `listunspent(std::vector, std::allocator > > >, std::allocator, std::allocator > > > > > const&, bool)'
/home/bitcoin/Bitcoin/Libraries/bitcoin-master/src/bitcoinrpc.cpp:2141: undefined reference to `getrawtransaction(std::vector, std::allocator > > >, std::allocator, std::allocator > > > > > const&, bool)'
/home/bitcoin/Bitcoin/Libraries/bitcoin-master/src/bitcoinrpc.cpp:2141: undefined reference to `createrawtransaction(std::vector, std::allocator > > >, std::allocator, std::allocator > > > > > const&, bool)'
/home/bitcoin/Bitcoin/Libraries/bitcoin-master/src/bitcoinrpc.cpp:2141: undefined reference to `decoderawtransaction(std::vector, std::allocator > > >, std::allocator, std::allocator > > > > > const&, bool)'
/home/bitcoin/Bitcoin/Libraries/bitcoin-master/src/bitcoinrpc.cpp:2141: undefined reference to `signrawtransaction(std::vector, std::allocator > > >, std::allocator, std::allocator > > > > > const&, bool)'
/home/bitcoin/Bitcoin/Libraries/bitcoin-master/src/bitcoinrpc.cpp:2141: undefined reference to `sendrawtransaction(std::vector, std::allocator > > >, std::allocator, std::allocator > > > > > const&, bool)'
collect2: ld returned 1 exit status
make: *** [bitcoind] Error 1
legendary
Activity: 1498
Merit: 1000
August 04, 2012, 01:29:56 PM
#3
$50 bounty added ... (please make explanations understandable, im a noob when it comes to server management)

If your a noob then running a bitcoind isn't for you. I think people running bitcoind should know linux security. Cause you are the same people that complain when your wallet gets hacked and it could have been prevented if you just knew about linux security and how to protect your bitcoind.

btw here is the script that will install it

https://github.com/weex/bitcoind-centos
legendary
Activity: 906
Merit: 1002
August 04, 2012, 01:25:48 PM
#2
$50 bounty added ... (please make explanations understandable, im a noob when it comes to server management)
legendary
Activity: 906
Merit: 1002
August 02, 2012, 06:56:58 PM
#1
trying now the whole day to get the bitcoind running on my CentOS 5.6 server but without success.


I found this

http://www.staff.tugraz.at/michael.steurer/Bitcoin-CentOS5.5-V1.pdf
https://bitcointalk.org/index.php?topic=46329.10

and an rpm http://olea.org/paquetes-rpm/repoview/index.html which didnt work at all. So im trying it manual. Everythings fine till to the last step, where I get with my modified makefile I posted below this funny error:

Code:
make: *** No rule to make target `obj/crypter.o', needed by `bitcoind'.  Stop.

I get the similar error for the other makefile where obj/util.o is the first OBJS saying

Code:
make: *** No rule to make target `obj/util.o', needed by `bitcoind'.  Stop.


Just to make sure, the tutorial says

Quote
Create a new fi le ~/Bitcoin/Trunk/makefile.centos and add the lines as follows...

so Im in pwd /root/Bitcoin/Trunk when I call "make -f makefile.centos bitcoind"


Code:
#begin


# Copyright (c) 2009-2010 Satoshi Nakamoto
# Distributed under the MIT/X11 software license, see the accompanying
# file license.txt or http://www.opensource.org/licenses/mit-license.php.


CXX=g++


DEPSDIR=/root/Bitcoin/Deps


INCLUDEPATHS= -I"$(DEPSDIR)/include"
LIBPATHS= -L"$(DEPSDIR)/lib"


WXINCLUDEPATHS=$(shell wx-config --cxxflags)
WXLIBS=$(shell wx-config --libs)


USE_UPNP=


DEFS= -DNOPCH -DFOURWAYSSE2 -DUSE_SSL


LIBS= -dead_strip \
-Wl,-Bstatic \
$(DEPSDIR)/lib/libdb_cxx-5.1.a \
-mtl $(DEPSDIR)/lib/libboost_system.a \
-mtl $(DEPSDIR)/lib/libboost_thread.a \
-mtl $(DEPSDIR)/lib/libboost_filesystem.a \
-mtl $(DEPSDIR)/lib/libboost_program_options.a \
$(DEPSDIR)/lib/libdb_cxx.a \
$(DEPSDIR)/lib/libssl.a \
$(DEPSDIR)/lib/libcrypto.a \
-l ssl \
-l crypto \
-Wl,-Bdynamic \
-l gthread-2.0 \
-l z \
-l dl


ifdef USE_UPNP
LIBS += -l miniupnpc
DEFS += -DUSE_UPNP=$(USE_UPNP)
endif


DEBUGFLAGS=-g -D__WXDEBUG__
CXXFLAGS=-O2 -Wno-invalid-offsetof -Wformat $(DEBUGFLAGS) $(DEFS) $(INCLUDEPATHS)
HEADERS=base58.h \
bignum.h \
crypter.h \
db.h \
headers.h \
init.h \
irc.h \
key.h \
keystore.h \
main.h \
net.h \
noui.h \
protocol.h \
rpc.h \
script.h \
serialize.h \
strlcpy.h \
ui.h \
uibase.h \
uint256.h \
util.h \
wallet.h


OBJS=obj/crypter.o \
obj/db.o \
obj/init.o \
obj/irc.o \
obj/keystore.o \
obj/main.o \
obj/net.o \
obj/protocol.o \
obj/rpc.o \
obj/script.o \
obj/util.o \
obj/wallet.o \
cryptopp/obj/sha.o \
cryptopp/obj/cpu.o


all: bitcoind




obj/%.o: %.cpp $(HEADERS)
$(CXX) -c $(CXXFLAGS) $(WXINCLUDEPATHS) -DGUI -o $@ $<


cryptopp/obj/%.o: cryptopp/%.cpp
$(CXX) -c $(CXXFLAGS) -O3 -o $@ $<


bitcoin: $(OBJS) obj/ui.o obj/uibase.o
$(CXX) $(CXXFLAGS) -o $@ $(LIBPATHS) $^ $(WXLIBS) $(LIBS)


obj/nogui/%.o: %.cpp $(HEADERS)
$(CXX) -c $(CXXFLAGS) -o $@ $<


bitcoind: $(OBJS:eek:bj/%=obj/nogui/%)
$(CXX) $(CXXFLAGS) -o $@ $^ $(LIBS)


clean:
-rm -f obj/*.o
-rm -f obj/nogui/*.o
-rm -f cryptopp/obj/*.o
-rm -f headers.h.gch
-rm -f bitcoin
-rm -f bitcoind


#end

Could anyone help me fixing this? Help is very appreciated!!!

Jump to: