[DEV] MacOS - Build Feathercoind + Feathercoin-Qt v0.9.3.1 [COMPLETED]
-
Hi All,
Not sure if this was the best place to put this…if anyone wants to help with the OSX build…I’m using either El Capitan or Sierra for my build environment.
So far I’ve only managed to compile Feathercoind (the Daemon) on OSX. Below is what I’m doing to get it compiled. If anyone wants to throw any advice my way to get QT built…that would be amazing.
1 - Install homebrew (brew)
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2 - Install feathercoin dependancies
brew install boost --universal --build-from-source brew install protobuf --c++11 --universal --build-from-source brew install libevent --c++11 --universal --build-from-source brew install autoconf automake libtool miniupnpc openssl pkg-config brew install berkeley-db4 brew install libqrencode
3 - ./Configure command for building feathercoind
./configure --disable-upnp-default --disable-tests --disable-hardening --without-miniupnpc LDFLAGS="-L/usr/local/opt/berkeley-db4/lib/ -L/usr/local/opt/qrencode/lib/" CPPFLAGS="-I/usr/local/opt/berkeley-db4/include/ -I/usr/local/opt/qrencode/include/" --with-boost=/usr/local/Cellar/boost/1.62.0 --with-gui=no
Doing the above on Mavricks, Yosemite, El Capitan or Sierra will produce feathercoind.
to run it i’m doing…:
./feathercoind -printtoconsole
it starts syncing with the blockchain and everything looks good. If anyone can verify that this works on their Mac it would be a good first step to getting an OSX build of 0.9.3.1
I’ll be replying to this thread with rants, ideas and basic spit balling on getting QT compiled/built in OSX. it seriously cant be this hard and I don’t like the fact that everything I’ve read says to “build in a 32-bit osx environment” …which is near impossible these days.
Time spent so far: 30 Hours and counting.
-
With the above method for building feathercoind and the above dependancies installed, I receive this warning… currently on MacOS Sierra.
warning: 'OSMemoryBarrier' is deprecated: first deprecated in macOS 10.12 - Use std::atomic_thread_fence() from <atomic> instead [-Wdeprecated-declarations]
it’s not a major warning and does not affect the build process, seems to just be an updated way to do certain things with boost.
-
On Windows I try a lot for 0.9.3.1 but didn’t get the feathercoin-qt.exe compiled.
I have to use boost 1.57.0 (avoiding some errors).
And I finaly get it working with the last 0.3.9.2 version of Feathercoin.
Hope this help a bit. :)
Good luck !
PS : Can you provide the version of all dependencies? ;)
-
Also -at least on Linux- the –disable-hardening is not required. I’ve heard some rumors, that Windows has more problems with hardening and no Idea about OSX.
-
@looarn i’ll get you the versions a little later…
Meenwhile…fuck knows how I’ve managed to get this to compile. I used boost from homebrew as it’s near impossible for me to build it myself…and I think that’s the main problem. Building boost on OSX.
After fucking around for hours…I can try to launch feathercoin-qt with the below command and you can see the error and the seg fault.
acids-MacBook-Pro:qt acid$ DYLD_LIBRARY_PATH=/usr/local/Cellar/boost155/1.55.0_1/lib/ ./feathercoin-qt Dynamic session lookup supported but failed: launchd did not provide a socket path, verify that org.freedesktop.dbus-session.plist is loaded! Segmentation fault: 11
This is still v0.9.3.1
-
i’m not sure if OSX has dbus at all, but as said, I know nothing about OSX
you can try a ‘configure --with-qtdbus=no’ and try again
-
@Wellenreiter thanks. I’m about to get on a 2 hour train to London so if there’s electric points on the train ill give that a go.
Will post updates in this thread.
-
@Wellenreiter said in [DEV] MacOS - Build FeathercoinD v0.9.3.1:
i’m not sure if OSX has dbus at all, but as said, I know nothing about OSX
you can try a ‘configure --with-qtdbus=no’ and try again
So the above worked to remove the error:
Dynamic session lookup supported but failed: launchd did not provide a socket path, verify that org.freedesktop.dbus-session.plist is loaded!
now it crashes with just the Segfault 11
acids-MacBook-Pro:qt acid$ DYLD_LIBRARY_PATH=/usr/local/Cellar/boost155/1.55.0_1/lib/ ./feathercoin-qt Segmentation fault: 11
Will post the OSX crash log next.
-
Process: feathercoin-qt [67256] Path: /Users/USER/*/feathercoin-qt Identifier: feathercoin-qt Version: 0 Code Type: X86-64 (Native) Parent Process: bash [63802] Responsible: feathercoin-qt [67256] User ID: 501 Date/Time: 2016-11-27 20:45:46.189 +0000 OS Version: Mac OS X 10.12.1 (16B2657) Report Version: 12 Anonymous UUID: B7C6A383-E2D7-B806-5B41-9E1BBFBE2711 Sleep/Wake UUID: 5795C7BD-1231-4FFC-92F1-C760224AEA8E Time Awake Since Boot: 59000 seconds Time Since Wake: 980 seconds System Integrity Protection: enabled Crashed Thread: 0 Dispatch queue: com.apple.main-thread Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: EXC_I386_GPFLT Exception Note: EXC_CORPSE_NOTIFY Termination Signal: Segmentation fault: 11 Termination Reason: Namespace SIGNAL, Code 0xb Terminating Process: exc handler [0] Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 org.qt-project.QtWidgets 0x000000011098250a QAbstractButton::setIcon(QIcon const&) + 10 1 feathercoin-qt 0x000000010faa7262 MultiSigDialog::MultiSigDialog(QWidget*) + 370 (multisigdialog.cpp:47) 2 feathercoin-qt 0x000000010fa98ef9 WalletView::WalletView(QWidget*) + 953 (walletview.cpp:79) 3 feathercoin-qt 0x000000010fa78d49 WalletFrame::addWallet(QString const&, WalletModel*) + 169 (walletframe.cpp:43) 4 feathercoin-qt 0x000000010f9954aa BitcoinGUI::addWallet(QString const&, WalletModel*) + 74 (bitcoingui.cpp:533) 5 feathercoin-qt 0x000000010f974bdc BitcoinApplication::initializeResult(int) + 316 (qstring.h:1075) 6 org.qt-project.QtCore 0x00000001117188e1 QObject::event(QEvent*) + 801 7 org.qt-project.QtCore 0x00000001116f0986 QCoreApplication::event(QEvent*) + 102 8 org.qt-project.QtGui 0x0000000110f8c49e QGuiApplication::event(QEvent*) + 270 9 org.qt-project.QtWidgets 0x0000000110893026 QApplication::event(QEvent*) + 1174 10 org.qt-project.QtWidgets 0x000000011089488d QApplicationPrivate::notify_helper(QObject*, QEvent*) + 301 11 org.qt-project.QtWidgets 0x0000000110895c31 QApplication::notify(QObject*, QEvent*) + 369 12 org.qt-project.QtCore 0x00000001116eee54 QCoreApplication::notifyInternal2(QObject*, QEvent*) + 164 13 org.qt-project.QtCore 0x00000001116efe7b QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) + 891 14 libqcocoa.dylib 0x000000011225bd0e QCocoaEventDispatcherPrivate::processPostedEvents() + 190 15 libqcocoa.dylib 0x000000011225c5d1 QCocoaEventDispatcherPrivate::postedEventsSourceCallback(void*) + 33 16 com.apple.CoreFoundation 0x00007fff9dca04c1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17 17 com.apple.CoreFoundation 0x00007fff9dc818cc __CFRunLoopDoSources0 + 556 18 com.apple.CoreFoundation 0x00007fff9dc80db6 __CFRunLoopRun + 934 19 com.apple.CoreFoundation 0x00007fff9dc807b4 CFRunLoopRunSpecific + 420 20 com.apple.HIToolbox 0x00007fff9d2102ac RunCurrentEventLoopInMode + 240 21 com.apple.HIToolbox 0x00007fff9d2100e1 ReceiveNextEventCommon + 432 22 com.apple.HIToolbox 0x00007fff9d20ff16 _BlockUntilNextEventMatchingListInModeWithFilter + 71 23 com.apple.AppKit 0x00007fff9b8126cd _DPSNextEvent + 1093 24 com.apple.AppKit 0x00007fff9bf89830 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 2730 25 com.apple.AppKit 0x00007fff9b80706d -[NSApplication run] + 926 26 libqcocoa.dylib 0x000000011225b345 QCocoaEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 2389 27 org.qt-project.QtCore 0x00000001116eb171 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 417 28 org.qt-project.QtCore 0x00000001116ef4c7 QCoreApplication::exec() + 343 29 feathercoin-qt 0x000000010f976865 main + 2709 (bitcoin.cpp:609) 30 libdyld.dylib 0x00007fffb2f8a255 start + 1 Thread 1: 0 libsystem_kernel.dylib 0x00007fffb30b94e6 __workq_kernreturn + 10 1 libsystem_pthread.dylib 0x00007fffb31a1622 _pthread_wqthread + 1023 2 libsystem_pthread.dylib 0x00007fffb31a1211 start_wqthread + 13 Thread 2:: Dispatch queue: com.apple.root.user-interactive-qos 0 libsystem_kernel.dylib 0x00007fffb30b93b6 __ulock_wait + 10 1 libdispatch.dylib 0x00007fffb2f6ca8e _dispatch_ulock_wait + 40 2 libdispatch.dylib 0x00007fffb2f6cc6e _dispatch_thread_event_wait_slow + 85 3 libdispatch.dylib 0x00007fffb2f5f5ea _dispatch_barrier_sync_f_slow + 402 4 com.apple.AppKit 0x00007fff9b954e83 NSCGSDisableUpdates + 215 5 com.apple.AppKit 0x00007fff9b954cb7 NSCGSTransactionRunPreCommitActionsForOrder_ + 147 6 com.apple.AppKit 0x00007fff9b954c07 NSCGSTransactionRunPreCommitActions_ + 21 7 com.apple.AppKit 0x00007fff9b954be6 __39+[_NSCGSTransaction currentTransaction]_block_invoke + 34 8 com.apple.QuartzCore 0x00007fffa37cc1ba CA::Transaction::run_commit_handlers(CATransactionPhase) + 46 9 com.apple.QuartzCore 0x00007fffa38d412f CA::Context::commit_transaction(CA::Transaction*) + 959 10 com.apple.QuartzCore 0x00007fffa37cad55 CA::Transaction::commit() + 475 11 com.apple.AppKit 0x00007fff9b9e4185 -[NSAnimation(NSInternal) _advanceTimeWithDisplayLink:] + 330 12 com.apple.AppKit 0x00007fff9b9e3f90 -[NSScreenDisplayLink _fire] + 329 13 com.apple.CoreFoundation 0x00007fff9dc89e84 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 20 14 com.apple.CoreFoundation 0x00007fff9dc89b13 __CFRunLoopDoTimer + 1075 15 com.apple.CoreFoundation 0x00007fff9dc8966a __CFRunLoopDoTimers + 298 16 com.apple.CoreFoundation 0x00007fff9dc81231 __CFRunLoopRun + 2081 17 com.apple.CoreFoundation 0x00007fff9dc807b4 CFRunLoopRunSpecific + 420 18 com.apple.Foundation 0x00007fff9f69ccb2 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 277 19 com.apple.AppKit 0x00007fff9b953af6 -[NSAnimation(NSInternal) _runBlocking] + 403 20 com.apple.AppKit 0x00007fff9b95394a -[NSAnimation(NSInternal) _animationThread] + 66 21 libdispatch.dylib 0x00007fffb2f5cf5f _dispatch_call_block_and_release + 12 22 libdispatch.dylib 0x00007fffb2f54128 _dispatch_client_callout + 8 23 libdispatch.dylib 0x00007fffb2f56099 _dispatch_root_queue_drain + 917 24 libdispatch.dylib 0x00007fffb2f55cb7 _dispatch_worker_thread3 + 99 25 libsystem_pthread.dylib 0x00007fffb31a1736 _pthread_wqthread + 1299 26 libsystem_pthread.dylib 0x00007fffb31a1211 start_wqthread + 13 Thread 3: 0 libsystem_kernel.dylib 0x00007fffb30b94e6 __workq_kernreturn + 10 1 libsystem_pthread.dylib 0x00007fffb31a17b5 _pthread_wqthread + 1426 2 libsystem_pthread.dylib 0x00007fffb31a1211 start_wqthread + 13 Thread 4:: QThread 0 libsystem_kernel.dylib 0x00007fffb30ba236 poll + 10 1 org.qt-project.QtCore 0x00000001117404c0 qt_safe_poll(pollfd*, unsigned int, timespec const*) + 544 2 org.qt-project.QtCore 0x0000000111741e88 QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 792 3 org.qt-project.QtCore 0x00000001116eb171 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 417 4 org.qt-project.QtCore 0x000000011152d4e3 QThread::exec() + 115 5 org.qt-project.QtCore 0x0000000111530eea QThreadPrivate::start(void*) + 362 6 libsystem_pthread.dylib 0x00007fffb31a1aab _pthread_body + 180 7 libsystem_pthread.dylib 0x00007fffb31a19f7 _pthread_start + 286 8 libsystem_pthread.dylib 0x00007fffb31a1221 thread_start + 13 Thread 5:: com.apple.CFSocket.private 0 libsystem_kernel.dylib 0x00007fffb30b8f4e __select + 10 1 com.apple.CoreFoundation 0x00007fff9dcbc909 __CFSocketManager + 729 2 libsystem_pthread.dylib 0x00007fffb31a1aab _pthread_body + 180 3 libsystem_pthread.dylib 0x00007fffb31a19f7 _pthread_start + 286 4 libsystem_pthread.dylib 0x00007fffb31a1221 thread_start + 13 Thread 6:: com.apple.NSEventThread 0 libsystem_kernel.dylib 0x00007fffb30b141a mach_msg_trap + 10 1 libsystem_kernel.dylib 0x00007fffb30b0867 mach_msg + 55 2 com.apple.CoreFoundation 0x00007fff9dc81ae4 __CFRunLoopServiceMachPort + 212 3 com.apple.CoreFoundation 0x00007fff9dc80f61 __CFRunLoopRun + 1361 4 com.apple.CoreFoundation 0x00007fff9dc807b4 CFRunLoopRunSpecific + 420 5 com.apple.AppKit 0x00007fff9b95f7d4 _NSEventThread + 205 6 libsystem_pthread.dylib 0x00007fffb31a1aab _pthread_body + 180 7 libsystem_pthread.dylib 0x00007fffb31a19f7 _pthread_start + 286 8 libsystem_pthread.dylib 0x00007fffb31a1221 thread_start + 13 Thread 7:: QThread 0 libsystem_kernel.dylib 0x00007fffb30ba236 poll + 10 1 org.qt-project.QtCore 0x00000001117404c0 qt_safe_poll(pollfd*, unsigned int, timespec const*) + 544 2 org.qt-project.QtCore 0x0000000111741e88 QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 792 3 org.qt-project.QtCore 0x00000001116eb171 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 417 4 org.qt-project.QtCore 0x000000011152d4e3 QThread::exec() + 115 5 org.qt-project.QtCore 0x0000000111530eea QThreadPrivate::start(void*) + 362 6 libsystem_pthread.dylib 0x00007fffb31a1aab _pthread_body + 180 7 libsystem_pthread.dylib 0x00007fffb31a19f7 _pthread_start + 286 8 libsystem_pthread.dylib 0x00007fffb31a1221 thread_start + 13 Thread 8:: feathercoin-scriptch 0 libsystem_kernel.dylib 0x00007fffb30b8c8a __psynch_cvwait + 10 1 libsystem_pthread.dylib 0x00007fffb31a296a _pthread_cond_wait + 712 2 feathercoin-qt 0x000000010f97b2fb boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) + 91 (condition_variable.hpp:73) 3 feathercoin-qt 0x000000010fb5ff5f CCheckQueue<CScriptCheck>::Loop(bool) + 463 (.checkqueue.h:96) 4 libboost_thread-mt.dylib 0x000000011067dafc boost::(anonymous namespace)::thread_proxy(void*) + 124 5 libsystem_pthread.dylib 0x00007fffb31a1aab _pthread_body + 180 6 libsystem_pthread.dylib 0x00007fffb31a19f7 _pthread_start + 286 7 libsystem_pthread.dylib 0x00007fffb31a1221 thread_start + 13 Thread 9:: feathercoin-scriptch 0 libsystem_kernel.dylib 0x00007fffb30b8c8a __psynch_cvwait + 10 1 libsystem_pthread.dylib 0x00007fffb31a296a _pthread_cond_wait + 712 2 feathercoin-qt 0x000000010f97b2fb boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) + 91 (condition_variable.hpp:73) 3 feathercoin-qt 0x000000010fb5ff5f CCheckQueue<CScriptCheck>::Loop(bool) + 463 (.checkqueue.h:96) 4 libboost_thread-mt.dylib 0x000000011067dafc boost::(anonymous namespace)::thread_proxy(void*) + 124 5 libsystem_pthread.dylib 0x00007fffb31a1aab _pthread_body + 180 6 libsystem_pthread.dylib 0x00007fffb31a19f7 _pthread_start + 286 7 libsystem_pthread.dylib 0x00007fffb31a1221 thread_start + 13 Thread 10:: feathercoin-scriptch 0 libsystem_kernel.dylib 0x00007fffb30b8c8a __psynch_cvwait + 10 1 libsystem_pthread.dylib 0x00007fffb31a296a _pthread_cond_wait + 712 2 feathercoin-qt 0x000000010f97b2fb boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) + 91 (condition_variable.hpp:73) 3 feathercoin-qt 0x000000010fb5ff5f CCheckQueue<CScriptCheck>::Loop(bool) + 463 (.checkqueue.h:96) 4 libboost_thread-mt.dylib 0x000000011067dafc boost::(anonymous namespace)::thread_proxy(void*) + 124 5 libsystem_pthread.dylib 0x00007fffb31a1aab _pthread_body + 180 6 libsystem_pthread.dylib 0x00007fffb31a19f7 _pthread_start + 286 7 libsystem_pthread.dylib 0x00007fffb31a1221 thread_start + 13 Thread 11:: Dispatch queue: NSCGSDisableUpdates 0 libsystem_kernel.dylib 0x00007fffb30b141a mach_msg_trap + 10 1 libsystem_kernel.dylib 0x00007fffb30b0867 mach_msg + 55 2 com.apple.SkyLight 0x00007fffaf372ea0 _CGSReenableUpdateForConnectionSync + 99 3 com.apple.SkyLight 0x00007fffaf2ffcf8 CGSUpdateManager::enable_update(unsigned long long) + 526 4 libdispatch.dylib 0x00007fffb2f5cf5f _dispatch_call_block_and_release + 12 5 libdispatch.dylib 0x00007fffb2f54128 _dispatch_client_callout + 8 6 libdispatch.dylib 0x00007fffb2f6ab97 _dispatch_queue_serial_drain + 896 7 libdispatch.dylib 0x00007fffb2f5cd41 _dispatch_queue_invoke + 1046 8 libdispatch.dylib 0x00007fffb2f63158 _dispatch_queue_override_invoke + 369 9 libdispatch.dylib 0x00007fffb2f55ee0 _dispatch_root_queue_drain + 476 10 libdispatch.dylib 0x00007fffb2f55cb7 _dispatch_worker_thread3 + 99 11 libsystem_pthread.dylib 0x00007fffb31a1736 _pthread_wqthread + 1299 12 libsystem_pthread.dylib 0x00007fffb31a1211 start_wqthread + 13 Thread 12: 0 libsystem_kernel.dylib 0x00007fffb30b8c8a __psynch_cvwait + 10 1 libsystem_pthread.dylib 0x00007fffb31a296a _pthread_cond_wait + 712 2 feathercoin-qt 0x000000010fd12f4b leveldb::(anonymous namespace)::PosixEnv::BGThreadWrapper(void*) + 219 (env_posix.cc:501) 3 libsystem_pthread.dylib 0x00007fffb31a1aab _pthread_body + 180 4 libsystem_pthread.dylib 0x00007fffb31a19f7 _pthread_start + 286 5 libsystem_pthread.dylib 0x00007fffb31a1221 thread_start + 13 Thread 13:: feathercoin-net 0 libsystem_kernel.dylib 0x00007fffb30b8f4e __select + 10 1 feathercoin-qt 0x000000010fb723c0 ThreadSocketHandler() + 2720 (net.cpp:902) 2 feathercoin-qt 0x000000010fb78857 void TraceThread<void (*)()>(char const*, void (*)()) + 135 (.util.h:139) 3 libboost_thread-mt.dylib 0x000000011067dafc boost::(anonymous namespace)::thread_proxy(void*) + 124 4 libsystem_pthread.dylib 0x00007fffb31a1aab _pthread_body + 180 5 libsystem_pthread.dylib 0x00007fffb31a19f7 _pthread_start + 286 6 libsystem_pthread.dylib 0x00007fffb31a1221 thread_start + 13 Thread 14:: feathercoin-addcon 0 libsystem_kernel.dylib 0x00007fffb30b8c8a __psynch_cvwait + 10 1 libsystem_pthread.dylib 0x00007fffb31a296a _pthread_cond_wait + 712 2 libboost_thread-mt.dylib 0x000000011067e4ec boost::condition_variable::do_wait_until(boost::unique_lock<boost::mutex>&, timespec const&) + 76 3 libboost_thread-mt.dylib 0x000000011067e89f boost::this_thread::hiden::sleep_for(timespec const&) + 191 4 feathercoin-qt 0x000000010fb7660d ThreadOpenAddedConnections() + 2349 (list:555) 5 feathercoin-qt 0x000000010fb78857 void TraceThread<void (*)()>(char const*, void (*)()) + 135 (.util.h:139) 6 libboost_thread-mt.dylib 0x000000011067dafc boost::(anonymous namespace)::thread_proxy(void*) + 124 7 libsystem_pthread.dylib 0x00007fffb31a1aab _pthread_body + 180 8 libsystem_pthread.dylib 0x00007fffb31a19f7 _pthread_start + 286 9 libsystem_pthread.dylib 0x00007fffb31a1221 thread_start + 13 Thread 15:: feathercoin-opencon 0 libsystem_kernel.dylib 0x00007fffb30b8c8a __psynch_cvwait + 10 1 libsystem_pthread.dylib 0x00007fffb31a296a _pthread_cond_wait + 712 2 libboost_thread-mt.dylib 0x000000011067e4ec boost::condition_variable::do_wait_until(boost::unique_lock<boost::mutex>&, timespec const&) + 76 3 libboost_thread-mt.dylib 0x000000011067e89f boost::this_thread::hiden::sleep_for(timespec const&) + 191 4 feathercoin-qt 0x000000010fb74e5a ThreadOpenConnections() + 650 (net.cpp:1308) 5 feathercoin-qt 0x000000010fb78857 void TraceThread<void (*)()>(char const*, void (*)()) + 135 (.util.h:139) 6 libboost_thread-mt.dylib 0x000000011067dafc boost::(anonymous namespace)::thread_proxy(void*) + 124 7 libsystem_pthread.dylib 0x00007fffb31a1aab _pthread_body + 180 8 libsystem_pthread.dylib 0x00007fffb31a19f7 _pthread_start + 286 9 libsystem_pthread.dylib 0x00007fffb31a1221 thread_start + 13 Thread 16:: feathercoin-msghand 0 libsystem_kernel.dylib 0x00007fffb30b8c8a __psynch_cvwait + 10 1 libsystem_pthread.dylib 0x00007fffb31a296a _pthread_cond_wait + 712 2 libboost_thread-mt.dylib 0x000000011067e4ec boost::condition_variable::do_wait_until(boost::unique_lock<boost::mutex>&, timespec const&) + 76 3 libboost_thread-mt.dylib 0x000000011067e89f boost::this_thread::hiden::sleep_for(timespec const&) + 191 4 feathercoin-qt 0x000000010fb774bf ThreadMessageHandler() + 1919 (vector:449) 5 feathercoin-qt 0x000000010fb78857 void TraceThread<void (*)()>(char const*, void (*)()) + 135 (.util.h:139) 6 libboost_thread-mt.dylib 0x000000011067dafc boost::(anonymous namespace)::thread_proxy(void*) + 124 7 libsystem_pthread.dylib 0x00007fffb31a1aab _pthread_body + 180 8 libsystem_pthread.dylib 0x00007fffb31a19f7 _pthread_start + 286 9 libsystem_pthread.dylib 0x00007fffb31a1221 thread_start + 13 Thread 17:: feathercoin-dumpaddr 0 libsystem_kernel.dylib 0x00007fffb30b8c8a __psynch_cvwait + 10 1 libsystem_pthread.dylib 0x00007fffb31a296a _pthread_cond_wait + 712 2 libboost_thread-mt.dylib 0x000000011067e4ec boost::condition_variable::do_wait_until(boost::unique_lock<boost::mutex>&, timespec const&) + 76 3 libboost_thread-mt.dylib 0x000000011067e89f boost::this_thread::hiden::sleep_for(timespec const&) + 191 4 feathercoin-qt 0x000000010fb78bb5 void LoopForever<void (*)()>(char const*, void (*)(), long long) + 245 (.util.h:533) 5 libboost_thread-mt.dylib 0x000000011067dafc boost::(anonymous namespace)::thread_proxy(void*) + 124 6 libsystem_pthread.dylib 0x00007fffb31a1aab _pthread_body + 180 7 libsystem_pthread.dylib 0x00007fffb31a19f7 _pthread_start + 286 8 libsystem_pthread.dylib 0x00007fffb31a1221 thread_start + 13 Thread 18:: feathercoin-wallet 0 libsystem_kernel.dylib 0x00007fffb30b8c8a __psynch_cvwait + 10 1 libsystem_pthread.dylib 0x00007fffb31a296a _pthread_cond_wait + 712 2 libboost_thread-mt.dylib 0x000000011067e4ec boost::condition_variable::do_wait_until(boost::unique_lock<boost::mutex>&, timespec const&) + 76 3 libboost_thread-mt.dylib 0x000000011067e89f boost::this_thread::hiden::sleep_for(timespec const&) + 191 4 feathercoin-qt 0x000000010fc81ad6 ThreadFlushWalletDB(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 294 (walletdb.cpp:816) 5 libboost_thread-mt.dylib 0x000000011067dafc boost::(anonymous namespace)::thread_proxy(void*) + 124 6 libsystem_pthread.dylib 0x00007fffb31a1aab _pthread_body + 180 7 libsystem_pthread.dylib 0x00007fffb31a19f7 _pthread_start + 286 8 libsystem_pthread.dylib 0x00007fffb31a1221 thread_start + 13 Thread 19: 0 libsystem_kernel.dylib 0x00007fffb30b8c8a __psynch_cvwait + 10 1 libsystem_pthread.dylib 0x00007fffb31a296a _pthread_cond_wait + 712 2 feathercoin-qt 0x000000010fbd3f1b boost::asio::detail::task_io_service::do_run_one(boost::asio::detail::scoped_lock<boost::asio::detail::posix_mutex>&, boost::asio::detail::task_io_service_thread_info&, boost::system::error_code const&) + 475 (posix_event.hpp:79) 3 feathercoin-qt 0x000000010fbd39f5 boost::asio::detail::task_io_service::run(boost::system::error_code&) + 309 (task_io_service.ipp:153) 4 feathercoin-qt 0x000000010fbce249 boost::asio::io_service::run() + 57 (error_code.hpp:365) 5 libboost_thread-mt.dylib 0x000000011067dafc boost::(anonymous namespace)::thread_proxy(void*) + 124 6 libsystem_pthread.dylib 0x00007fffb31a1aab _pthread_body + 180 7 libsystem_pthread.dylib 0x00007fffb31a19f7 _pthread_start + 286 8 libsystem_pthread.dylib 0x00007fffb31a1221 thread_start + 13 Thread 0 crashed with X86 Thread State (64-bit): rax: 0x00007f82cac3abf0 rbx: 0x15856984b0363bc8 rcx: 0x0000000000000003 rdx: 0x0000000000000000 rdi: 0x15856984b0363bc8 rsi: 0x00007fff5028b688 rbp: 0x00007fff5028b630 rsp: 0x00007fff5028b620 r8: 0x0000000000000000 r9: 0x00007f82cac35e60 r10: 0x0000000000000001 r11: 0x0000000000000001 r12: 0x10cd9016d0fb00f3 r13: 0x00007f82cad62bd0 r14: 0x00007fff5028b688 r15: 0x00007f82cac3a8f0 rip: 0x000000011098250a rfl: 0x0000000000010206 cr2: 0x000000010fab3b20 Logical CPU: 2 Error Code: 0x00000000 Trap Number: 13
-
@aciddude said in [DEV] MacOS - Build FeathercoinD v0.9.3.1:
…
…
So the above worked to remove the error:Dynamic session lookup supported but failed: launchd did not provide a socket path, verify that org.freedesktop.dbus-session.plist is loaded!
now it crashes with just the Segfault 11
acids-MacBook-Pro:qt acid$ DYLD_LIBRARY_PATH=/usr/local/Cellar/boost155/1.55.0_1/lib/ ./feathercoin-qt Segmentation fault: 11
Will post the OSX crash log next.
It was worth a try, at least. ;)
-
All my investigation is pointing to this:
in the newer versions of Xcode and MacOS, the compiler/command-line tools no longer include GCC. It has sym links or aliases for gcc and g++ that just map back to Apples clang or clang++ …and while Apple claim it is the same, it isnt.
So I believe to compile on the newer MacOS’ - some of the major dependencies need to be recompiled with Apples clang.
It seems that boost is the main culprit and possibily QT as well. The problem is a “catch 22” you cant use things that are built with gcc along side things built with clang…or so google tells me…it all has to be built with the same compiler. I also have no idea what compiler homebrew uses to do their builds/bottles but I believe it’s gcc.
so I reckon if I can get gcc installed without xcode and compile everything with that, it should work…I think.
Another issue is that with MacOS Sierra specifically, it barely supports QT 5.7.0 - QT 5.6.0 or lower isn’t an option…
So in my head:
1 - get GCC installed in a clean environment
2 - attempt to rebuild boost with 32 and 64 bit binaries
3 - try to build FTC and everything else with GCC. -
The last Apple GCC was v4.2.1. Newer releases directly from the GCC developers don’t support some Apple specific things which are required to compile Qt. It’s still possible to pull v4.2.1 from an old Xcode release and install it manually.
-
@ghostlander said in [DEV] MacOS - Build FeathercoinD v0.9.3.1:
The last Apple GCC was v4.2.1. Newer releases directly from the GCC developers don’t support some Apple specific things which are required to compile Qt. It’s still possible to pull v4.2.1 from an old Xcode release and install it manually.
Thanks @ghostlander - You being a developer…do you have any recommendations ?
-
Update:
I’ve gone as far back as OSX 10.9.5 inside Vmware.I followed Lizhi’s instructions for building Feathercoin-qt …
without installing xcode, I was able to build everything, the build log looked similar to when you do it on Ubuntu or Centos (minimal warnings, or the warnings I’m used to seeing)
Still though, QT crashes with a Segfault 11.
feathercoind runs perfectly, starts syncing the blockchain and all.
-
So I’ve managed to build the Wallet on MacOS 10.9.5
see screenshot here: https://i.snag.gy/ap6m4X.jpg
I’ve even managed to create a Feathercoin-qt.app (see the screenshot) - the APP is 61MB and I believe it has all the files needed for it to run…unfortunately running this on another mac, I get this error:
Dyld Error Message: Library not loaded: libboost_system-mt.dylib Referenced from: /Users/Apple2/Desktop/Feathercoin-Qt-0.9.3.1.app/Contents/Frameworks/libboost_filesystem-mt.dylib Reason: image not found
if I use otool on the qt binary it shows me what dylibs Feathercoin-QT is looking for.
Mac-Admin:~ admin$ otool -L Feathercoin-Qt-0.9.3.1.app/Contents/MacOs/feathercoin-qt Feathercoin-Qt-0.9.3.1.app/Contents/MacOs/feathercoin-qt: @loader_path/../Frameworks/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0) @loader_path/../Frameworks/libboost_system-mt.dylib (compatibility version 0.0.0, current version 0.0.0) @loader_path/../Frameworks/libboost_filesystem-mt.dylib (compatibility version 0.0.0, current version 0.0.0) @loader_path/../Frameworks/libboost_program_options-mt.dylib (compatibility version 0.0.0, current version 0.0.0) @loader_path/../Frameworks/libboost_thread-mt.dylib (compatibility version 0.0.0, current version 0.0.0) @loader_path/../Frameworks/libboost_chrono-mt.dylib (compatibility version 0.0.0, current version 0.0.0) @loader_path/../Frameworks/QtNetwork (compatibility version 5.5.0, current version 5.5.1) @loader_path/../Frameworks/QtPrintSupport (compatibility version 5.5.0, current version 5.5.1) @loader_path/../Frameworks/QtWidgets (compatibility version 5.5.0, current version 5.5.1) @loader_path/../Frameworks/QtGui (compatibility version 5.5.0, current version 5.5.1) @loader_path/../Frameworks/QtCore (compatibility version 5.5.0, current version 5.5.1) /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1056.16.0) /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 48.0.0) /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 1265.21.0) @loader_path/../Frameworks/libprotobuf.11.dylib (compatibility version 12.0.0, current version 12.0.0) @loader_path/../Frameworks/libdb_cxx-4.8.dylib (compatibility version 0.0.0, current version 0.0.0) @loader_path/../Frameworks/libqrencode.3.dylib (compatibility version 8.0.0, current version 8.4.0) @loader_path/../Frameworks/libssl.1.0.0.dylib (compatibility version 1.0.0, current version 1.0.0) @loader_path/../Frameworks/libcrypto.1.0.0.dylib (compatibility version 1.0.0, current version 1.0.0) /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 120.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1) /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 855.17.0) /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 59.0.0) /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)
The @loader_path points to my Frameworks directory inside the app.
-
Fyi I had to build the Feathercoin-qt.App Manually as doing a “make deploy” shows the below
Mac-Admin:FTC0931 admin$ make deploy ./contrib/macdeploy/macdeployqtplus Feathercoin-Qt.app -add-qt-tr da,de,es,hu,ru,uk,zh_CN,zh_TW -dmg -fancy ./contrib/macdeploy/fancy.plist -verbose 2 + Removing old dist folder + + Copying source bundle + + Deploying frameworks + Processing libboost_system.dylib ... Error: No file at libboost_system.dylib Traceback (most recent call last): File "./contrib/macdeploy/macdeployqtplus", line 583, in <module> sys.exit(ret) NameError: name 'ret' is not defined make: *** [Feathercoin-Qt.dmg] Error 1
I swear I was able to create a static 160MB file on Centos for Feathercoin that included everything needed for it to run as “portable” or “standalone” I just cant remember the switches…
LDFLAGS=-static doesn’t seem to do anything.
-
Ok so I believe …as per this http://stackoverflow.com/questions/5259249/creating-static-mac-os-x-c-build
that we cannot use -static since OSX doesnt like/support it.
-
Can we get away without the static build?
-
Hi All,
Finally!! after many moons and sleepless nights, I’ve done it!!
I have a Static Binary that worked on a clean MacOS Sierra install…no other dependancies or software were installed on the test machine.
This was build with MacOS Sierra, Boost155, Protobuf260, QT 5.7.0.
Full 64-bit, none of this going back generations of OS’s just to get it to build…No nonsense from Acid!
EDIT========The below link is for the Feathercoin-Qt.app file only.
Download link here:
https://ufile.io/09c25 -
Love a good screenshot!