Feathercoin daemon and wallet production version

[DEV] MacOS - Build Feathercoind + Feathercoin-Qt v0.9.3.1 [COMPLETED]

  • Moderators | Tip AcidD

    @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 ?

  • Moderators | Tip AcidD

    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.

  • Moderators | Tip AcidD

    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-
      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-
            @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.

  • Moderators | Tip AcidD

    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>
    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.

  • Moderators | Tip AcidD

    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.

  • Moderators | Tip wrapper

    Can we get away without the static build?

  • Moderators | Tip AcidD

    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:

  • Moderators | Tip AcidD

    Love a good screenshot!


  • Moderators | Tip AcidD

    I’ve also managed to get the “Make Deploy” working.

    You have to edit a few files since it’s looking for things “Bitcoin” related (eg. Bitcoin-qt becomes Feathercoin-qt…etc)

    However…after some hackery I can now produce a DMG file with a working Feathercoin-Qt App. YAY!!


    I just downloaded GIMP so I can change the “To install Bitcoin…” Text

  • Moderators | Tip AcidD

    Hi All,

    This is ready for testing I believe.

    Random (might be useful) points:

    • Built Feathercoin from source here: https://github.com/FeatherCoin/Feathercoin/tree/
      major hackery with the Makefiles to get things like C++11 support for QT 5.7

    • Built it under MacOS Sierra 10.12.1
      Yes I did go back to Mavricks 10.9 out of pure frustration at one point, I had 2 build stations (VMs) at work and 1 at home (MacBookPro) , each with different versions of OSX…trying different things…the final working build came from my OSX Sierra MacBookPro

    • Hackery for “Make Deploy” - wasn’t much, I had a info.plist file ready to copy into the Feathercoin-Qt.app as the “Make deploy” is running …otherwise the .App file gets built and doesn’t work because it’s looking for the executable binary “Bitcoin-Qt”

    • Edited the background.png file in the contrib/macdeploy folder - just added the Feathercoin name instead of Bitcoin

    • on OSX Sierra 10.12 you’ll have to use QT 5.7.0 since previous versions are not supported. You’ll get an error “QT Requires C++11 Support” . - thats when the Makefile Hackery for /src/qt/Makefile comes in…while other Makefiles were left alone
      You’ll also get the same error for macdockiconhandler and you have to go and add the same flags you did for QT CXXFLAGS on OBJCXXFLAGS

    -std=c++11   <<< add that 
    • LevelDB Makefile was edited to include that flag
    • Last ./configure command looked like this:
    acids-MBP:FTC0931 acid$ ./configure --disable-upnp-default --disable-tests --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-gui=qt5 --with-qrcode=yes --with-boost=/usr/local/Cellar/boost155/1.55.0_1

    Anyways, I digress… Here’s the goods.

    Link to DMG:

    Love a good screen shot:

    Anyone testing this, feel free to post back in this thread.

  • Moderators | Tip AcidD

    Full blockchain sync on test machine in 4 hours. Will pass some FTC back and fourth between my dev machine and the test machine.

    Test Machine is a MacBook Pro with a Fresh Install of MacOS Sierra. No dependancies or libs were installed, the DMG opens and the app installs successfully. A complete static build.

  • Moderators | Tip AcidD

    Hi All,

    Both the wallet on my dev machine and test machine synced correctly.

    I sent some FTC to my dev machine here:

    I’d like to get a few more test machines running this before we push it to Feathercoin.com for downloading.

  • Regular Member | Tip AmDD

    Awesome! Im not on a mac but thanks for the effort put into this!!

  • | Tip sradics

    @aciddude said in [DEV] MacOS - Build Feathercoind + Feathercoin-Qt v0.9.3.1 [COMPLETED]:


    Just did a test with https://ufile.io/26924 and it was working fine for me on Mac-OS Sierra - MacBook (Retina, 12-inch, Early 2015).

    Installer worked without problems and Feathercoin-QT GUI started fast. Did 1 outgoing transaction and one incoming transaction and both worked well and fast.

    So - now I’m running v0.9.3.1 - GREAT JOB 🙂

  • Moderators | Tip wrapper

    @Wellenreiter has now created the release version 0.9.6. This should just compile the same as 0.3.1 and - the differenced are documentation.

    Once were happy that compiles and runs as version, the test look positive to produce the official build.

    Version 0.9.6 contains a number of significant improvements, particularly in look and feel.

  • Moderators | Tip Wellenreiter

    Actually it is

    We are planning the release for the second half of January, if all goes well

  • Moderators | Tip wrapper

    Should have just edited it, i’m still rough.

    It needs to be 0.9.6 otherwise people will still use 0.9.5 because it is a bigger number !!!

    Sorry didn’t notice, the slight difference, when i checked it.

  • Moderators | Tip Wellenreiter

    ok, branch number is 0.9.6 now

  • Moderators | Tip AcidD

    Hi All,

    This work has been documented to the best of my ability, see here:

  • administrators | Tip uncle_muddy

    Link to DMG:

    Anyone testing this, feel free to post back in this thread.

    Have a spare few moments so was trying to give this a run for it’s money but the file is no longer available, can anyone provide me with a working link for this?