-
Notifications
You must be signed in to change notification settings - Fork 589
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
macOS OpenSSL version issue - Homebrew moved it from v1.0 to v1.1 - initial fix #635
Comments
Thanks for raising this Murat! I appreciate your detailed replication details. Let me have a look. |
It seems that the recommended way to install older versions of a Homebrew formula (Homebrew/homebrew-core#46876) is not working. When the recommended way using brew extract is used as follows -
I get the errors below, which seems to be issue with Homebrew's incorrect mapping to the download URL, though the correct download URLs are extracted to the file -
|
However, by tracing the Homebrew commit history, trying to .. will lead to SHA checksum not matching error. |
A solution that I found to be working, is manually update the checksum from the file generated by the
In the meantime, have raised an issue to Homebrew on why the recommended and supported method is not working and above hack has to be used - Homebrew/homebrew-core#47368 A Homebrew maintainer replied that the error on download failed is expected and the expectation is user install Xcode command line utilities in order to build from source. I'm evaluating and not likely to go via that way, because it adds additional dependencies and friction for users. Until a better solution is found, my preference is using above self-hosted solution instead of building from source by users or building from source and maintaining the binaries ourselves. |
The solution seems to be running below commands in terminal. There are 2 uninstall commands to make sure any OpenSSL v1.1 is removed, and any dead v1.0 is removed, before installing v1.0. The v1.0 Homebrew formula below is created by combining the SHA checksums of the
|
Hello, Ken, |
I can't still install ruby , when I run rvm install 2.5.1 , rvm start to install openssl@1.1 I tried setting up the --with-openssl-lib=/opt/local/lib/openssl-1.0 --with-openssl-include=/opt/local/include/openssl-1.0 , and still nothing, do you know why rvm start to install the new openssl? |
Hi @jrreyes29 this issue has nothing to do with rvm Ruby version manager. Above solution is only meant to solve the problem faced with using TagUI. Try raising issue at RVM GitHub or mailing list support for advice how to fix for rvm. |
The solution above has been suggested for over a week without issues. Now giving feedback to Homebrew maintainer to do a final check on whether the solution is robust is sound - Hi @muratcim so far have you run into problems using the solution? If yes let me know, then I'll improve on the solution above. Otherwise the entry point to use on macOS would be blocked. |
Hi Ken, |
Thanks Murat for verifying and your feedback! |
Closing issue while waiting for new inputs from users and feedback from Homebrew maintainer. At the other project TagUI for Python, I'm running a free Starbucks promotion for users who raise unknown bugs. I replied there to you, pleasure to treat you and friend a drink! |
Thanks for this solution. Actually I know nothing about tagui but this really helps a lot of ruby/rails developers. Since homebrew removed openssl1.0 versions and easily gets it upgraded, many old rails project got crashed suddenly and we can't even find a formula to install the old versions... I searched everywhere and somehow only this issue helped.. |
Thanks @liuzirui1122 for dropping by and leaving a thank you note, appreciate it! Yes it turns out that the 2 changes (macOS removing OpenSSL switching to LibreSSL, and Homebrew upgrading to OpenSSL v1.1 removing v1.0) are impacting many people and apps. You see this issue #86 here which tracks the solution. Every week there are over 3k unique visitors to that issue. Am glad that solving TagUI's problem, the solution indirectly is also helpful to others! |
Thx @kensoh , |
Hi @kensoh,
just to let you know that this is a known The workaround in that thread (fixing the extracted formula) should let you use the original bottle from Homebrew's bintray, which might be more robust then depending on a specific URL from another GitHub projet (https://github.com/tebelorg/Tump/releases/download/v1.0.0/openssl.rb) EDIT: also see this comment by one of Homebrew's maintainer saying |
@aryanagarwal15 `jacks@Jackss-MBP ~ % brew --version You are in 'detached HEAD' state. You can look around, make experimental If you want to create a new branch to retain commits you create, you may git switch -c Or undo this operation with: git switch - Turn off this advice by setting config variable advice.detachedHead to false HEAD is now at 77e09fc16 Merge pull request #7661 from MikeMcQuaid/man-url-install Traceback (most recent call last): |
@David3434 I would suggest once purging brew and doing a fresh install in Big Sur. Apple introduced Command Line Tools 12 in Mac Big Sur which is not working well with Homebrew. A fresh install may solve the issue. Please note: Purging Homebrew can cause serious damage to many applications which depend on brew packages, make sure you know what you are doing here. |
@aryanagarwal15 |
@aryanagarwal15 `jack@Jacks-MBP ~ % cd /usr/local/Homebrew/ Note: switching to '2.3.0'. You are in 'detached HEAD' state. You can look around, make experimental If you want to create a new branch to retain commits you create, you may git switch -c Or undo this operation with: git switch - Turn off this advice by setting config variable advice.detachedHead to false HEAD is now at 77e09fc16 Merge pull request #7661 from MikeMcQuaid/man-url-install and run openssl is keg-only, which means it was not symlinked into /usr/local, If you need to have openssl first in your PATH run: For compilers to find openssl you may need to set: ==> Summary ` |
Got the error below when run
The err:
|
|
@alouanemed I skipped this by just hard-coding What I now cannot do is switch to using it since |
The unfortunate reality is that Homebrew doesn't want to be a developer oriented package manager with version control, but a cowboy program installer & delivery method for the latest and greatest. See here: I guess the cost of maintaining brew switch was too high and it does not seem like you're ever going to get the same functionality you had before and should move away from expecting it from Homebrew. As a work-around for this, it gets kinda lame if you just want it done.
and then update the symlink in /usr/local/opt to point to this directory
|
If it helps, I was able to use Besides that, his answer works a charm! |
I had the same problem, but then I run
|
Hi, I'm having the same issue. Now I'm on the step: Can someone please guide me here? Thanks |
Since I had to spend almost half a day to resolve this issue, here is my feedback and solution
What worked for me was
You can check the explanation here rbenv/ruby-build#1489 or search in Google with the above to find why it works. If you have a few years old dev environment and software, avoid upgrading to big sur. |
I'm on Catalina... |
If you're getting errors like:
OR
I found this blog post which shows how to properly use brew tap-new $USER/local-openssl
brew extract --version=1.0.2t openssl $USER/local-openssl
# Install from your freshly created local repo
brew install openssl@1.0.2t
# builds openssl (as no bottle is available)
Disclaimer: I'm not a user of TagUI, I use openssl-1.0.2t with rstudio-server. |
Hi Guys, for TagUI we may have found the permanent solution. Note that this solution may not help for other projects. https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-macosx.zip Though above zip is PhantomJS v2.1.1 (same as TagUI packaged PJS), total file size for this zip after extraction is different. It might be Ariya, creator of PhantomJS, put in a fix already just to solve this headache with macOS/OpenSSL/Homebrew. |
I meet this issue too on my big sur,and I don't know how to install openssl |
Hi Guys, for TagUI we may have found the permanent solution. Note that this solution may not help for other projects. https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-macosx.zip Though above zip is PhantomJS v2.1.1 (same as TagUI packaged PJS), total file size for this zip after extraction is different. It might be Ariya, creator of PhantomJS, put in a fix already just to solve this headache with macOS/OpenSSL/Homebrew. |
hello @kensoh thanks for your help |
Hi @jack338c for TagUI, the solution is found, it is to unzip the above PhantomJS v2.1.1 to replace the existing installation. That should fix the issue for TagUI. However, for other apps having this error message, it'll require the respective apps vendors or maintainer to advise if overriding the OpenSSL version on your macOS works. The real permanent solution will be other apps providers upgrading their apps to support newer OpenSSL but it can take time. |
@kensoh |
Because of that, I ran 'git checkout -' as the last step. Then it worked |
Thanks @weallblind for adding on! For TagUI at least, the solution has a permanent fix by using the updated PhantomJS package at below link. In the next TagUI release, this will be packaged as part of the release. For other apps having this issue, the solution will depends on whether the app creators have migrated to newer version of OpenSSL (which is the real permanent fix instead of using workarounds which can come with their own disadvantages) |
For the RVM folks having trouble installing old Ruby versions on Apple M1, this might help |
I had this issue for using MariaDB. I am on a new Macbook Pro 2021 with M1 Max. I had to use x86 brew as described here:
|
Stop putting information behind paywalls.... makes me sick |
Hi Guys, for TagUI we may have found the permanent solution. Note that this solution may not help for other projects.
Download directly from below link. After unzipping, put contents of unzipped folder into tagui/src/phantomjs folder.
https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-macosx.zip
Though above zip is PhantomJS v2.1.1 (same as TagUI packaged PJS), total file size for this zip after extraction is different. It might be Ariya, creator of PhantomJS, put in a fix already just to solve this headache with macOS/OpenSSL/Homebrew.
Hi Ken,
Today I encountered some error related to openssl while installing tagui on my mac computer.
2.2.0 version of homebrew released on November 27. In this version openssl 1.0 has been deleted for end of life.brew install openssl now installs version 1.1
referance: https://brew.sh/2019/11/27/homebrew-2.2.0/
Version 1.1 has /usr/local/opt/openssl/lib/libssl.1.1.dylib instead of /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
So the following lines of code in the tagui python project don't work
if not os.path.isfile('/usr/local/opt/openssl/lib/libssl.1.0.0.dylib'):
This can be corrected in some way, but most importantly, phantom addiction.phantom gives the following error in openssl 1.1 version
dyld: Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
Referenced from: /Users/mcim/.moxie-tagui/phantomjs/bin/phantomjs
Reason: image not found
I continue to research about the problem and I will share it when there is an improvement
The text was updated successfully, but these errors were encountered: