build: Fix 'make deploy' for OSX #9412

pull jonasschnelli wants to merge 3 commits into bitcoin:master from jonasschnelli:2016/12/fix_mac_deploy changing 4 files +16 −4
  1. jonasschnelli commented at 8:54 AM on December 23, 2016: contributor

    This is mostly work from @theuni. This fix works on my macOS 10.12. Native OSX uses system tools rather than 3rd party dependencies. rsvg-convert is still required, though.

    Should fix https://github.com/bitcoin/bitcoin/issues/8120

  2. build: Fix 'make deploy' for OSX
    Native OSX uses system tools rather than 3rd party dependencies. rsvg-convert
    is still required, though.
    09aefb5177
  3. jonasschnelli added the label MacOSX on Dec 23, 2016
  4. Mention RSVG dependency when creating the disk image on OSX b01667c778
  5. jonasschnelli force-pushed on Dec 23, 2016
  6. fanquake commented at 9:43 AM on December 23, 2016: member

    Quickly tested (10.11), finished .dmg seems to work ok. Good idea with a note in the build doc, otherwise the command not found error should be enough for anyone who hasn't bothered to read it.

    Only thing I noticed were these files left in the dir afterwards, however that might have always been the case:

    background.tiff
    background.tiff.png
    background.tiff@2x.png
    

    Build log:

    sed 's/PACKAGE_NAME/Bitcoin Core/' < "contrib/macdeploy/background.svg" | rsvg-convert -f png -d 36 -p 36 -o background.tiff.png
    /bin/sh: rsvg-convert: command not found
    make: *** [background.tiff.png] Error 127
    bash-3.2$ brew install librsvg
    ==> Installing librsvg 
    ==> Downloading https://homebrew.bintray.com/bottles/librsvg-2.40.16_1.el_capitan.bottle.tar.gz
    ######################################################################## 100.0%
    ==> Pouring librsvg-2.40.16_1.el_capitan.bottle.tar.gz
    ==> /usr/local/opt/gdk-pixbuf/bin/gdk-pixbuf-query-loaders --update-cache
    🍺  /usr/local/Cellar/librsvg/2.40.16_1: 50 files, 1.6M
    bash-3.2$ make deploy
    /Applications/Xcode.app/Contents/Developer/usr/bin/make -C src qt/bitcoin-qt
    sed 's/PACKAGE_NAME/Bitcoin Core/' < "contrib/macdeploy/background.svg" | rsvg-convert -f png -d 36 -p 36 -o background.tiff.png
    sed 's/PACKAGE_NAME/Bitcoin Core/' < "contrib/macdeploy/background.svg" | rsvg-convert -f png -d 72 -p 72 -o background.tiff@2x.png
    tiffutil -cathidpicheck background.tiff.png background.tiff@2x.png -out background.tiff
    2 images written to background.tiff.
    /usr/local/bin/python3.5 ./contrib/macdeploy/macdeployqtplus Bitcoin-Qt.app -add-qt-tr da,de,es,hu,ru,uk,zh_CN,zh_TW -translations-dir= -dmg -fancy ./contrib/macdeploy/fancy.plist -verbose 2 -volname Bitcoin-Core
    + Copying source bundle +
    + Deploying frameworks +
    Processing libzmq.5.dylib ...
    Processing libboost_system.dylib ...
    Processing libboost_filesystem.dylib ...
    Processing libboost_program_options-mt.dylib ...
    Processing libboost_thread-mt.dylib ...
    Processing libboost_chrono-mt.dylib ...
    Processing QtNetwork.framework ...
    Linked: dist/Bitcoin-Qt.app/Contents/Frameworks/QtNetwork.framework/Versions/Current -> 5
    Processing QtWidgets.framework ...
    Linked: dist/Bitcoin-Qt.app/Contents/Frameworks/QtWidgets.framework/Versions/Current -> 5
    Processing QtGui.framework ...
    Linked: dist/Bitcoin-Qt.app/Contents/Frameworks/QtGui.framework/Versions/Current -> 5
    Processing QtCore.framework ...
    Linked: dist/Bitcoin-Qt.app/Contents/Frameworks/QtCore.framework/Versions/Current -> 5
    Processing libprotobuf.11.dylib ...
    Processing libdb_cxx-4.8.dylib ...
    Processing libssl.1.0.0.dylib ...
    Processing libcrypto.1.0.0.dylib ...
    Processing libminiupnpc.16.dylib ...
    Processing libevent_pthreads-2.0.5.dylib ...
    Processing libevent-2.0.5.dylib ...
    Processing libboost_system-mt.dylib ...
    libboost_system-mt.dylib already deployed, skipping.
    Processing QtCore.framework ...
    Processing QtGui.framework ...
    Processing libcrypto.1.0.0.dylib ...
    + Deploying plugins +
    Processing plugin bearer/libqcorewlanbearer.dylib ...
    Processing plugin bearer/libqgenericbearer.dylib ...
    Processing plugin canbus/libqtpeakcanbus.dylib ...
    Processing QtSerialBus.framework ...
    Linked: dist/Bitcoin-Qt.app/Contents/Frameworks/QtSerialBus.framework/Versions/Current -> 5
    Processing QtSerialPort.framework ...
    Linked: dist/Bitcoin-Qt.app/Contents/Frameworks/QtSerialPort.framework/Versions/Current -> 5
    Processing plugin canbus/libqttinycanbus.dylib ...
    Processing plugin generic/libqtuiotouchplugin.dylib ...
    Processing plugin geoservices/libqtgeoservices_mapbox.dylib ...
    Processing QtLocation.framework ...
    Linked: dist/Bitcoin-Qt.app/Contents/Frameworks/QtLocation.framework/Versions/Current -> 5
    Processing QtPositioning.framework ...
    Linked: dist/Bitcoin-Qt.app/Contents/Frameworks/QtPositioning.framework/Versions/Current -> 5
    Processing QtQuick.framework ...
    Linked: dist/Bitcoin-Qt.app/Contents/Frameworks/QtQuick.framework/Versions/Current -> 5
    Processing QtQml.framework ...
    Linked: dist/Bitcoin-Qt.app/Contents/Frameworks/QtQml.framework/Versions/Current -> 5
    Processing plugin geoservices/libqtgeoservices_nokia.dylib ...
    Processing plugin geoservices/libqtgeoservices_osm.dylib ...
    Processing plugin imageformats/libqdds.dylib ...
    Processing plugin imageformats/libqgif.dylib ...
    Processing plugin imageformats/libqicns.dylib ...
    Processing plugin imageformats/libqico.dylib ...
    Processing plugin imageformats/libqjpeg.dylib ...
    Processing plugin imageformats/libqmacjp2.dylib ...
    Processing plugin imageformats/libqtga.dylib ...
    Processing plugin imageformats/libqtiff.dylib ...
    Processing plugin imageformats/libqwbmp.dylib ...
    Processing plugin imageformats/libqwebp.dylib ...
    Processing plugin platforminputcontexts/libqtvirtualkeyboardplugin.dylib ...
    Processing plugin platforms/libqcocoa.dylib ...
    Processing QtPrintSupport.framework ...
    Linked: dist/Bitcoin-Qt.app/Contents/Frameworks/QtPrintSupport.framework/Versions/Current -> 5
    Processing plugin platforms/libqminimal.dylib ...
    Processing plugin platforms/libqoffscreen.dylib ...
    Processing plugin printsupport/libcocoaprintersupport.dylib ...
    Processing plugin sceneparsers/libassimpsceneio.dylib ...
    Processing Qt3DExtras.framework ...
    Linked: dist/Bitcoin-Qt.app/Contents/Frameworks/Qt3DExtras.framework/Versions/Current -> 5
    Processing Qt3DRender.framework ...
    Linked: dist/Bitcoin-Qt.app/Contents/Frameworks/Qt3DRender.framework/Versions/Current -> 5
    Processing Qt3DCore.framework ...
    Linked: dist/Bitcoin-Qt.app/Contents/Frameworks/Qt3DCore.framework/Versions/Current -> 5
    Processing QtConcurrent.framework ...
    Linked: dist/Bitcoin-Qt.app/Contents/Frameworks/QtConcurrent.framework/Versions/Current -> 5
    Processing Qt3DInput.framework ...
    Linked: dist/Bitcoin-Qt.app/Contents/Frameworks/Qt3DInput.framework/Versions/Current -> 5
    Processing QtGamepad.framework ...
    Linked: dist/Bitcoin-Qt.app/Contents/Frameworks/QtGamepad.framework/Versions/Current -> 5
    Processing Qt3DLogic.framework ...
    Linked: dist/Bitcoin-Qt.app/Contents/Frameworks/Qt3DLogic.framework/Versions/Current -> 5
    Processing plugin sceneparsers/libgltfsceneio.dylib ...
    + Installing qt.conf +
    + Adding Qt translations +
    + Preparing .dmg disk image +
    .......................................................................................................
    .............................................................................................
    created: /Users/xxx/bitcoin/Bitcoin-Qt.temp.dmg
    + Applying fancy settings +
    Running AppleScript:
    
            on run argv
               tell application "Finder"
                 tell disk "Bitcoin-Core"
                       open
                       set current view of container window to icon view
                       set toolbar visible of container window to false
                       set statusbar visible of container window to false
                       set the bounds of container window to {300,300,800,620}
                       set theViewOptions to the icon view options of container window
                       set arrangement of theViewOptions to not arranged
                       set icon size of theViewOptions to 96
                       set background picture of theViewOptions to file ".background:background.tiff"
                       do shell script "SetFile -a V /Volumes/Bitcoin-Core/.background/background.tiff" 
                       set position of item "Applications" of container window to {370,156}
                       set position of item "Bitcoin-Qt.app" of container window to {128,156}
                       close -- close/reopen works around a bug...
                       open
                       update without registering applications
                       delay 5
                       eject
                 end tell
               end tell
            end run
            
    + Finalizing .dmg disk image +
    Preparing imaging engine…
    Reading Protective Master Boot Record (MBR : 0)…
       (CRC32 $01460B54: Protective Master Boot Record (MBR : 0))
    Reading GPT Header (Primary GPT Header : 1)…
       (CRC32 $A19D89EC: GPT Header (Primary GPT Header : 1))
    Reading GPT Partition Data (Primary GPT Table : 2)…
       (CRC32 $E39CEB27: GPT Partition Data (Primary GPT Table : 2))
    Reading  (Apple_Free : 3)…
       (CRC32 $00000000:  (Apple_Free : 3))
    Reading disk image (Apple_HFS : 4)…
    ......................................................................................................
       (CRC32 $D537CEB1: disk image (Apple_HFS : 4))
    Reading  (Apple_Free : 5)…
    ......................................................................................................
       (CRC32 $00000000:  (Apple_Free : 5))
    Reading GPT Partition Data (Backup GPT Table : 6)…
    ......................................................................................................
       (CRC32 $E39CEB27: GPT Partition Data (Backup GPT Table : 6))
    Reading GPT Header (Backup GPT Header : 7)…
    .......................................................................................................
       (CRC32 $78676E64: GPT Header (Backup GPT Header : 7))
    Adding resources…
    .......................................................................................................
    Elapsed Time:  8.870s
    File size: 21983155 bytes, Checksum: CRC32 $6D214F1F
    Sectors processed: 138467, 125524 compressed
    Speed: 6.9Mbytes/sec
    Savings: 69.0%
    created: /Users/xxx/bitcoin/Bitcoin-Qt.dmg
    + Done +
    

    This will supersede #9405

  7. MarcoFalke commented at 11:38 AM on December 23, 2016: member

    Concept ACK

  8. kallewoof commented at 12:58 PM on December 23, 2016: member

    ACK on make deploy, but apparently I need OS X 10.12 or later (I have 10.11.6) so I can't actually test it. (Is there some reason for that requirement at all?)

  9. jonasschnelli commented at 12:59 PM on December 23, 2016: contributor

    @kallewoof: why would you need macOS 10.12? I think this should work also on OSX 10.8 and should also work on OSX 10.11.

  10. fanquake commented at 12:59 PM on December 23, 2016: member

    You shouldn't need 10.12, I'm testing on 10.11 . On Fri, 23 Dec 2016 at 20:58, kallewoof notifications@github.com wrote:

    ACK on make deploy, but apparently I need OS X 10.12 or later (I have 10.11.6) so I can't actually test it. (Is there some reason for that requirement at all?)

    — You are receiving this because you commented.

    Reply to this email directly, view it on GitHub https://github.com/bitcoin/bitcoin/pull/9412#issuecomment-268986345, or mute the thread https://github.com/notifications/unsubscribe-auth/AA0t8uGDU5yuCBRzHQWnXkZGJTDxqSgjks5rK8VqgaJpZM4LUqbc .

  11. kallewoof commented at 1:03 PM on December 23, 2016: member

    Weird. I didn't change anything I just fetched the 2016/12/fix_mac_deploy branch and did make, make deploy and grabbed the resulting Bitcoin-Qt.dmg file.

    Edited: For reference:

    $ make deploy
    build-aux/install-sh -c -d Bitcoin-Qt.app/Contents
    build-aux/install-sh -c -d Bitcoin-Qt.app/Contents/Resources
    build-aux/install-sh -c -d Bitcoin-Qt.app/Contents/Resources
    /usr/bin/install -c -m 644 src/qt/res/icons/bitcoin.icns Bitcoin-Qt.app/Contents/Resources/bitcoin.icns
    build-aux/install-sh -c -d Bitcoin-Qt.app/Contents
    /usr/bin/install -c -m 644 share/qt/Info.plist Bitcoin-Qt.app/Contents/Info.plist
    /Applications/Xcode.app/Contents/Developer/usr/bin/make -C src qt/bitcoin-qt
    build-aux/install-sh -c -d Bitcoin-Qt.app/Contents/MacOS
    STRIPPROG="/usr/bin/strip" /bin/sh [omitted]/build-aux/install-sh -c -s  src/qt/bitcoin-qt Bitcoin-Qt.app/Contents/MacOS/Bitcoin-Qt
    build-aux/install-sh -c -d Bitcoin-Qt.app/Contents/Resources/Base.lproj
    echo '{	CFBundleDisplayName = "Bitcoin Core"; CFBundleName = "Bitcoin Core"; }' > Bitcoin-Qt.app/Contents/Resources/Base.lproj/InfoPlist.strings
    sed 's/PACKAGE_NAME/Bitcoin Core/' < "contrib/macdeploy/background.svg" | rsvg-convert -f png -d 36 -p 36 -o background.tiff.png
    sed 's/PACKAGE_NAME/Bitcoin Core/' < "contrib/macdeploy/background.svg" | rsvg-convert -f png -d 72 -p 72 -o background.tiff@2x.png
    tiffutil -cathidpicheck background.tiff.png background.tiff@2x.png -out background.tiff
    2 images written to background.tiff.
    /usr/local/bin/python3.5 ./contrib/macdeploy/macdeployqtplus Bitcoin-Qt.app -add-qt-tr da,de,es,hu,ru,uk,zh_CN,zh_TW -translations-dir= -dmg -fancy ./contrib/macdeploy/fancy.plist -verbose 2 -volname Bitcoin-Core
    + Copying source bundle +
    + Deploying frameworks +
    Processing libzmq.5.dylib ...
    Processing libboost_system.dylib ...
    Processing libboost_filesystem.dylib ...
    Processing libboost_program_options-mt.dylib ...
    Processing libboost_thread-mt.dylib ...
    Processing libboost_chrono-mt.dylib ...
    Processing QtNetwork.framework ...
    Linked: dist/Bitcoin-Qt.app/Contents/Frameworks/QtNetwork.framework/Versions/Current -> 5
    Processing QtWidgets.framework ...
    Linked: dist/Bitcoin-Qt.app/Contents/Frameworks/QtWidgets.framework/Versions/Current -> 5
    Processing QtGui.framework ...
    Linked: dist/Bitcoin-Qt.app/Contents/Frameworks/QtGui.framework/Versions/Current -> 5
    Processing QtCore.framework ...
    Linked: dist/Bitcoin-Qt.app/Contents/Frameworks/QtCore.framework/Versions/Current -> 5
    Processing libprotobuf.11.dylib ...
    Processing libdb_cxx-4.8.dylib ...
    Processing libssl.1.0.0.dylib ...
    Processing libcrypto.1.0.0.dylib ...
    Processing libminiupnpc.16.dylib ...
    Processing libevent_pthreads-2.0.5.dylib ...
    Processing libevent-2.0.5.dylib ...
    Processing libboost_system-mt.dylib ...
    libboost_system-mt.dylib already deployed, skipping.
    Processing QtCore.framework ...
    Processing QtGui.framework ...
    Processing libcrypto.1.0.0.dylib ...
    + Deploying plugins +
    Processing plugin bearer/libqcorewlanbearer.dylib ...
    Processing plugin bearer/libqgenericbearer.dylib ...
    Processing plugin canbus/libqtpeakcanbus.dylib ...
    Processing QtSerialBus.framework ...
    Linked: dist/Bitcoin-Qt.app/Contents/Frameworks/QtSerialBus.framework/Versions/Current -> 5
    Processing QtSerialPort.framework ...
    Linked: dist/Bitcoin-Qt.app/Contents/Frameworks/QtSerialPort.framework/Versions/Current -> 5
    Processing plugin canbus/libqttinycanbus.dylib ...
    Processing plugin generic/libqtuiotouchplugin.dylib ...
    Processing plugin geoservices/libqtgeoservices_mapbox.dylib ...
    Processing QtLocation.framework ...
    Linked: dist/Bitcoin-Qt.app/Contents/Frameworks/QtLocation.framework/Versions/Current -> 5
    Processing QtPositioning.framework ...
    Linked: dist/Bitcoin-Qt.app/Contents/Frameworks/QtPositioning.framework/Versions/Current -> 5
    Processing QtQuick.framework ...
    Linked: dist/Bitcoin-Qt.app/Contents/Frameworks/QtQuick.framework/Versions/Current -> 5
    Processing QtQml.framework ...
    Linked: dist/Bitcoin-Qt.app/Contents/Frameworks/QtQml.framework/Versions/Current -> 5
    Processing plugin geoservices/libqtgeoservices_nokia.dylib ...
    Processing plugin geoservices/libqtgeoservices_osm.dylib ...
    Processing plugin imageformats/libqdds.dylib ...
    Processing plugin imageformats/libqgif.dylib ...
    Processing plugin imageformats/libqicns.dylib ...
    Processing plugin imageformats/libqico.dylib ...
    Processing plugin imageformats/libqjpeg.dylib ...
    Processing plugin imageformats/libqmacjp2.dylib ...
    Processing plugin imageformats/libqtga.dylib ...
    Processing plugin imageformats/libqtiff.dylib ...
    Processing plugin imageformats/libqwbmp.dylib ...
    Processing plugin imageformats/libqwebp.dylib ...
    Processing plugin platforminputcontexts/libqtvirtualkeyboardplugin.dylib ...
    Processing plugin platforms/libqcocoa.dylib ...
    Processing QtPrintSupport.framework ...
    Linked: dist/Bitcoin-Qt.app/Contents/Frameworks/QtPrintSupport.framework/Versions/Current -> 5
    Processing plugin platforms/libqminimal.dylib ...
    Processing plugin platforms/libqoffscreen.dylib ...
    Processing plugin printsupport/libcocoaprintersupport.dylib ...
    Processing plugin sceneparsers/libassimpsceneio.dylib ...
    Processing Qt3DExtras.framework ...
    Linked: dist/Bitcoin-Qt.app/Contents/Frameworks/Qt3DExtras.framework/Versions/Current -> 5
    Processing Qt3DRender.framework ...
    Linked: dist/Bitcoin-Qt.app/Contents/Frameworks/Qt3DRender.framework/Versions/Current -> 5
    Processing Qt3DCore.framework ...
    Linked: dist/Bitcoin-Qt.app/Contents/Frameworks/Qt3DCore.framework/Versions/Current -> 5
    Processing QtConcurrent.framework ...
    Linked: dist/Bitcoin-Qt.app/Contents/Frameworks/QtConcurrent.framework/Versions/Current -> 5
    Processing Qt3DInput.framework ...
    Linked: dist/Bitcoin-Qt.app/Contents/Frameworks/Qt3DInput.framework/Versions/Current -> 5
    Processing QtGamepad.framework ...
    Linked: dist/Bitcoin-Qt.app/Contents/Frameworks/QtGamepad.framework/Versions/Current -> 5
    Processing Qt3DLogic.framework ...
    Linked: dist/Bitcoin-Qt.app/Contents/Frameworks/Qt3DLogic.framework/Versions/Current -> 5
    Processing plugin sceneparsers/libgltfsceneio.dylib ...
    + Installing qt.conf +
    + Adding Qt translations +
    + Preparing .dmg disk image +
    ...............................................................................
    .......................................................................
    created: [omitted]/Bitcoin-Qt.temp.dmg
    + Applying fancy settings +
    Running AppleScript:
    
            on run argv
               tell application "Finder"
                 tell disk "Bitcoin-Core"
                       open
                       set current view of container window to icon view
                       set toolbar visible of container window to false
                       set statusbar visible of container window to false
                       set the bounds of container window to {300,300,800,620}
                       set theViewOptions to the icon view options of container window
                       set arrangement of theViewOptions to not arranged
                       set icon size of theViewOptions to 96
                       set background picture of theViewOptions to file ".background:background.tiff"
                       do shell script "SetFile -a V /Volumes/Bitcoin-Core/.background/background.tiff"
                       set position of item "Bitcoin-Qt.app" of container window to {128,156}
                       set position of item "Applications" of container window to {370,156}
                       close -- close/reopen works around a bug...
                       open
                       update without registering applications
                       delay 5
                       eject
                 end tell
               end tell
            end run
    
    + Finalizing .dmg disk image +
    Preparing imaging engine…
    Reading Protective Master Boot Record (MBR : 0)…
       (CRC32 $DBFB7409: Protective Master Boot Record (MBR : 0))
    Reading GPT Header (Primary GPT Header : 1)…
       (CRC32 $6E65E97E: GPT Header (Primary GPT Header : 1))
    Reading GPT Partition Data (Primary GPT Table : 2)…
       (CRC32 $39BC88C2: GPT Partition Data (Primary GPT Table : 2))
    Reading  (Apple_Free : 3)…
       (CRC32 $00000000:  (Apple_Free : 3))
    Reading disk image (Apple_HFS : 4)…
    ..............................................................................
       (CRC32 $86DEF2FD: disk image (Apple_HFS : 4))
    Reading  (Apple_Free : 5)…
    ..............................................................................
       (CRC32 $00000000:  (Apple_Free : 5))
    Reading GPT Partition Data (Backup GPT Table : 6)…
    ..............................................................................
       (CRC32 $39BC88C2: GPT Partition Data (Backup GPT Table : 6))
    Reading GPT Header (Backup GPT Header : 7)…
    ...............................................................................
       (CRC32 $5E978D32: GPT Header (Backup GPT Header : 7))
    Adding resources…
    ...............................................................................
    Elapsed Time:  4.415s
    File size: 22872103 bytes, Checksum: CRC32 $156764A5
    Sectors processed: 142300, 128940 compressed
    Speed: 14.3Mbytes/sec
    Savings: 68.6%
    created: [omitted]/Bitcoin-Qt.dmg
    + Done +
    $ open Bitcoin-Qt.dmg
    

    Edited 2: Probably obvious, but src/qt/bitcoin-qt works fine.

  12. fanquake added the label Build system on Dec 23, 2016
  13. fanquake commented at 11:31 PM on December 23, 2016: member

    There was a bugfix included in #9405, https://github.com/bitcoin/bitcoin/pull/9405/commits/77c4570e7e0cc299264489962c0e15b56cf5e4ce, @jonasschnelli did you want to cherry pick/include that here?

  14. Fix bug in dmg builder so that it actually reads in the configuration file 2fb98f6661
  15. jonasschnelli commented at 9:45 AM on December 30, 2016: contributor

    Added 77c4570 from #9405. Please retest @fanquake (and maybe @paveljanik?)

  16. fanquake commented at 10:56 AM on December 30, 2016: member

    Retested on OSX 10.12. The finished .dmg mounts correctly and the Bitcoin Core.app inside runs fine.

    ACK 2fb98f6.

  17. kallewoof commented at 1:17 PM on December 30, 2016: member

    I am not sure why my specific machine (10.11.6) does this but the problem I am seeing appears to stem from a lack of the -mmacosx-version-min argument to compiler/linker. This is listed in depend/host/darwin.mk but this file seems to be used for some other purpose.

    diff --git a/configure.ac b/configure.ac
    index 74808cd33..9d7109314 100644
    --- a/configure.ac
    +++ b/configure.ac
    @@ -308,6 +308,9 @@ case $host in
          LEVELDB_TARGET_FLAGS="-DOS_MACOSX"
          if  test x$cross_compiling != xyes; then
            BUILD_OS=darwin
    +       CPPFLAGS="$CPPFLAGS -mmacosx-version-min=10.9"
    +       CXXFLAGS="$CXXFLAGS -mmacosx-version-min=10.9"
    +       LIBS="$LIBS -mmacosx-version-min=10.9"
            AC_CHECK_PROG([PORT],port, port)
            if test x$PORT = xport; then
              dnl add default macports paths
    

    Above patch fixes the issue on my end. Note that a make clean seems to be necessary after applying this patch. Note that with -mmacosx-version-min=10.8 (the value seen in depend/host/darwin.mk), the configure phase fails with a cannot find Boost libraries error. This change modifies the compilation in a number of ways (specifically it changes which libraries are used where) and requires caution. It also doesn't fully address the issue[1], although the deployed Bitcoin-Qt application runs without problems.

    [1]: Univalue emits e.g.

    ld: warning: object file (univalue/.libs/libunivalue.a(libunivalue_la-univalue.o)) was built for newer OSX version (10.12) than being linked (10.9)
    

    Further reading: https://stackoverflow.com/questions/39310079/mac-app-package-backwards-compatibility-error-you-cant-use-this-version-of-t

    Edit: make check executes without error.

  18. jonasschnelli merged this on Jan 2, 2017
  19. jonasschnelli closed this on Jan 2, 2017

  20. jonasschnelli referenced this in commit 53442af0aa on Jan 2, 2017
  21. droark commented at 9:56 PM on January 2, 2017: contributor

    Hello. FYI, the mount looks a little weird on my system (10.12.2) when built with make deploy -j8.

    DMG mounted

    I don't have this problem with the official 0.13.2 RC1 DMG, which is correctly sized (while also showing .background, although that might just be my setup). Other than that, this works fine, and the actual code itself looks fine to me.

  22. MarcoFalke commented at 10:04 PM on January 2, 2017: member

    I don't have this problem with the official 0.13.2 RC1 DMG

    If you need a dmg for testing from current master (with this pull included) you can download https://bitcoin.jonasschnelli.ch/nightlybuilds/2017-01-03/bitcoin-0.13.99-osx-unsigned.dmg in about 3 hours.

  23. droark commented at 7:22 AM on January 3, 2017: contributor

    @MarcoFalke - The nightly build looks fine to me. Not sure why mine came out a bit weird. Any idea on where I might be able to look and investigate?

    Thanks.

  24. jonasschnelli commented at 7:24 AM on January 3, 2017: contributor

    @droark: the make deploy process on OSX is different to the linux based (gitian) make deploy. It uses different tools. The make deploy script for OSX is somehow nice to have, but not mandatory for doing proper static-bin releases.

  25. codablock referenced this in commit a590da317c on Jan 18, 2018
  26. andvgal referenced this in commit e119fa1fd1 on Jan 6, 2019
  27. CryptoCentric referenced this in commit 9bdf31bdbd on Feb 26, 2019
  28. DrahtBot locked this on Sep 8, 2021

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-21 18:15 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me