Author

Topic: Missing Mac OS X bitcoind (Read 2901 times)

member
Activity: 266
Merit: 36
December 15, 2011, 10:13:46 PM
#3
Quote
make clean or start with a new tree to compile with you have old object files left over from your first make attempt.
Success...

Thanks!
member
Activity: 266
Merit: 36
December 15, 2011, 10:01:00 PM
#2
Quote
If building on/for 32 bit then use this in the shell.

Code:
export CFLAGS="-arch i386"
export LDFLAGS="-arch i386"

For 64 bit.

Code:
export CFLAGS="-arch x86_64"
export LDFLAGS="-arch x86_64"

Or it may even be as simple as removing the arch you do not need from the makefile.osx then build again.


First I tried editing makefile.osx thus:
Code:
# i386 for 32-bit; x86_64 for 64 bit:
# CFLAGS=-mmacosx-version-min=10.5 -arch i386 -O3 -Wno-invalid-offsetof -Wformat $(DEBUGFLAGS) $(DEFS) $(INCLUDEPATHS)
CFLAGS=-mmacosx-version-min=10.5 -arch x86_64 -O3 -Wno-invalid-offsetof -Wformat $(DEBUGFLAGS) $(DEFS) $(INCLUDEPATHS)
Got the same error.  Then, without reverting makefile.osx,
Code:
src $ export CFLAGS="-arch x86_64"
src $ export LDFLAGS="-arch x86_64"
src $ make -f makefile.osx
llvm-g++ -mmacosx-version-min=10.5 -arch x86_64 -O3 -Wno-invalid-offsetof -Wformat -g -DMAC_OSX -DMSG_NOSIGNAL=0 -DUSE_SSL -DUSE_UPNP=1 -I"/opt/local/include" -I"/opt/local/include/db48" -o bitcoind -L"/opt/local/lib" -L"/opt/local/lib/db48" obj/nogui/checkpoints.o obj/nogui/crypter.o obj/nogui/db.o obj/nogui/init.o obj/nogui/irc.o obj/nogui/keystore.o obj/nogui/main.o obj/nogui/net.o obj/nogui/protocol.o obj/nogui/bitcoinrpc.o obj/nogui/script.o obj/nogui/util.o obj/nogui/wallet.o -dead_strip -ldb_cxx-4.8 -lboost_system-mt -lboost_filesystem-mt -lboost_program_options-mt -lboost_thread-mt -lssl -lcrypto -lminiupnpc
ld: warning: ignoring file obj/nogui/checkpoints.o, file was built for i386 which is not the architecture being linked (x86_64)
ld: warning: ignoring file obj/nogui/crypter.o, file was built for i386 which is not the architecture being linked (x86_64)
ld: warning: ignoring file obj/nogui/db.o, file was built for i386 which is not the architecture being linked (x86_64)
ld: warning: ignoring file obj/nogui/init.o, file was built for i386 which is not the architecture being linked (x86_64)
ld: warning: ignoring file obj/nogui/irc.o, file was built for i386 which is not the architecture being linked (x86_64)
ld: warning: ignoring file obj/nogui/keystore.o, file was built for i386 which is not the architecture being linked (x86_64)
ld: warning: ignoring file obj/nogui/main.o, file was built for i386 which is not the architecture being linked (x86_64)
ld: warning: ignoring file obj/nogui/net.o, file was built for i386 which is not the architecture being linked (x86_64)
ld: warning: ignoring file obj/nogui/protocol.o, file was built for i386 which is not the architecture being linked (x86_64)
ld: warning: ignoring file obj/nogui/bitcoinrpc.o, file was built for i386 which is not the architecture being linked (x86_64)
ld: warning: ignoring file obj/nogui/script.o, file was built for i386 which is not the architecture being linked (x86_64)
ld: warning: ignoring file obj/nogui/util.o, file was built for i386 which is not the architecture being linked (x86_64)
ld: warning: ignoring file obj/nogui/wallet.o, file was built for i386 which is not the architecture being linked (x86_64)
Undefined symbols for architecture x86_64:
  "_main", referenced from:
      start in crt1.10.5.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make: *** [bitcoind] Error 1
member
Activity: 266
Merit: 36
December 15, 2011, 09:14:44 PM
#1
The sourceforge page for 0.5.1 says,
Quote
This folder contains Windows, Linux, and Mac binaries for bitcoind and bitcoin-qt version 0.5.1.

That statement is incorrect with respect to bitcoind for Mac.  There was none for 0.5 either, nor for ... well, I'm not sure for how long bitcoind/Mac has been missing in action.  I just tried to build it from source, but gave up after an hour or so.  (Much of that was chasing a Macports bug; the final disappointment was a link error.)
Jump to: