OS X namecoind

Forum rules
Warning !
Avoid using binary softwares from untrusted users.
Prefer compiling it yourself and verify sources.
Post Reply
indolering
Posts: 801
Joined: Sun Aug 18, 2013 8:26 pm
os: mac

OS X namecoind

Post by indolering »

The current makefile for OS X is totally borked, can someone (maybe the namecoin-qt dev) post a binary?
DNS is much more than a key->value datastore.

cassini
Posts: 336
Joined: Sun May 26, 2013 6:36 pm

Re: OS X namecoind

Post by cassini »

indolering wrote:The current makefile for OS X is totally borked, can someone (maybe the namecoin-qt dev) post a binary?
If you are on a Lion/MountainLion/Mavericks you may try
https://bitcointalk.org/index.php?topic ... msg3510167

I can post a namecoind binary (0.3.51 with hardfork patch) if you prefer. Just tested on a SnowLeopard.
Compiling instructions also available.

indolering
Posts: 801
Joined: Sun Aug 18, 2013 8:26 pm
os: mac

Re: OS X namecoind

Post by indolering »

cassini wrote:
indolering wrote:The current makefile for OS X is totally borked, can someone (maybe the namecoin-qt dev) post a binary?
If you are on a Lion/MountainLion/Mavericks you may try
https://bitcointalk.org/index.php?topic ... msg3510167

I can post a namecoind binary (0.3.51 with hardfork patch) if you prefer. Just tested on a SnowLeopard.
Compiling instructions also available.
I have Namcoin-QT up but I am having trouble getting the RPC settings working and I would be grateful if you posted the patched namecoind binary.

It would be great if you wanted to post/update the build instructions. : )
DNS is much more than a key->value datastore.

cotton
Posts: 7
Joined: Sat Dec 21, 2013 4:55 pm
os: linux

Re: OS X namecoind

Post by cotton »

I just go all three namecoin repositories (namecoin, namecoinq, namecoin-qt) to build on OS X. I'm currently working with namecoinq. The block chain is still sync'ing, but so far it looks like everything is working.

First, I installed:
- openssl-1.0.1e in /usr/local/open-1.0.1e
- db-4.8.30 in /usr/local/db-4.8.30
- boost_1_55_0 in (yep, you guessed it) /usr/local/boost-1_55_0

Then I made the changes in the diff below. Note, the above paths are hard coded. You will need to change them point to wherever you installed the dependencies. Also, these changes won't work on other systems.

Finally, just do "make namecoind" in src/ to build namecoind. Let me know if you need more help.

The build situation is a travesty. I started back-porting the bitcoin configure build system. I'll post again when I have something that works on my systems.

Code: Select all

diff --git a/src/Makefile b/src/Makefile
index a623383..59567a0 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -2,6 +2,8 @@ CXX=g++
 
 DEFS=-D_MT -DNOPCH -DFOURWAYSSE2 -DUSE_SSL 
 
+DEFS += -DMAC_OSX
+
 # Detect MinGW
 MINGW=$(shell uname -s|grep -i mingw32)
 
@@ -9,31 +11,30 @@ MINGW=$(shell uname -s|grep -i mingw32)
 DEFS += -DBOOST_THREAD_USE_LIB
 
 INCLUDEPATHS= \
-	-I../libs/openssl-1.0.1e/include \
-	-I../libs/db-4.7.25.NC/build_unix \
-	-I../libs/boost_1_50_0
+	-I/usr/local/openssl-1.0.1e/include \
+	-I/usr/local/db-4.8.30/include \
+	-I/usr/local/boost_1_55_0/include
 
 LIBPATHS= \
-	-L../libs/openssl-1.0.1e \
-	-L../libs/db-4.7.25.NC/build_unix \
-	-L../libs/boost_1_50_0/stage/lib
+	-L/usr/local/openssl-1.0.1e/lib \
+	-L/usr/local/db-4.8.30/lib \
+	-L/usr/local/boost_1_55_0/lib
 
 LIBBOOST_SUFFIX=
 
 LIBS= \
