motocoin-dev / motocoin

motocoin source code
MIT License
19 stars 14 forks source link

Undefined symbols for architecture x86_64 (Mac OS) #6

Open a0s opened 10 years ago

a0s commented 10 years ago

I made some fixes for cbaeee1611eea5192f9b20df26168fda23a304f1

git diff
diff --git a/src/bttrackers.cpp b/src/bttrackers.cpp
index 59016db..c8b8194 100644
--- a/src/bttrackers.cpp
+++ b/src/bttrackers.cpp
@@ -2,6 +2,7 @@
 #include <boost/array.hpp>
 #include <boost/bind.hpp>
 #include <boost/asio/ip/udp.hpp>
+#include <boost/asio/ip/address_v4.hpp>
 #include <boost/asio/deadline_timer.hpp>
 #include <boost/date_time/posix_time/posix_time.hpp>
 #include <boost/thread.hpp>
@@ -91,13 +92,13 @@ static bytes20 g_InfoHash = {{ 0x44, 0x07, 0x0C, 0x01, 0x90, 0x50, 0x43, 0xA1, 0
 static const int g_NumTrackers = 6;

 static ip::udp::endpoint g_TrackerList[g_NumTrackers] =
-{
-    ip::udp::endpoint(ip::address_v4(ip::address_v4::bytes_type({{31, 172, 63, 253}})), 80),    // udp://tracker.openbittorrent.com:80
-    ip::udp::endpoint(ip::address_v4(ip::address_v4::bytes_type({{192, 121, 121, 30}})), 80),   // udp://tracker.istole.it:80
-    ip::udp::endpoint(ip::address_v4(ip::address_v4::bytes_type({{194, 71, 107, 27}})), 80),    // udp://tracker.ccc.de:80
-    ip::udp::endpoint(ip::address_v4(ip::address_v4::bytes_type({{62, 210, 137, 203}})), 1337), // udp://open.demonii.com:1337
-    ip::udp::endpoint(ip::address_v4(ip::address_v4::bytes_type({{31, 172, 63, 226}})), 80),    // udp://tracker.publicbt.com:80
-    ip::udp::endpoint(ip::address_v4(ip::address_v4::bytes_type({{94, 228, 222, 192}})), 6969)  // udp://tracker.coppersurfer.tk:6969
+{
+    ip::udp::endpoint(ip::address_v4::from_string("31.172.63.253"), 80),    // udp://tracker.openbittorrent.com:80
+    ip::udp::endpoint(ip::address_v4::from_string("192.121.121.30"), 80),   // udp://tracker.istole.it:80
+    ip::udp::endpoint(ip::address_v4::from_string("194.71.107.27"), 80),    // udp://tracker.ccc.de:80
+    ip::udp::endpoint(ip::address_v4::from_string("62.210.137.203"), 1337), // udp://open.demonii.com:1337
+    ip::udp::endpoint(ip::address_v4::from_string("31.172.63.226"), 80),    // udp://tracker.publicbt.com:80
+    ip::udp::endpoint(ip::address_v4::from_string("94.228.222.192"), 6969)  // udp://tracker.coppersurfer.tk:6969
 };

 static io_service g_IOService;
diff --git a/src/leveldb/build_detect_platform b/src/leveldb/build_detect_platform
old mode 100644
new mode 100755
diff --git a/src/makefile.osx b/src/makefile.osx
index 44c3217..5e707fb 100644
--- a/src/makefile.osx
+++ b/src/makefile.osx
@@ -6,7 +6,7 @@
 # Mac OS X makefile for bitcoin
 # Originally by Laszlo Hanyecz (solar@heliacal.net)

-CXX=llvm-g++
+CXX=llvm-g++ -I/usr/local/opt/berkeley-db4/include
 DEPSDIR=/opt/local

 INCLUDEPATHS= \
@@ -17,7 +17,8 @@ INCLUDEPATHS= \

 LIBPATHS= \
  -L"$(DEPSDIR)/lib" \
- -L"$(DEPSDIR)/lib/db48"
+ -L"$(DEPSDIR)/lib/db48" \
+ -L/usr/local/opt/berkeley-db4/lib

 USE_UPNP:=1
 USE_IPV6:=1

And now i have strange error

Undefined symbols for architecture x86_64:
  "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)", referenced from:
      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) in util.o
  "boost::program_options::to_internal(std::string const&)", referenced from:
      boost::program_options::detail::basic_config_file_iterator<char>::getline(std::string&) in util.o
  "_TLSv1_1_method", referenced from:
      boost::asio::ssl::context::context(boost::asio::ssl::context_base::method) in bitcoinrpc.o
  "_TLSv1_1_server_method", referenced from:
      boost::asio::ssl::context::context(boost::asio::ssl::context_base::method) in bitcoinrpc.o
  "_TLSv1_2_server_method", referenced from:
      boost::asio::ssl::context::context(boost::asio::ssl::context_base::method) in bitcoinrpc.o
  "_TLSv1_2_method", referenced from:
      boost::asio::ssl::context::context(boost::asio::ssl::context_base::method) in bitcoinrpc.o
  "_TLSv1_2_client_method", referenced from:
      boost::asio::ssl::context::context(boost::asio::ssl::context_base::method) in bitcoinrpc.o
  "_TLSv1_1_client_method", referenced from:
      boost::asio::ssl::context::context(boost::asio::ssl::context_base::method) in bitcoinrpc.o
  "Db::verify(char const*, char const*, std::ostream*, unsigned int)", referenced from:
      CDBEnv::Verify(std::string, bool (*)(CDBEnv&, std::string)) in db.o
      CDBEnv::Salvage(std::string, 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> > > > >&) in db.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [motocoind] Error 1

This error looks like as https://github.com/bitcoin/bitcoin/issues/3228

motocurrency commented 6 years ago

@a0s contact me, we need to compile a mac wallet motocurrency@gmail.com