-
-
Notifications
You must be signed in to change notification settings - Fork 5.7k
Don't use floating-point environment methods from openlibm. #38466
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
Conversation
|
Kicked-off a build with |
|
Fails to build on Windows because we don't seem to have floating-point functions there. Presumable this used to work, https://github.com/JuliaLang/julia/pull/36588/files#diff-b93461e172b1a09513b591004c100b10a2a3fcf407d51fc19e6be1cb73c246d4, because we were linking openlibm before. @vtjnash You mentioned, #38427 (comment), we should have functions like Checking the libraries that are part of |
bc43e05 to
2378991
Compare
|
It looks like a .a library, so you need to force link it. |
|
I guess these functions are only in the ucrt, and not the msvcrt.dll we're using: Switching to the ucrt seems quite an large change. Alternatively, we could ship |
No, that results in lots of multiple definition errors. Looks like Also, any thoughts about this: |
|
Though to re-export it, I think you may need to mark it during the build, as exported symbols have a different name mangling |
|
Thanks, I'll try that. Alternatively, we do an |
d8dfd81 to
e9b31cb
Compare
|
Couldn't get it to work; |
|
Could also just add another special case to the jitlayers file. I know we already have a few there. |
Ah, yes. This seems like a simpler solution though, and does the job as well. CI failures unrelated (happen on master too), and the manual build using openlibm#master, https://build.julialang.org/#/buildersj/47/builds/2, successfully builds and tests on all platforms too. Let's generate new binaries now. |
e9b31cb to
3039e13
Compare
|
I'm trying to build julia#110f1256ac with openlibm 0.7.3 and it's failing with LoadError("sysimg.jl", 3, LoadErjuliaor("Base.jl", 269, LoadError("floatfuncs.jl", 345, ErrorException("could not load symbol \"fesetround\":\n/tmp/guix-build-julia-1.5.3-git.drv-0/source/usr/bin/../lib/libopenlibm.so: undefined symbol: fesetround"))))Is this related? |
|
Yes, how come you are using openlibm 0.7.3 already? It needs this PR. @staticfloat Looks like the x86_64-apple-darwin build has dropped its '14' tag. What do I need to change here, or in Yggdrasil? |
|
I'm preparing the next package for guix, just saw the new tagged openlibm release and updated it (we use USE_SYSTEM_OPENLIBM=1). |
|
Should be good to go now. |
Fixes #38427, see JuliaMath/openlibm#219