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

Update libraries and fix openssl 1.1 qt4 build. #610

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

jameshilliard
Copy link

Should hopefully fix this error due to homebrew removing openssl 1.0:

$ ./Armory 
dyld: Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
  Referenced from: /Applications/Armory.app/Contents/MacOS/Python
  Reason: image not found
Abort trap: 6

@droark Could you try building with these changes after updating to the latest homebrew openssl?

@droark
Copy link

droark commented Dec 30, 2019

@jameshilliard - Thanks for looking into this. Which version of macOS are you running? I recently upgraded my Mac and am now on 10.15.2. I'm getting some compile errors. I can fire up a 10.14 VM. I just wanted to get your info first.

@jameshilliard
Copy link
Author

I was trying to get this to work on 10.14 but was having some build issues(that seem unrelated to openssl), the last release was built on 10.13 right? Can you try building on a 10.13 system?

@droark
Copy link

droark commented Dec 30, 2019

Okay. I fired up and updated my 10.13 VM. I see the following Qt issue.

clang++ -headerpad_max_install_names -stdlib=libc++ -mmacosx-version-min=10.7 -arch x86_64 -single_module -dynamiclib -compatibility_version	4.8 -current_version	4.8.7 -install_name	/Users/doug/Projects/armory-james/osxbuild/workspace/install/qt/lib/QtNetwork.framework/Versions/4/QtNetwork -o QtNetwork .obj/release-shared/qftp.o .obj/release-shared/qhttp.o .obj/release-shared/qhttpnetworkheader.o .obj/release-shared/qhttpnetworkrequest.o .obj/release-shared/qhttpnetworkreply.o .obj/release-shared/qhttpnetworkconnection.o .obj/release-shared/qhttpnetworkconnectionchannel.o .obj/release-shared/qnetworkaccessauthenticationmanager.o .obj/release-shared/qnetworkaccessmanager.o .obj/release-shared/qnetworkaccesscache.o .obj/release-shared/qnetworkaccessbackend.o .obj/release-shared/qnetworkaccessdebugpipebackend.o .obj/release-shared/qnetworkaccessfilebackend.o .obj/release-shared/qnetworkaccesscachebackend.o .obj/release-shared/qnetworkaccessftpbackend.o .obj/release-shared/qnetworkaccesshttpbackend.o .obj/release-shared/qnetworkcookie.o .obj/release-shared/qnetworkcookiejar.o .obj/release-shared/qnetworkrequest.o .obj/release-shared/qnetworkreply.o .obj/release-shared/qnetworkreplyimpl.o .obj/release-shared/qnetworkreplydataimpl.o .obj/release-shared/qnetworkreplyfileimpl.o .obj/release-shared/qabstractnetworkcache.o .obj/release-shared/qnetworkdiskcache.o .obj/release-shared/qhttpthreaddelegate.o .obj/release-shared/qhttpmultipart.o .obj/release-shared/qnetworksession.o .obj/release-shared/qnetworkconfigmanager.o .obj/release-shared/qnetworkconfiguration.o .obj/release-shared/qnetworkconfigmanager_p.o .obj/release-shared/qbearerengine.o .obj/release-shared/qbearerplugin.o .obj/release-shared/qsharednetworksession.o .obj/release-shared/qauthenticator.o .obj/release-shared/qhostaddress.o .obj/release-shared/qhostinfo.o .obj/release-shared/qurlinfo.o .obj/release-shared/qnetworkproxy.o .obj/release-shared/qnetworkinterface.o .obj/release-shared/qhostinfo_unix.o .obj/release-shared/qnetworkinterface_unix.o .obj/release-shared/qnetworkproxy_mac.o .obj/release-shared/qabstractsocketengine.o .obj/release-shared/qhttpsocketengine.o .obj/release-shared/qsocks5socketengine.o .obj/release-shared/qabstractsocket.o .obj/release-shared/qtcpsocket.o .obj/release-shared/qudpsocket.o .obj/release-shared/qtcpserver.o .obj/release-shared/qlocalsocket.o .obj/release-shared/qlocalserver.o .obj/release-shared/qnativesocketengine.o .obj/release-shared/qnativesocketengine_unix.o .obj/release-shared/qlocalsocket_unix.o .obj/release-shared/qlocalserver_unix.o .obj/release-shared/qssl.o .obj/release-shared/qsslcertificate.o .obj/release-shared/qsslconfiguration.o .obj/release-shared/qsslcipher.o .obj/release-shared/qsslerror.o .obj/release-shared/qsslkey.o .obj/release-shared/qsslsocket.o .obj/release-shared/qsslsocket_openssl.o .obj/release-shared/qsslsocket_openssl_symbols.o .obj/release-shared/moc_qhttpnetworkreply_p.o .obj/release-shared/moc_qnetworkaccesscache_p.o .obj/release-shared/moc_qnetworkaccessbackend_p.o .obj/release-shared/moc_qnetworkaccessdebugpipebackend_p.o .obj/release-shared/moc_qnetworkaccesshttpbackend_p.o .obj/release-shared/moc_qnetworkaccessfilebackend_p.o .obj/release-shared/moc_qnetworkaccessftpbackend_p.o .obj/release-shared/moc_qnetworkcookiejar.o .obj/release-shared/moc_qnetworkreply.o .obj/release-shared/moc_qabstractnetworkcache.o .obj/release-shared/moc_qnetworkdiskcache.o .obj/release-shared/moc_qhttpthreaddelegate_p.o .obj/release-shared/moc_qhttpmultipart.o .obj/release-shared/moc_qnetworkconfigmanager_p.o .obj/release-shared/moc_qnetworksession_p.o .obj/release-shared/moc_qbearerplugin_p.o .obj/release-shared/moc_qhostinfo_p.o .obj/release-shared/moc_qabstractsocketengine_p.o .obj/release-shared/moc_qhttpsocketengine_p.o .obj/release-shared/moc_qsocks5socketengine_p.o .obj/release-shared/moc_qtcpsocket.o .obj/release-shared/moc_qudpsocket.o .obj/release-shared/moc_qnativesocketengine_p.o  -F/Users/doug/Projects/armory-james/osxbuild/workspace/unpackandbuild/qt-everywhere-opensource-src-4.8.7/lib -L/usr/local/opt/openssl/lib -L/Users/doug/Projects/armory-james/osxbuild/workspace/unpackandbuild/qt-everywhere-opensource-src-4.8.7/lib -framework QtCore -L/usr/local/opt/openssl/lib -L/Users/doug/Projects/armory-james/osxbuild/workspace/unpackandbuild/qt-everywhere-opensource-src-4.8.7/lib -lz -framework SystemConfiguration -framework CoreFoundation -framework CoreServices 
Undefined symbols for architecture x86_64:
  "_ASN1_INTEGER_get", referenced from:
      QSslCertificate::version() const in qsslcertificate.o
     (maybe you meant: __Z18q_ASN1_INTEGER_getP14asn1_string_st)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [../../lib/QtNetwork.framework/QtNetwork] Error 1
