Skip to content
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

Call [...] to unimplemented function ucrtbase.dll.crealf, aborting #65

Closed
vkuznetsovgn opened this issue Oct 17, 2024 · 4 comments
Closed

Comments

@vkuznetsovgn
Copy link

Hey!

I'm trying to use scipy library in pywine. My host system is Ubuntu 24.04.

I'm doing the following steps:

$ docker run -it --rm tobix/pywine:3.12
$ wine pip install scipy
$ wine python
>>> from scipy.signal import butter

Then I'm just importing scipy and getting a huge error:

>>> from scipy.signal import butter
wine: Call from 00006FFFFF463EF7 to unimplemented function ucrtbase.dll.crealf, aborting
wine: Unimplemented function ucrtbase.dll.crealf called at address 00006FFFFF463EF7 (thread 00e4), starting debugger...
WineDbg attached to pid 0000
Unhandled exception: unimplemented function ucrtbase.dll.crealf called in 64-bit code (0x006fffff463ef7).
Register dump:
 rip:00006fffff463ef7 rsp:00007ffffe2ea320 rbp:00006ffffb3fa580 eflags:00000202 (   - --  I   - - - )
 rax:00007ffffe2ea368 rbx:00006fffffa7f144 rcx:00007ffffe2ea340 rdx:0000000000000000
 rsi:00007ffffe2ea410 rdi:00006ffffb4044e0  r8:00006ffffeb69c61  r9:00007ffffe2ea418 r10:00007437bea94d70
 r11:00007ffffe2ea588 r12:0000000000000070 r13:0000000000000000 r14:00007437bea94d70 r15:0000000000000000

Do you know how to fix it and if it's possible to fix it?

@Mcublog

This comment has been minimized.

@TobiX
Copy link
Member

TobiX commented Oct 17, 2024

crealf is only a stub in wine, which means it's not implemented. Every code using that function WILL crash. scipy uses that function a lot, so it's only natural it crashes under wine.

I don't consider this container anything that should be able to run every piece of Python software. It's mainly intended as a tool for CI builds (for example with PyInstaller).

You might want to raise this issue with either wine or scipy to "fix" this. In both cases, providing a patch would probably provide the fastest way to getting this fixed. Looking at what the function is supposed to do the implementation might be quite simple...

@TobiX TobiX closed this as completed Oct 17, 2024
@TobiX
Copy link
Member

TobiX commented Oct 18, 2024

On a more positive note: Thanks for trying my container in new and interesting ways 😆 - A shame it didn't work out for you.

Thinking more about it I would have expected a sensible compiler to inline such simple functions... But MSVC apparently is no sensible compiler and doesn't really "support" complex numbers anyways (https://learn.microsoft.com/en-us/cpp/c-runtime-library/complex-math-support?view=msvc-170, example: https://godbolt.org/z/1WPq3K9hr)

@TobiX TobiX closed this as not planned Won't fix, can't repro, duplicate, stale Nov 30, 2024
@TobiX TobiX pinned this issue Feb 27, 2025
@TobiX TobiX changed the title wine: Call from 00006FFFFF463EF7 to unimplemented function ucrtbase.dll.crealf, aborting Call [...] to unimplemented function ucrtbase.dll.crealf, aborting Feb 27, 2025
@TobiX TobiX marked this as a duplicate of #73 Feb 27, 2025
@TobiX
Copy link
Member

TobiX commented Feb 27, 2025

PS: It seems Wine is slowly adding those functions: https://gitlab.winehq.org/wine/wine/-/merge_requests/7225

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants