-
-
Notifications
You must be signed in to change notification settings - Fork 8.4k
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
[🐛 Bug]: Selenium Manager binary not executing on Apple Sillicon #12423
Comments
@stephannv, thank you for creating this issue. We will troubleshoot it as soon as we can. Info for maintainersTriage this issue by using labels.
If information is missing, add a helpful comment and then
If the issue is a question, add the
If the issue is valid but there is no time to troubleshoot it, consider adding the
If the issue requires changes or fixes from an external project (e.g., ChromeDriver, GeckoDriver, MSEdgeDriver, W3C),
add the applicable
After troubleshooting the issue, please add the Thank you! |
We have seen this reported in the past, and in all cases the cause was either Rosetta was in use or the Ruby/Python installation was using x86 binaries. We have double checked this and the code in SM is fine. I do have an M1 and it works well. Please double check and let us know. |
Hi @diemol. Now I downloaded selenium manager from here: https://github.com/SeleniumHQ/selenium/blob/trunk/common/manager/macos/selenium-manager Ps.: My chip is M1 Max |
Run it with --trace and share the output, please |
@titusfortner same results:
|
Ah, sorry, your issue says:
but I see now that the selenium-manager binary isn't even executing on your machine. It is puzzling because the binary is working for everyone else using an M1. |
Yeah @titusfortner , at first I think it was related with geckodriver, but after downloading selenium manager from repo I could not run selenium-manager. |
@titusfortner , I do have Mac with Apple-M2, i did not observe this issue. selenium manager gets executed and downloads geckodriver in |
@sandeepsuryaprasad do you have rosetta installed? |
@stephannv, Yes, it is installed. If I try to open an application built for Application (Intel), it works and it is not asking me to install rosetta (that means it is already installed). I can see the option "Open using Rosetta" for Application (Universal) |
My OS is monterey and when I try to open any intel app it shows a dialog asking to install Rosetta. |
My Mac is running on Ventura. It's pre installed. |
There is currently no arm64 version of Selenium-Manager. I suppose once you install Rosetta 2, x64 binaries will automatically be run via Rosetta. |
I'm do not have experience with Mac OS building tools, so I don't know if generating universal apps are hard, but would be nice if selenium manager was an universal app: https://developer.apple.com/documentation/apple-silicon/building-a-universal-macos-binary |
Yes, Selenium Manager is built with Rust, not Swift. Since the binaries for all supported architectures must be included in each release (and checked into the repo), we are balancing the number of architecture-specific binaries and the total size of the packages / repo. For instance, the windows 32 bit binary is also used for both 32 & 64 bit architectures. Please install Rosetta and seeing if that allows the binary to work for you. Perhaps everyone else already has it installed so it wasn't obvious that we needed to be explicit about it as a requirement. |
This worked for me. To save some googling for other folks, I installed Rosetta with |
Thanks. |
By choosing not to make an universal build (or releasing 2 binaries), almost all projects using selenium/manager get a new OS dependency: rosetta. I'm not sure if this is a right decision, I think a universal app should be considered, at least for some time. |
|
I'm using M1 for 1+ year for web dev/game dev/audio tools/art software and I never needed to install rosetta, it's the first time a tool requires to install rosetta. And I could not upgrade my OS due to incompatiblity bugs on Ventura. I saw |
Looks like Simon figured out how to make it a universal binary using our build system and existing tooling, so we'll probably end up doing that after all. |
Follow up in #12455 |
@p0deje I replaced old selenium-manager with selenium-manager from PR artifacts and it's working 🥳: ![]() |
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
What happened?
When SeleniumManager tries to download Firefox driver for MacOS, it is downloading wrong version. I'm getting " Bad CPU type in executable" error (same error message from this issue mozilla/geckodriver#1984).
On release page has two versions https://github.com/mozilla/geckodriver/releases
For Apple Silicon machines, it should download
aarch64
version.Last year I solved this problem on
webdrivers
gem on this PR: titusfortner/webdrivers#234Basically:
System.apple_m1_architecture? ? 'macos-aarch64.tar.gz' : 'macos.tar.gz'
The
apple_m1_architecture?
method (I would recommend to change method name toapple_silicon?
:How can we reproduce the issue?
Relevant log output
The text was updated successfully, but these errors were encountered: