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

Cannot install GLMakie on Windows if user name contains non-ASCII symbols #4749

Open
Alex-Samarkin opened this issue Jan 23, 2025 · 5 comments
Labels

Comments

@Alex-Samarkin
Copy link

  • [0.22] what version of Makie are you running? (]st -m Makie)
  • [yes] can you reproduce the bug with a fresh environment ? (]activate --temp; add Makie)
  • [Intel 12350 CPU, Windows 11 Pro, Integrated Card ] What platform + GPU are you on?

Cannot install GLMakie on Windows if user name contains non-ASCII symbols.
Latest Julia version (v1.11.2 and 1.11.3)
If name of user is something like User - all OK
If name of User is Пользователь (Russian) - makie can't install.

Think its because C:\Users\Пользователь.julia path.

@SimonDanisch
Copy link
Member

Error?

@Alex-Samarkin
Copy link
Author

✗ Makie
✗ GLMakie
5 dependencies successfully precompiled in 53 seconds. 334 already precompiled.
2 dependencies errored

PkgPrecompileError: The following 1 direct dependency failed to precompile:

GLMakie

Failed to precompile GLMakie [e9467ef8-e4e7-5192-8a1a-b1aee30e663a] to "C:\Users\Пользователь\.julia\compiled\v1.11\GLMakie\jl_7751.tmp".
ERROR: LoadError: Failed to open C:\Users\Пользователь.julia\packages\Makie\Q6F2P\assets\icons\icon-128.png
Stacktrace:
[1] load
@ C:\Users\Пользователь.julia\packages\PNGFiles\CBHvB\src\io.jl:47 [inlined]
[2] load_icon
@ C:\Users\Пользователь.julia\packages\Makie\Q6F2P\src\Makie.jl:351 [inlined]
[3] iterate
@ .\generator.jl:48 [inlined]
[4] _collect(c::Vector{String}, itr::Base.Generator{Vector{String}, typeof(Makie.load_icon)}, ::Base.EltypeUnknown, isz::Base.HasShape{1})
@ Base .\array.jl:811
[5] collect_similar
@ .\array.jl:720 [inlined]
[6] map
@ .\abstractarray.jl:3371 [inlined]
[7] icon
@ C:\Users\Пользователь.julia\packages\Makie\Q6F2P\src\Makie.jl:358 [inlined]
[8] macro expansion
@ C:\Users\Пользователь.julia\packages\Makie\Q6F2P\src\precompiles.jl:28 [inlined]
[9] macro expansion
@ C:\Users\Пользователь.julia\packages\PrecompileTools\L8A3n\src\workloads.jl:78 [inlined]
[10] top-level scope
@ C:\Users\Пользователь.julia\packages\Makie\Q6F2P\src\precompiles.jl:27
[11] include(x::String)
@ Makie C:\Users\Пользователь.julia\packages\Makie\Q6F2P\src\Makie.jl:1
[12] top-level scope
@ C:\Users\Пользователь.julia\packages\Makie\Q6F2P\src\Makie.jl:407
[13] top-level scope
@ stdin:6
in expression starting at C:\Users\Пользователь.julia\packages\Makie\Q6F2P\src\precompiles.jl:26
in expression starting at C:\Users\Пользователь.julia\packages\Makie\Q6F2P\src\Makie.jl:1
in expression starting at stdin:6
ERROR: LoadError: Failed to precompile Makie [ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a] to "C:\Users\Пользователь\.julia\compiled\v1.11\Makie\jl_7AA0.tmp".
Stacktrace:
[1] mkpidlock(f::Base.var"#1110#1111"{Base.PkgId}, at::String, pid::Int32; kwopts::@kwargs{stale_age::Int64, wait::Bool})
@ FileWatching.Pidfile C:\Users\Пользователь.julia\juliaup\julia-1.11.3+0.x64.w64.mingw32\share\julia\stdlib\v1.11\FileWatching\src\pidfile.jl:95
[2] top-level scope
@ stdin:6
in expression starting at C:\Users\Пользователь.julia\packages\GLMakie\fj8mE\src\GLMakie.jl:1
in expression starting at stdin:

@SimonDanisch
Copy link
Member

Hm seems to be a utf8 problem in the PNG C library:

https://github.com/JuliaIO/PNGFiles.jl/blob/cd3a53250a1d3ea017f735c6bc3fa94d3b1cfae2/src/wraphelpers.jl#L31-L43

Don't know fopen well enough to know, if this is just incorrectly called or a problem in C.
You should open an issue there, or maybe you know :fopen better than me and can propose a fix :)

@SimonDanisch
Copy link
Member

For all it's worth, Chatgpt says it may be a windows problem:

Image

@Alex-Samarkin
Copy link
Author

Something wrong with UTF inside underlying C layer.

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

No branches or pull requests

2 participants