make[1]: *** [release] Error 2

@jameshilliard
Copy link
Author

Did you update homebrew/openssl to the latest version as well?

@@ -18,26 +18,26 @@
from tempfile import mkstemp

# Set some constants up front
minOSXVer = '10.8'
pythonVer = '2.7.15' # NB: ArmoryMac.pro must also be kept up to date!!!
minOSXVer = '10.9'
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe try with this reverted?

@droark
Copy link

droark commented Dec 30, 2019

Ahhh, yeah, I forgot to update all that. Getting closer. I can build but now I have a sip issue when I attempt to start Armory. I feel like I've seen this before and have just forgotten how to resolve it.

Dougs-Mac:MacOS doug$ ./Armory --testnet
Traceback (most recent call last):
  File "/Users/doug/Projects/armory-james/osxbuild/workspace/Armory.app/Contents/MacOS/py/usr/local/lib/armory/ArmoryQt.py", line 36, in <module>
    from PyQt4.QtCore import *
ImportError: No module named sip

While we're at it, one good thing to do would be to mod the compile steps before this is pulled. For example, I had to run brew install python@2 in order to get back Python 2.x. I'm guessing there will be at least one more before this is all over.

@jameshilliard
Copy link
Author

Does it work if you take just the 2 openssl qt4 patches I added without any of the other changes?

@jameshilliard
Copy link
Author

@droark I made a minimal openssl patch in #613.

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

Successfully merging this pull request may close these issues.

2 participants