-
Notifications
You must be signed in to change notification settings - Fork 299
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
Support for ARM-based processor #5914
Comments
Rubberduck is currently compiled with the Lines 28 to 32 in 5a0ac77
I'm not certain how that would impact the installer, maybe @bclothier can shed some light on that. As a workaround it should be definitively possible to build it locally with the Platform set to ARM for an ARM-compatible build. |
Hello, any news, can the installer be build for arm support? |
I apologize for having missed this question when Vogel pinged me last month. Can you please clarify when you see the dialog? As soon as you try to run the installer, correct? I think we need to first answer whether the Rubberduck's code itself can compile on ARM and I don't have an ARM system handy to prove this. What I'd want to do is see if we can get a volunteer to try and install Rubberduck manually without the installer so we can verify it will work on ARM without issues and if we can prove that, we can try and extend the installer to run on ARM. |
Just to leave notes for development: Inno Setup has a flag for ARM64 here: However, we have this entry:
May be as simple as adding |
Hello, thanks for the answer. Sure I can volunteer to install RubberDuckVBA, on my system. Can you walk me thru how could I install it manually I only installed trough the installer, and yes the message above appears as soon as click on the installer. System is Apple silicon (M1 Pro) Windows 11 on Parallels 17. |
When there's time, a zip file and instruction will be prepared here. Thanks for volunteering! |
Also, forgive me for asking such basic question but I want to be super duper sure --- we can run VBA code on an ARM system, right? |
Ok I did some quick testing on my personal add-in, everything runs ok just on function doesn't get recognized. The input function. But I do some research, will get it done. Meanwhile in the task manager excel runs on ARM(x64 compatibility mode). |
Hello @bclothier, any updates on this issue? Thanks |
My VBA-apps work perfectly on ARM-processor. Support for ARM would be much appreciated. I can do some testing if that would help. |
Hello @Developers, any update on this issue? Thanks |
None of the developers have an ARM machine to run any tests surrounding this, as such your best bet on getting support for it is spending an hour on setting a local build and installer up for yourself and submitting a PR if it works :) All the necessary steps after cloning and opening in Visual Studio are already outlined in this thread. |
Hi and thanks for the lib !! Same problem here, unfortunately i don't know how to build locally, but will be happy to help if someone can guide me. @tothzola |
@arthur-verta hello, I did try to compile my own version locally but I couldn't figure out how, so unfortunately no. |
I’m pretty fluent in VBA and other languages but have no clue how to even start building my own Rubberduck.com <http://rubberduck.com/>-thingamajig. So I’m stuck in waiting mode.
If anyone can give usefull instructions, I’m more than willing to test.
In the meantime, I bought a Windows-machine to continue developing for my clients.
Cheers.
… Op 29 sep. 2022, om 13:14 heeft Toth Zoltan ***@***.***> het volgende geschreven:
Hi and thanks for the lib !!
Same problem here, unfortunately i don't know how to build locally, but will be happy to help if someone can guide me.
@tothzola <https://github.com/tothzola>
Have you found a solution ?
@arthur-verta <https://github.com/arthur-verta> hello, I did try to compile my own version locally but I couldn't figure out how, so unfortunately no.
Keep me updated if you succeed. Thanks
—
Reply to this email directly, view it on GitHub <#5914 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AOHCHJ3G3AHIZQIKTJMOQF3WAV2ZJANCNFSM5JWAJ3KA>.
You are receiving this because you commented.
|
any updates on this? love rubberduck but have now migrated to apple silicon like @lvavesaath I am willing to test if needed |
Nothing here... Still stuck and still available to help if someone is wanting to guide us on how to compile it 👍 |
Because I don't have an ARM64 processor and because there seems to be an issue with using the build to build an ARM output, this makes things a bit more complicated so before we go to the trouble, I want to confirm this is a working version of ARM64 build. If any of you can confirm that this is working, we can look into integrating this in the build process. This is the setup file as a zip since GitHub doesn't allow uploading exe file directly. Unzip it then run the setup. This will not run on any other architecture. |
hey @bclothier thank for this. I have attempted to get this working , but the COM addin does not seem to want to load. The installer runs fine , but I get "rubberduck add-in failed to load" error when launching the IDE. My MSO is Version 2211 Build 16.0.15831.20202) 64-bit on windows 11 Enterprise for ARM64 |
hey @bclothier thanks for the zip. on Microsoft® Excel® for Microsoft 365 MSO (Version 2211 Build 16.0.15831.20202) 64-bit |
I did some research and one thing I noticed is that the Rubberduck's DLL files are reported as ARM64 so that's right. I determined this using ROM Properties. However, the dependent DLLs that aren't owned by Rubberduck does not appear to be generated as ARM64. I do not know if that's a factor but if the dependent DLLs fail to load due to incompatibility, that might be why. Furthermore, Rubberduck depends on Easyhook and unfortunately, it's not clear whether it is capable of running on ARM64 platform. We would need to verify that it will work there as I don't see any special build for ARM64. It might just work as-is but I can't be 100% sure that's the case. Finally, I looked at the I can post a branch for those with a ARM64 version of Visual Studio and see if they have any better luck building and running it. |
Hy @bclothier, I also installed the Rubberduck ARM64 setup, so far have the same issue. It displays as loaded but missing extension ... ? *Edit: Objects can be referenced. Microsoft® Excel® 2016 MSO (16.0.14332.20431) 64-bit Thanks & Cheers |
Ok, so I got the confirmation that yes, Incidentally, it should be pointed out that Rubberduck has a number of other dependencies as well. For example, the Castle Windsor makes no mention of any ARM support and the ROM properties report their DLL as 32-bit "Intel i386 (.NET)" as shown below. This seems to be true for all other dependent DLLs including ANTLR and various Microsoft stuff: |
@bclothier Thanks for efforts , unfortunate that external dependencies are blocking this. A quick look at the easyhook repo shows that this has been discussed since the ARM based WinRT came out (7 yrs ago!) and there was never a resolution. Maybe with the introduction of the M series hardware there will be more interest in ARM compatibility. I have Win64 resources to run things in case , but have been trying to reduce my machine sprawl and have been moving to the MBP with parallels for Win. |
Parallels is a virtualization software rather than an emulator so if your MBP is based on an ARM processor rather than an Intel processor, then Parallels has to work with ARM-based Windows software. An emulator would be much slower. If you have any Mac that still has an Intel processor, then Parallels should be able to allow you to use x86-compiled software. I know that really doesn't help with the machine sprawl, though. |
Thanks @bclothier for enlightment. Have some of you found Rubberduck replacement solution, by any chance, running on ARM ? Even paying product ? |
IIRC EasyHook is only used for hooking the Fakes API (and the "beep" suppressor for autocompletion features); if it's the only thing holding back an ARM64 build, there's probably a way to fork RD and build it without this dependency (obviously at the cost of the Fakes API not making it). As for a replacement, I'm not sure about ARM64 but I think twinBASIC is a serious contender. |
Actually twinBASIC is also unavailable for ARM at this time. As a temporary solution, I've been setupping an Azure Virtual Machine running on Windows 11 64 Bits. Rubberduck is running like a charm on it, and i can access it from my MacBook M1. It is a solution that work fine if you just need to do a Rubberduck check / cleaning from time to time. I won't recommend if you need Rubberduck during full-time developing, as it would get expensive, and some latency can be experienced. For information, pricing is billed per minutes of machine running on Azure. As an example, for a competitive machine, it cost about 0,20$/hour (equiv. 140$ if running full-time during a month). So if you turn off the machine when you are not using it, the budget can remain very reasonable. |
Hey @bclothier, is there really a arm64 build necessary? Windows on ARM machines can run x64 and x86 executables. Maybe only the check for the system should be removed. I want to compile it myself for testing. But unfortunately it wont compile out of the box. Is there a developer.md / documentation for developers to start? |
@reinies we have a wiki article about getting a local build started: https://github.com/rubberduck-vba/Rubberduck/wiki/Contributing Note that the article was last edited in January 2023 and dates back to quite a while before that, so it might not be perfectly accurate to the actual state of the build process. We basically have a multistep build that performs everything you need. |
Hello RubberDuckDev Team,
first big big thanks for this great app, very helpful for VBA development !
Recently updated my hardware and want to ask if there will be ARM RubberDuckVBA version? Thank you and keep up the good work.
System: (Processor Apple Silicon, ARM Virtual Machine)
Edition: Windows 11 Home
Version: 21H2
Office 2019:
Microsoft® Excel® 2019 (Version 2112 Build 16.0.14729.20038) 64-bit
The text was updated successfully, but these errors were encountered: