-
-
Notifications
You must be signed in to change notification settings - Fork 816
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
[ST3/4] Package Control not working on macOS #1612
Comments
I have the same problem with MacOS 12.1. In the past, the old MacOS has installed sublime text and upgraded to 12.1. This problem does not exist. OpenSSL version 2.8.3 can be used, but OpenSSL version 3.1.0 cannot be used |
Same problem here as well, on MacOS Monterrey, using OpenSSL v3.0.1 Traceback (most recent call last):
File "/Users/aviftw/Library/Application Support/Sublime Text/Installed Packages/Package Control.sublime-package/package_control/deps/oscrypto/_openssl/_libcrypto_ctypes.py", line 305, in <module>
File "./python3.3/ctypes/__init__.py", line 366, in __getattr__
File "./python3.3/ctypes/__init__.py", line 371, in __getitem__
AttributeError: dlsym(0x2214322e0, EVP_PKEY_size): symbol not found |
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
if i install sublime text 4126 using official sublimetext, will i face this issues? |
Most likely, any installation on Big Sur or above will face this issue. This issue stems from the fact that PackageControl, like many programs, still relies on older versions of OpenSSL (and is not compatible newer versions of the library). The version of the library Probably, the best long term fix would be to bundle libcrypto.dylib with the PackageControl installation, to ensure correct versioning. Or to upgrade the dependency, to prevent potential SSL exploits in older versions. EDIT: I was corrected, ST3 does ship with |
but in the contents of the app directory, there are |
or can it be done in this way, that sublime will only use the backdated library instead of making it the default one. |
Please don't quote previous comments all over the time! That said, Package Control uses oscrypto python package for HTTPS communication, because ST2 and first releases of ST3 didn't support SSL. oscrypto relies on ssl libraries from OS as the name says. Package Control fails loading as openssl 3 ABI changed in ways which cause import errors, so needed modules are not loaded. Otherwise using urllib downloader would probably fix the issue as it uses ST's bundled openssl libraries these days. |
I have the same issue. I am running MacOS Monterey 12.6 and a freshly installed version of Sublime Text 3 (Build 1426). When I install Package Control, it seems to install correctly but cannot be used. Package Control is not in my "ignored packages" as in some other users' issues. When I try to go into the Package Control settings - everything is greyed out (see below) |
@nbrooks09 — the screenshot you've attached appears to be an unrelated problem. You have You may be able to solve this by replacing your Homebrew installation (if you use one) to the ARM-based Homebrew, or by manually building arm64 libcrypto, or you might be able to find an answer in this openssl github issue. If someone with an M1 mac find a solution, please let us know! |
@faelin thanks for this! I had the ARM-based Homebrew installed already. What worked for me was to move libcrypto.dylib. |
This comment was marked as outdated.
This comment was marked as outdated.
I'd be curious whether it stil happens in four-point-oh branch as it ships with latest oscrypto libs. |
I can try that out some time later if I don't forget. Is there anything else I need to consider before just cloning the repo into my Packages folder? |
Basically not, I hope. I've tested migration from PC3.x to PC4 several times with success on Windows and Linux (Elementary OS). It should convert the library structure (move all to Lib) and should be ready after a single restart of ST. The only limitation so far is libraries being reinstalled rather than updated when calling Satisfy Libraries as required PEP404 and PEP508 version comparison is not yet applied. I use that branch in production without noticible issues however. |
Quick update, since my local setup became so broken I needed to update my packages and wasn't able to go around this anymore. Following are my steps and observations during the update process:
|
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
For those who having trouble due to OpenSSL and some time for testing could checkout PC 4.0-beta. To do so:
Package Control 4.0 uses latest oscrypto library which should support OpenSSL 3.
|
Is there any way to bootstrap this? |
Package Control will be uppraded next time package update is triggered, either by automatic updates at ST startup or by manually calling "Package Control: Upgrade All Packages/Overwrite All" via Command Palette. In case PC3.x is not working, you can
|
@deathaxe The file that gets downloaded in your instructions above is named 'Package.Control.sublime-package' I found that I needed to rename the file to 'Package Control.sublime-package' in order for this fix to work. (I changed the first Period, after the word 'Package' to a space) Also needed to restart ST3. Package Control appears to be working again as expected after this. |
Right, but that only works if PC has been installed and bootstrapped. On a clean install these steps don't work. |
just run: |
I have installed Package Control v4.0.0-beta8 on my macOS 14 with Sublime Text 4 with OpenSSL 3. It works perfectly. $ openssl version
OpenSSL 3.1.3 19 Sep 2023 (Library: OpenSSL 3.1.3 19 Sep 2023)
$ subl -v
Sublime Text Build 4152
$ sw_vers
ProductName: macOS
ProductVersion: 14.0
BuildVersion: 23A344 If you are stuck at the place where Package Control 3.0 cannot run to update itself, you can do either of the 2 steps:
|
So I was getting the plugin_host-3.3 has exited unexpectedly error. Manually going through plugins and disabling them didn't do anything, so I archived my Sublime Text folder in the Application Support, and it opened without errors. I told it to install the Package Control automatically, and it did, but upon restarting the error came back. So I manually downloaded the beta, but when I started that one it said plugin_host-3.8 has exited unexpectedly... I tried to force openssl 1.1 via brew but that didn't seem to alter anything or allow me to interact with Package Control menus, to sort or permute lines, to shrink or enlarge text and so on. I am some updates behind on the MacOS, so I am gonna try that next. |
Don't forget to rename |
I just got my issue resolved by deleting "0_package_control_loader.sublime-package" and "Package Control.sublime-package" from the Install Packages folder. |
Why has this not been fixed within the program? Why do I have to download the latest version from here, name it correctly (by removing the dot between Package.Control) instead of it working inside sublime? It's been months... |
There are 2 major reasons:
Until then, the only chance to ship the package for download is via Github releases, which do NOT support spaces in file names. They are replaced by periods. That's why you need to rename it. It would be easy to file a final 4.0.0 version, soon, but would still leave those behind whose systems refuses to run PC 3.x |
good to me |
I wonder if it'd be useful to edit the original question to add the currently helpful answer(s?) to it so it (they?) don't get lost in the rest of the comments until various fixes come through. Just not sure how else to help people find the info. Took me a while to dig through here to find the two pieces that worked for me. Thank you for the help! |
Fixed by 4.0 Note: Whether Package Control 4.0 can be installed directly via Sublime Text's main menu depends on whether the related package file will be signed and uploaded to packagecontrol.io by @wbond. Until then you may still need to
as the beta builds before. |
Where should we check to find out if the related package file is signed and uploaded to packagecontrol.io, @deathaxe? That way, Future People will know where to look to find out if they can start installing via the main menu again. |
The link at https://packagecontrol.io/installation would point to the PC 4.0 binary, I guess. The official release, which is also downloaded by ST's install helper is located at https://packagecontrol.io/Package%20Control.sublime-package Package Control 3.4.1 Metadata Name: Package Control.sublime-package Package Control 4.0.0 would differ. I don't want to post the details to avoid confusion with possible future releases. |
Well, after installing 3.4.1 from the main menu, it will still update itself to 4.0 on next ST start (or sometime later), doesn't it? So effectively it's gonna be installed already anyway. @deathaxe I'm not sure if that part is clear from your messaging here and in release notes. |
But this won't help those - especially MacOS users, who have already run into Package Control not working issue due to openssl3 being linked. Those won't benefit from auto-update from 3.4.1 to 4.0. They must take the hard way and install manually from this repo's releases page. |
It work for me. I downloaded the sublime 4 from the official site (Build 4169) If you close the ST totally and re-open it, you can see some error messages from the console. (View -> Show Console) Now you can open the installed packages folder.
|
Just checking if I understand correctly:
|
Depends on the original author of this package who is the only one with access to packagecontrol.io
You can check the version by...
The version is listed in the details part under package name.
Unfortunatelly, correct. |
Thank you very much! This worked for me! Sublime Text 4169 macOS Big Sur 11.6 |
Thank you! |
Doesn't work on intel macOS. |
I just used the solution for my Intel Macbook and unblocked. I am using Sublime Text 4 Stable Channel, Build 4169. My processor is 2.3 GHz Quad-Core Intel Core i75. The installation page's Manual section step 3 does not have the most recent release, thus manually downloading there did not help. The solution here has the right link, I would suggest either update the link on installation page's manual session, or if there is a reason not to do so, add a link(on installation page) to this issue. In my console log I found following error message which is equivalent to this issue's:
|
The original author - quite inactive recently - is the only one with write access to packagecontrol.io and thus the only one who could upload latest release there, which would also be required for ST's Package Control installer to directly install it. The error message indicates Package Control 3.x to still be loaded! PC4.0 would run on python 3.8. Maybe refer to "Solution" section provided in OP? |
I tried instaling the Package Control via Command Palette and even manually but it was not working, after some debugging I found that the ctypes file for python3.3 are not being correctly loaded
This is the relevant part in the debug
Here is the rest of the output log
Any ideas on how to solve this?
Solution
Recommended solution for this issue is to manually install Package Control 4.0
Note
Whether Package Control 4.0 can be installed directly via Sublime Text's main menu depends on whether the related package file will be signed and uploaded to packagecontrol.io by @wbond.
Related package download link on packagecontrol.io is also out-dated for the very same reason.
Until then run the following code snippet from within ST's console
or manually
Package Control.sublime-package
The text was updated successfully, but these errors were encountered: