On Fri May 18, 2018 at 11:47:48AM -0400, Joseph Mayer wrote:
> 2018-05-07 3:21 GMT+08:00 Rafael Sadowski <raf...@sizeofvoid.org>:
> > It doesn't build with ports-gcc 
> 
> I got it built using ports not too long ago.
> 
> What issues did you get trying to build it using gcc-ports (GCC 4.9.4)?

Please find attached my GCC output. The same linker call works with
clang but not with ports-gcc.

> 
> The only issue was the difficulty of install Berkeley DB, which can be
> resolved by either building and installing (how?) or something like
> --disable-wallet, as only the wallet subfunctionality uses it anyhow,
> not the central router.
> 
> Do you build the QT and wallet parts?

Please check the ports Makefile.

> 
> > and you already said it: "... you wouldn't want to run this on a
> > machine that doesn't have clang available to it since it's probably
> > far too slow."
> 
> Clang may be working well for many projects, this one included, but
> there are also projects today where Clang consistently performs
> disastrously, so GCC will remain having a valid niche, maybe for very
> long.
> 

It's about architectures not projects.
/usr/bin/libtool  --tag=CXX   --mode=link c++ -Wstack-protector 
-fstack-protector-all  -fPIE -O2 -pipe  -std=c++14   -pthread  -Wl,-z,relro 
-Wl,-z,now  -L/usr/X11R6/lib -L/usr/local/lib -L/usr/local/lib/db4 -o bitcoind 
bitcoind-bitcoind.o  libbitcoin_server.a libbitcoin_common.a 
univalue/libunivalue.la libbitcoin_util.a libbitcoin_wallet.a libbitcoin_zmq.a 
libbitcoin_consensus.a
crypto/libbitcoin_crypto.a leveldb/libleveldb.a leveldb/libleveldb_sse42.a 
leveldb/libmemenv.a secp256k1/libsecp256k1.la -pthread -L/usr/local/lib 
-lboost_system -lboost_filesystem -lboost_program_options-mt -lboost_thread-mt 
-lboost_chrono-mt -ldb_cxx -lssl -lcrypto -lcrypto -lminiupnpc -L/usr/local/lib 
-levent_pthreads -levent_extra -levent_core -L/usr/local/lib -levent_extra 
-levent_core -L/usr/local/lib -lzmq
libtool: link: c++ -o .libs/bitcoind -pthread -Wstack-protector 
-fstack-protector-all -fPIE -O2 -pipe -std=c++14 -Wl,-z -Wl,relro -Wl,-z 
-Wl,now bitcoind-bitcoind.o libbitcoin_server.a libbitcoin_common.a 
libbitcoin_util.a libbitcoin_wallet.a libbitcoin_zmq.a libbitcoin_consensus.a 
crypto/libbitcoin_crypto.a leveldb/libleveldb.a leveldb/libleveldb_sse42.a 
leveldb/libmemenv.a -L.libs -lunivalue -lsecp256k1 -lboost_system -lc++ 
-lc++abi -lpthread -lm -lboost_filesystem -lboost_program_options-mt 
-lboost_thread-mt -lboost_system-mt -lboost_chrono-mt -ldb_cxx -lssl -lcrypto 
-lminiupnpc -levent_pthreads -levent_extra -levent_core -lzmq -lsodium 
-Wl,-rpath-link,/usr/local/lib                                                  
                                   
.libs/libzmq.so.4.2: warning: sprintf() is often misused, please use snprintf()
.libs/libzmq.so.4.2: warning: strcat() is almost always misused, please use 
strlcat()
.libs/libevent_core.so.1.1: warning: random() may return deterministic values, 
is that what you want?                                                          
                               
.libs/libboost_filesystem.so.8.0: warning: strcpy() is almost always misused, 
please use strlcpy()                                                            
                                
.libs/libdb_cxx.so.6.0: warning: rand() may return deterministic values, is 
that what you want?                                                             
                                  
libbitcoin_util.a(libbitcoin_util_a-util.o): In function `SetupEnvironment()':
util.cpp:(.text+0x12ca): undefined reference to 
`boost::filesystem::path::imbue(std::locale const&)'                            
                                                              
util.cpp:(.text+0x12d5): undefined reference to 
`boost::filesystem::path::imbue(std::locale const&)'                            
                                                              
libbitcoin_util.a(libbitcoin_util_a-util.o): In function 
`boost::program_options::detail::basic_config_file_iterator<char>::getline(std::string&)':
                                           
util.cpp:(.text._ZN5boost15program_options6detail26basic_config_file_iteratorIcE7getlineERSs[_ZN5boost15program_options6detail26basic_config_file_iteratorIcE7getlineERSs]+0x98):
 undefined reference to `boost::program_options::to_internal(std::string 
const&)'
libbitcoin_util.a(libbitcoin_util_a-util.o): In function 
`boost::program_options::detail::basic_config_file_iterator<char>::basic_config_file_iterator(std::istream&,
 std::set<std::string, std::less<std::string>, std::allocator<std::string> > 
const&, bool)':
util.cpp:(.text._ZN5boost15program_options6detail26basic_config_file_iteratorIcEC2ERSiRKSt3setISsSt4lessISsESaISsEEb[_ZN5boost15program_options6detail26basic_config_file_iteratorIcEC5ERSiRKSt3setISsSt4lessISsESaISsEEb]+0x21):
 undefined reference to 
`boost::program_options::detail::common_config_file_iterator::common_config_file_iterator(std::set<std::string,
 std::less<std::string>, std::allocator<std::string> > const&, bool)'
libbitcoin_wallet.a(libbitcoin_wallet_a-db.o): In function 
`CDBEnv::Verify(std::string const&, bool (*)(std::string const&, std::string&), 
std::string&)':                                    
db.cpp:(.text+0x6812): undefined reference to `Db::verify(char const*, char 
const*, std::ostream*, unsigned int)'                                           
                                  
libbitcoin_wallet.a(libbitcoin_wallet_a-db.o): In function 
`CDBEnv::Salvage(std::string const&, bool, 
std::vector<std::pair<std::vector<unsigned char, std::allocator<unsigned char> 
>, std::vector<unsigned char, std::allocator<unsigned char> > >, 
std::allocator<std::pair<std::vector<unsigned char, std::allocator<unsigned 
char> >, std::vector<unsigned char, std::allocator<unsigned
char> > > > >&)':
db.cpp:(.text+0x6e81): undefined reference to `Db::verify(char const*, char 
const*, std::ostream*, unsigned int)'                                           
                                  
collect2: error: ld returned 1 exit status
Error while executing c++ -o .libs/bitcoind -pthread -Wstack-protector 
-fstack-protector-all -fPIE -O2 -pipe -std=c++14 -Wl,-z -Wl,relro -Wl,-z 
-Wl,now bitcoind-bitcoind.o libbitcoin_server.a libbitcoin_common.a 
libbitcoin_util.a libbitcoin_wallet.a libbitcoin_zmq.a libbitcoin_consensus.a 
crypto/libbitcoin_crypto.a leveldb/libleveldb.a leveldb/libleveldb_sse42.a 
leveldb/libmemenv.a -L.libs -lunivalue -lsecp256k1 -lboost_system -lc++ 
-lc++abi -lpthread -lm -lboost_filesystem -lboost_program_options-mt 
-lboost_thread-mt -lboost_system-mt -lboost_chrono-mt -ldb_cxx -lssl -lcrypto 
-lminiupnpc -levent_pthreads -levent_extra -levent_core -lzmq -lsodium 
-Wl,-rpath-link,/usr/local/lib                                                  
                            
gmake[2]: *** [Makefile:3677: bitcoind] Error 2
gmake[2]: Leaving directory '/usr/ports/pobj/bitcoin-0.16.0/bitcoin-0.16.0/src'
gmake[1]: *** [Makefile:9449: all-recursive] Error 1
gmake[1]: Leaving directory '/usr/ports/pobj/bitcoin-0.16.0/bitcoin-0.16.0/src'
gmake: *** [Makefile:735: all-recursive] Error 1
*** Error 2 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2701 
'/usr/ports/pobj/bitcoin-0.16.0/.build_done')                                   
                                              
*** Error 1 in /usr/ports/mystuff/openbsd-wip/net/bitcoin 
(/usr/ports/infrastructure/mk/bsd.port.mk:2380 'all')      

Reply via email to