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

Need to update Windows compilers for Julia 1.11 #918

Closed
KristofferC opened this issue Jan 19, 2024 · 8 comments · Fixed by #1012
Closed

Need to update Windows compilers for Julia 1.11 #918

KristofferC opened this issue Jan 19, 2024 · 8 comments · Fixed by #1012

Comments

@KristofferC
Copy link
Member

The current one we use spits out a bunch of

2024-01-15T16:40:05.8024498Z Warning: .drectve `-exclude-symbols:jfptr_only_42205 ' unrecognized
2024-01-15T16:40:05.8052985Z Warning: .drectve `-exclude-symbols:julia_eval_41586 ' unrecognized
2024-01-15T16:40:05.8083804Z Warning: .drectve `-exclude-symbols:jfptr_eval_41587 ' unrecognized
2024-01-15T16:40:05.8114625Z Warning: .drectve `-exclude-symbols:jfptr_domath_65456 ' unrecognized
2024-01-15T16:40:05.8144650Z Warning: .drectve `-exclude-symbols:julia_peek_45894 ' unrecognized

on master CI when creating the sysimage. @gbaraldi suggested to try use https://github.com/mstorsjo/llvm-mingw/.

@DilumAluthge DilumAluthge changed the title Need to update Windows compilers for 1.11 Need to update Windows compilers for Julia 1.11 Oct 16, 2024
@DilumAluthge DilumAluthge pinned this issue Oct 16, 2024
@DilumAluthge DilumAluthge unpinned this issue Oct 16, 2024
@DilumAluthge DilumAluthge pinned this issue Oct 18, 2024
@DilumAluthge
Copy link
Member

Just out of curiosity, are these warnings fatal and/or do they result in an un-usable sysimage?

(I think we should still do this task either way; I'm just trying to figure out how high of a priority it is.)

@DilumAluthge DilumAluthge unpinned this issue Oct 18, 2024
@smitha999
Copy link

Am getting similar errors while trying to do an FMU Export from Julia

@smitha999
Copy link

Warning: .drectve -exclude-symbols:julia_copy_26305 ' unrecognized │ Warning: .drectve -exclude-symbols:jfptr_copy_26306 ' unrecognized
│ Warning: .drectve -exclude-symbols:jfptr_ntuple_25526 ' unrecognized │ Warning: .drectve -exclude-symbols:jfptr__memory_offset_28906 ' unrecognized
│ Warning: .drectve -exclude-symbols:jfptr_throw_boundserror_23456 ' unrecognized │ Warning: .drectve -exclude-symbols:julia_throw_boundserror_23449 ' unrecognized
│ Warning: .drectve -exclude-symbols:jfptr_throw_boundserror_23441 ' unrecognized │ . . │ Warning: .drectve -exclude-symbols:jfptr_throw_boundserror_23279 ' unrecognized
│ Warning: .drectve -exclude-symbols:"jfptr_setindexNOT._24863" ' unrecognized │ Warning: .drectve -exclude-symbols:julia_has_safe_def_35574 ' unrecognized

@inkydragon
Copy link
Member

update Windows compilers for Julia 1.11

If I understand correctly, “Windows compilers for Julia” refers to the compilers currently used to build julia.
Right now it's mingw-w64-x86_64-gcc in MSYS2.
https://github.com/JuliaCI/rootfs-images/blob/main/windows/package-x86_64/Dockerfile#L8-L9

Maybe we could try updating the version of MSYS2 first, which will also update the version of gcc, and see if that fixes the problem.
Then try migrating to llvm-mingw.

The rust community is also encountering this problem: rust-lang/rust#112368
This is mainly a compatibility issue between LLVM and GUN LD, which has been fixed in GUN ld >= 2.40.
So maybe upgrading the MSYS2 is enough.

@KristofferC
Copy link
Member Author

@Zentrik
Copy link
Member

Zentrik commented Nov 27, 2024

I don't see the error at https://github.com/Zentrik/llvm_julia_tester/actions/runs/12041711630/job/33580110343 which should be using the latest compiler from msys2 for 64bit. 32 bit will probably be more difficult as we don't use the default signal handing so harder to find up to date compilers.

@inkydragon
Copy link
Member

Another choice is using: https://github.com/niXman/mingw-builds-binaries/releases
We could use gcc 14.1.0 or 14.2.0.

gcc.exe	12.2.0 	x86_64-posix-seh-rev0
GNU ld 	2.38

gcc.exe 13.1.0	x86_64-posix-seh-rev1
GNU ld 	2.39
gcc.exe 13.2.0  x86_64-posix-seh-rev1
GNU ld 	2.39

gcc.exe 14.1.0	x86_64-posix-seh-rev0
GNU ld 	2.42
gcc.exe 14.2.0	x86_64-posix-seh-rev0
GNU ld 	2.42

@KristofferC
Copy link
Member Author

From a local test that seems to work well. Thanks for finding it. I'll try update the artifact file and see what happens.

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

Successfully merging a pull request may close this issue.

5 participants