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

Not compiling on Julia 1.7 MacOS #46

Open
tallakt opened this issue Dec 7, 2021 · 7 comments
Open

Not compiling on Julia 1.7 MacOS #46

tallakt opened this issue Dec 7, 2021 · 7 comments

Comments

@tallakt
Copy link

tallakt commented Dec 7, 2021

I am having trouble compiling this on a fresh install of Julia 1.7 on MacOS [M1 ARM]

julia> using Rsvg
ERROR: InitError: UndefVarError: librsvg not defined
Stacktrace:
 [1] set_default_dpi
   @ ~/.julia/packages/Rsvg/dClzP/src/calls.jl:52 [inlined]
 [2] __init__()
   @ Rsvg ~/.julia/packages/Rsvg/dClzP/src/Rsvg.jl:16
 [3] _include_from_serialized(path::String, depmods::Vector{Any})
   @ Base ./loading.jl:768
 [4] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String)
   @ Base ./loading.jl:854
 [5] _require(pkg::Base.PkgId)
   @ Base ./loading.jl:1097
 [6] require(uuidkey::Base.PkgId)
   @ Base ./loading.jl:1013
 [7] require(into::Module, mod::Symbol)
   @ Base ./loading.jl:997
during initialization of module Rsvg
@cormullion
Copy link

I'm also seeing a similar error on Windows (CI errors here: https://github.com/JuliaGraphics/Luxor.jl/runs/4444284871?check_suite_focus=true#step:6:221)

LoadError: InitError: UndefVarError: librsvg not defined

This is new as of this week, I think.

(Julia version 1.7, Windows-latest - x86 )

@giordano
Copy link
Contributor

giordano commented Dec 7, 2021

@tallakt works for me:

% julia -q
julia> using Rsvg

julia> versioninfo()
Julia Version 1.8.0-DEV.1093
Commit 26d2e1965c (2021-12-02 07:17 UTC)
Platform Info:
  OS: macOS (arm64-apple-darwin20.6.0)
  CPU: Apple M1
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-12.0.1 (ORCJIT, cyclone)
Environment:
  JULIA_PKG_USE_CLI_GIT = true

(@v1.8) pkg> test Rsvg
     Testing Rsvg
      Status `/private/var/folders/v2/hmy3kzgj4tb3xsy8qkltxd0r0000gn/T/jl_DyTuAT/Project.toml`
  [159f3aea] Cairo v1.0.5
  [c4c386cf] Rsvg v1.0.0
  [7746bdde] Glib_jll v2.68.3+1
  [925c91fb] Librsvg_jll v2.52.4+0
  [de0858da] Printf `@stdlib/Printf`
  [8dfed614] Test `@stdlib/Test`
      Status `/private/var/folders/v2/hmy3kzgj4tb3xsy8qkltxd0r0000gn/T/jl_DyTuAT/Manifest.toml`
  [159f3aea] Cairo v1.0.5
  [3da002f7] ColorTypes v0.11.0
  [5ae59095] Colors v0.12.8
  [53c48c17] FixedPointNumbers v0.8.4
  [a2bd30eb] Graphics v1.1.1
  [692b3bcd] JLLWrappers v1.3.0
  [77ba4419] NaNMath v0.3.5
  [21216c6a] Preferences v1.2.2
  [189a3867] Reexport v1.2.2
  [c4c386cf] Rsvg v1.0.0
  [6e34b625] Bzip2_jll v1.0.8+0
  [83423d85] Cairo_jll v1.16.1+0
  [2e619515] Expat_jll v2.2.10+0
  [a3f928ae] Fontconfig_jll v2.13.93+0
  [d7e528f0] FreeType2_jll v2.10.4+0
  [559328eb] FriBidi_jll v1.0.10+0
  [78b55507] Gettext_jll v0.21.0+0
  [7746bdde] Glib_jll v2.68.3+1
  [3b182d85] Graphite2_jll v1.3.14+0
  [2e76f6c2] HarfBuzz_jll v2.8.1+1
  [aacddb02] JpegTurbo_jll v2.1.0+0
  [dd4b983a] LZO_jll v2.10.1+0
  [e9f186c6] Libffi_jll v3.2.2+1
  [d4300ac3] Libgcrypt_jll v1.8.7+0
  [7add5ba3] Libgpg_error_jll v1.42.0+0
  [94ce4f54] Libiconv_jll v1.16.1+1
  [4b2f31a3] Libmount_jll v2.35.0+0
  [925c91fb] Librsvg_jll v2.52.4+0
  [89763e89] Libtiff_jll v4.3.0+0
  [38a345b3] Libuuid_jll v2.36.0+0
  [2f80f16e] PCRE_jll v8.44.0+0
  [36c8627f] Pango_jll v1.47.0+0
  [30392449] Pixman_jll v0.40.1+0
  [02c8fc9c] XML2_jll v2.9.12+0
  [aed1982a] XSLT_jll v1.1.34+0
  [4f6342f7] Xorg_libX11_jll v1.6.9+4
  [0c0b7dd1] Xorg_libXau_jll v1.0.9+4
  [a3789734] Xorg_libXdmcp_jll v1.1.3+4
  [1082639a] Xorg_libXext_jll v1.3.4+4
  [ea2f1a96] Xorg_libXrender_jll v0.9.10+4
  [14d82f49] Xorg_libpthread_stubs_jll v0.1.0+3
  [c7cfdc94] Xorg_libxcb_jll v1.13.0+3
  [c5fb5394] Xorg_xtrans_jll v1.4.0+3
  [3161d3a3] Zstd_jll v1.5.0+0
  [da03df04] gdk_pixbuf_jll v2.42.6+0
  [b53b4c65] libpng_jll v1.6.38+0
  [0dad84c5] ArgTools v1.1.1 `@stdlib/ArgTools`
  [56f22d72] Artifacts `@stdlib/Artifacts`
  [2a0f44e3] Base64 `@stdlib/Base64`
  [ade2ca70] Dates `@stdlib/Dates`
  [f43a241f] Downloads v1.5.1 `@stdlib/Downloads`
  [7b1f6079] FileWatching `@stdlib/FileWatching`
  [b77e0a4c] InteractiveUtils `@stdlib/InteractiveUtils`
  [b27032c2] LibCURL v0.6.3 `@stdlib/LibCURL`
  [76f85450] LibGit2 `@stdlib/LibGit2`
  [8f399da3] Libdl `@stdlib/Libdl`
  [37e2e46d] LinearAlgebra `@stdlib/LinearAlgebra`
  [56ddb016] Logging `@stdlib/Logging`
  [d6f4376e] Markdown `@stdlib/Markdown`
  [ca575930] NetworkOptions v1.2.0 `@stdlib/NetworkOptions`
  [44cfe95a] Pkg v1.8.0 `@stdlib/Pkg`
  [de0858da] Printf `@stdlib/Printf`
  [3fa0cd96] REPL `@stdlib/REPL`
  [9a3f8284] Random `@stdlib/Random`
  [ea8e919c] SHA v0.7.0 `@stdlib/SHA`
  [9e88b42a] Serialization `@stdlib/Serialization`
  [6462fe0b] Sockets `@stdlib/Sockets`
  [2f01184e] SparseArrays `@stdlib/SparseArrays`
  [10745b16] Statistics `@stdlib/Statistics`
  [fa267f1f] TOML v1.0.0 `@stdlib/TOML`
  [a4e569a6] Tar v1.10.0 `@stdlib/Tar`
  [8dfed614] Test `@stdlib/Test`
  [cf7118a7] UUIDs `@stdlib/UUIDs`
  [4ec0a83e] Unicode `@stdlib/Unicode`
  [e66e0078] CompilerSupportLibraries_jll v0.5.0+0 `@stdlib/CompilerSupportLibraries_jll`
  [deac9b47] LibCURL_jll v7.73.0+4 `@stdlib/LibCURL_jll`
  [29816b5a] LibSSH2_jll v1.9.1+2 `@stdlib/LibSSH2_jll`
  [c8ffd9c3] MbedTLS_jll v2.24.0+2 `@stdlib/MbedTLS_jll`
  [14a3606d] MozillaCACerts_jll v2020.7.22 `@stdlib/MozillaCACerts_jll`
  [4536629a] OpenBLAS_jll v0.3.17+2 `@stdlib/OpenBLAS_jll`
  [83775a58] Zlib_jll v1.2.12+1 `@stdlib/Zlib_jll`
  [8e850b90] libblastrampoline_jll v3.1.0+0 `@stdlib/libblastrampoline_jll`
  [8e850ede] nghttp2_jll v1.41.0+1 `@stdlib/nghttp2_jll`
  [3f19e933] p7zip_jll v16.2.1+1 `@stdlib/p7zip_jll`
     Testing Running tests...
Test Summary:                | Pass  Total
dimensions of known images   |    8      8
Test Summary:                | Pass  Total
render to png                |    4      4
Test Summary:                | Pass  Total
render string to png         |    3      3
Test Summary:                | Pass  Total
roundtrip, render svg to svg |    3      3
Test Summary:  | Pass  Total
error handling |    2      2
     Testing Rsvg tests passed

@cormullion yes, we can't build Rust libraries for 32-bit Windows.

@cormullion
Copy link

@giordano Thanks, Mose! It used to work, though, I think - does it not keep the old library around?

@giordano
Copy link
Contributor

giordano commented Dec 7, 2021

It used to work, though, I think

There is a bug in new versions of Rust which is not going to be fixed, according to the last comment. We upgraded Rust in BinaryBuilder just last week, this issue was holding us back to a very ancient version which caused lots of troubles for all platforms.

Frankly speaking I don't see the need to have the whole Rust ecosystem broken in BinaryBuilder just for a platform which is anyway Tier-3 for Julia and has a tiny fraction of users.

does it not keep the old library around?

Version 2.42.2 of librsvg_jll works on that platform and is what is used in your Julia v1.3 tests.

@cormullion
Copy link

Thanks. No worries. 😀 Should I make any changes to my Project.toml file or CI test setup?

@giordano
Copy link
Contributor

giordano commented Dec 7, 2021

It depends on what you want to do. We don't have platform-dependent dependencies or compat bounds, so you can't say "use only librsvg_jll 2.42.2 for i686-w64-mingw32", and restricting your compat to only that version for all platforms would make your package not work on aarch64-apple-darwin, not a great outcome. Either you tell your 32-bit Windows users (if you actually have any!) to pin that version of librsvg_jll, or you don't do anything. For CI, do what you want: either pin the version of librsvg_jll, or just live with the fact 32-bit Windows is a Tier-3 platform with a very small user base and stop testing it.

@cormullion
Copy link

Ok, thanks. I have no idea about users, so will just wait for complaints. 😂

Cheers for being so helpful.

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

No branches or pull requests

3 participants