- -Wl,-Bstatic \
-   -l boost_system$(LIBBOOST_SUFFIX) \
-   -l boost_filesystem$(LIBBOOST_SUFFIX) \
-   -l boost_program_options$(LIBBOOST_SUFFIX) \
-   -l boost_thread$(LIBBOOST_SUFFIX) \
-   -l boost_chrono$(LIBBOOST_SUFFIX) \
-   -l db_cxx \
-   -l ssl \
-   -l crypto
+   -lboost_system$(LIBBOOST_SUFFIX) \
+   -lboost_filesystem$(LIBBOOST_SUFFIX) \
+   -lboost_program_options$(LIBBOOST_SUFFIX) \
+   -lboost_thread$(LIBBOOST_SUFFIX) \
+   -lboost_chrono$(LIBBOOST_SUFFIX) \
+   -ldb_cxx \
+   -lssl \
+   -lcrypto
 
 namecoin: USE_UPNP:=1
 	ifdef USE_UPNP
-		LIBS += -l miniupnpc
+		LIBS += -lminiupnpc
 		DEFS += -DUSE_UPNP=$(USE_UPNP)
 	endif
 	ifneq "$(MINGW)" ""
@@ -44,30 +45,26 @@ namecoin: USE_UPNP:=1
 	else
 		# Linux-specific
 		LIBS+= \
-			-Wl,-Bdynamic \
-			-l gthread-2.0 \
-			-l z \
-			-l dl \
-			-l pthread
+			-lz \
+			-ldl \
+			-lpthread
 	endif
 
 namecoind: USE_UPNP:=0
 	ifdef USE_UPNP
-		LIBS += -l miniupnpc
+		LIBS += -lminiupnpc
 		DEFS += -DUSE_UPNP=$(USE_UPNP)
 	endif
 	ifneq "$(MINGW)" ""
 		# MinGW-specific
 		DEFS += -D__NO_SYSTEM_INCLUDES -D__WXMSW__
-		LIBS += -l mingwthrd -lws2_32 -lshlwapi -lmswsock -lole32 -loleaut32 -luuid -lgdi32
+		LIBS += -lmingwthrd -lws2_32 -lshlwapi -lmswsock -lole32 -loleaut32 -luuid -lgdi32
 	else
 		# Linux-specific
 		LIBS+= \
-			-Wl,-Bdynamic \
-			-l gthread-2.0 \
-			-l z \
-			-l dl \
-			-l pthread
+			-lz \
+			-ldl \
+			-lpthread
 	endif
 
 CXXFLAGS=-O2 -Wno-invalid-offsetof -Wformat $(DEFS) $(INCLUDEPATHS)
diff --git a/src/net.h b/src/net.h
index 077f824..891035c 100644
--- a/src/net.h
+++ b/src/net.h
@@ -13,6 +13,12 @@
 #include <arpa/inet.h>
 #endif
 
+#if defined(__APPLE__) && defined(__MACH__)
+#ifndef MSG_NOSIGNAL
+#define MSG_NOSIGNAL SO_NOSIGPIPE
+#endif
+#endif
+
 class CMessageHeader;
 class CAddress;
 class CInv;

cassini
Posts: 336
Joined: Sun May 26, 2013 6:36 pm

Re: OS X namecoind

Post by cassini »

Meanwhile I uploaded a working 0.3.51 incl. hardfork patch.
In this folder there is a zip file that uncompresses to the executable "namecoind351osx":
https://www.mediafire.com/folder/fsq73q ... /namecoind
As usual, always save your wallet file and anything else you might find valueable before experimenting.

I had to deactivate a small part of the mining code in namecoin.cpp to avoid a compiler error, see below. Thus, please do not use this version for solo mining :lol:
indolering wrote:having trouble getting the RPC settings working
If your config file contains something like
rpcuser=MYRPCUSER
rpcpassword=MYRPCPASSPHRASE
rpcport=8336
daemon=1
then this curl command should give you a valid result:
curl --data-binary '{"jsonrpc": "1.0", "id":"mycurltest", "method": "getinfo", "params": [] }' -u MYRPCUSER:MYRPCPASSPHRASE 127.0.0.1:8336

cotton wrote:Finally, just do "make namecoind" in src/ to build namecoind.
Did you also encounter the ‘const CTxIndex&’ compiler error in namecoin.cpp? If so, how did you get rid of this problem?

cotton
Posts: 7
Joined: Sat Dec 21, 2013 4:55 pm
os: linux

Re: OS X namecoind

Post by cotton »

I have a namecoin-qt repository that has autotools (configure) build support that works on Mac OSX. See here:

http://dot-bit.org/forum/viewtopic.php?f=8&t=1442

Post Reply