Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Mac binary] Install fails on High Sierra #9

Closed
faetos opened this issue Jul 14, 2018 · 1 comment
Closed

[Mac binary] Install fails on High Sierra #9

faetos opened this issue Jul 14, 2018 · 1 comment

Comments

@faetos
Copy link
Contributor

faetos commented Jul 14, 2018

This issue tracker is only for technical issues related to Helium Core.
General Helium questions and/or support requests and are best directed to the Helium Slack.

Current binary (now replaced) will not run on Mac OSX High Sierrra

Can you reliably reproduce the issue? - Yes

If so, please list the steps to reproduce below:

  1. Download binary from github source 0.14.3
  2. Run the binary
  3. Error occurs

Expected behavior

Binary should run and install

Actual behavior

Binary encountered an error and would not run. Missing a library

Screenshots.

screen_shot_2018-07-13_at_12 05 06_am

What version of Helium Core are you using?

v0.14.3

Machine specs:

  • OS: Mac OSX High Sierra

Any extra information that might be useful in the debugging process.

Notes from slack on what to fix and test:

diff --git a/contrib/macdeploy/macdeployqtplus b/contrib/macdeploy/macdeployqtplus
index 992bbbb86..30ad932d5 100755
--- a/contrib/macdeploy/macdeployqtplus
+++ b/contrib/macdeploy/macdeployqtplus
@@ -332,7 +332,11 @@ def deployFrameworks(frameworks, bundlePath, binaryPath, strip, verbose, deploym
if deploymentInfo.qtPath is None and framework.isQtFramework():
deploymentInfo.detectQtPath(framework.frameworkDirectory)

  •    if framework.installName.startswith("@executable_path") or framework.installName.startswith(bundlePath):
    
  •    if framework.frameworkName == 'libboost_system-mt.dylib':
    
  •        print("Aha, gotcha! ({}) {} {}".format(os.getcwd()+'/contrib/macdeploy/', framework.sourceFilePath, framework.installName))
    
  •        shutil.copy2(os.getcwd()+'/contrib/macdeploy/libboost_system-mt.dylib', os.getcwd()+'/'+framework.sourceFilePath)
    
  •    elif framework.installName.startswith("@executable_path") or framework.installName.startswith(bundlePath):
           if verbose >= 2:
               print(framework.frameworkName, "already deployed, skipping.")
           continue
    

1 CommentCollapse 
There's a bug in the script somewhere - if you keep a sharp eye on the output during make deploy, you'll see a message to the effect that libboost-system.dylib has already been copied, so libboost-system-mt.dylib is inappropriately skipped. I don't yet know how to tell it to use -mt in preference but I can kick it in the nuts:

gj6:31 PM
needs cp /usr/local/Cellar/boost//lib/libboost-system-mt.dylib contrib/macdeploy
6:32 PM
just adds the -mt dylib to the bundle - would be cleaner to remove the non-mt version (assuming it's redundant)
6:34 PM
I don't know whether these are still required, they were once ...

gj6:34 PM
added this C++ snippet: iostream in base58 
diff --git a/src/base58.cpp b/src/base58.cpp
index 1ff1ba313..98d0a2b85 100644
--- a/src/base58.cpp
+++ b/src/base58.cpp
@@ -10,6 +10,7 @@
#include <assert.h>
#include <boost/variant/apply_visitor.hpp>
#include <boost/variant/static_visitor.hpp>
+#include
#include
#include <stdint.h>
#include <string.h>

Add CommentCollapse 

gj6:36 PM
added this Diff snippet: OSMemoryBarrier deprecation 
diff --git a/src/leveldb/port/atomic_pointer.h b/src/leveldb/port/atomic_pointer.h
index 9bf091f75..d1698ef30 100644
--- a/src/leveldb/port/atomic_pointer.h
+++ b/src/leveldb/port/atomic_pointer.h
@@ -52,7 +52,10 @@ namespace port {

Add CommentClick to expand inline (17 lines)

gj6:37 PM
echo "./configure --with-incompatible-bdb --with-miniupnpc --with-default-upnp--with-qrencode --disable-bench CXXFLAGS=-std=c++11 LDFLAGS=-L/usr/local/opt/openssl/lib CPPFLAGS=-I/usr/local/opt/openssl/include --disable-shared --with-pic" > configure-for-osx.sh

@faetos
Copy link
Contributor Author

faetos commented Jul 15, 2018

Made all the changes - compile fine

@faetos faetos closed this as completed Jul 15, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant