-
-
Notifications
You must be signed in to change notification settings - Fork 919
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
Fiddle::DLError: cannot find the function: RegQueryInfoKey() #7106
Comments
Ahh good old win32ole. We have not spent time maintaining that library for many years, and I'm sure there are methods missing. Unfortunately I'm not sure when we will get around to this. @enebo Perhaps after 9.4 we can pair up on some win32ole work. |
Also fails in https://github.com/ruby/jruby-dev-builder/runs/7060585691?check_suite_focus=true
Was only noticed now due to #7182 hiding the error. |
The problem with However... CRuby's binding of these same functions does not use the |
I found this issue in CRuby where they fixed two other functions to use I have not yet figured out how CRuby locates the appropriate version of the function when it is clearly trying to import the bare name. |
My recommendation for now would be for us to add the |
The two delete functions were modified to be wide in CRuby in response to https://bugs.ruby-lang.org/issues/10820 seven years ago. The query function was mentioned here but not updated to be wide. I am unsure how CRuby is locating the appropriate `A` or `W` function given the bare name, but since we have largely forked this file and always want to use the wide version, this change seems appropriate. Fixes jruby#7106
I pushed #7281 to add I also pinged the Fiddle master, @tenderlove, to see if he has any information on how this function can possibly be binding. |
awesome, thx for following up 👏 |
Just to follow up, I am very unfamiliar with the Windows side of things here. I don't have a Windows machine to test with, so any guidance from someone that knows better than me would be appreciated 🙇🏻♀️ |
@HoneyryderChuck Are you able to test #7281 on Windows? I currently do not have access to a Windows machine (work machines in transition). |
I have gone ahead with merging the "W" change in #7281. This should be fixed now and will be released in 9.3.7.0. |
Thanks, that fixes it for setup-ruby on GitHub Actions. |
I spoke too soon, it still fails for jruby-head: I think it's simply because #7281 wasn't merged to master, only to jruby-9.3 |
I ported the fix to master: 58fffdf |
This still doesn't work on master, probably it needs more fixes:
|
The new issue looks different but I'll have a look. |
I think the new issue is not directly related to this one, so I'm closing this again. The new issue has probably always existed: our Fiddle implementation does not properly handle converting parameters to the appropriate target type on the function signature, due to it being a very thin shim over FFI. It was not observed before because our registry.rb used our FFI-based win32api, but that changed as part of updating to 3.1 and it now attempts to use Fiddle. I will open a separate issue. |
Environment Information
Provide at least:
This is a friendly heads-up about edge jruby on windows, which idnx tests against, and started failing, due to some missing expected API (RegQueryInfoKey()) when requiring
win32ole
.The text was updated successfully, but these errors were encountered: