Skip to content
This repository has been archived by the owner on Jul 22, 2024. It is now read-only.

Fails to build/run on Fedora 34 #570

Closed
mdpetters opened this issue Apr 6, 2021 · 22 comments
Closed

Fails to build/run on Fedora 34 #570

mdpetters opened this issue Apr 6, 2021 · 22 comments

Comments

@mdpetters
Copy link

This might be Gtk 4 related. I thought that Gtk.jl shipped with it's own GTK 3 libraries but I don't understand how they might interact with the OS. Loading Gtk crashes julia. Packages that depend on Gtk fail to precompile with the same error message.

(julia:7035): GLib-GIO-ERROR **: 15:59:15.110: Settings schema 'org.gnome.settings-daemon.plugins.xsettings' does not contain a key named 'antialiasing'
              _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.6.0 (2021-03-24)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |
(@v1.6) pkg> add Gtk
# Some stuff omitted  
  Downloaded artifact: GTK3
  Downloaded artifact: Libiconv
  Downloaded artifact: Wayland
  Downloaded artifact: Xorg_libXcursor
  Downloaded artifact: Xorg_xtrans
  Downloaded artifact: Glib
  Downloaded artifact: Libgcrypt
  Downloaded artifact: Xorg_libXrender
  Downloaded artifact: Pango
  Downloaded artifact: Xorg_libX11
  Downloaded artifact: Graphite2
  Downloaded artifact: at_spi2_atk
  Downloaded artifact: Xorg_xkbcomp
  Downloaded artifact: Libglvnd
  Downloaded artifact: Graphene
  Downloaded artifact: Xorg_libXinerama
  Downloaded artifact: FriBidi
  Downloaded artifact: Xorg_libXi
  Downloaded artifact: HarfBuzz
  Downloaded artifact: libpng
  Downloaded artifact: Cairo
  Downloaded artifact: Libepoxy
    Updating `~/.julia/environments/v1.6/Project.toml`
  [4c0ca9eb] + Gtk v1.1.7
    Updating `~/.julia/environments/v1.6/Manifest.toml`
  [159f3aea] + Cairo v1.0.5
  [3da002f7] + ColorTypes v0.10.12
  [5ae59095] + Colors v0.12.7
  [53c48c17] + FixedPointNumbers v0.8.4
  [a2bd30eb] + Graphics v1.1.0
  [4c0ca9eb] + Gtk v1.1.7
  [692b3bcd] + JLLWrappers v1.2.0
  [77ba4419] + NaNMath v0.3.5
  [189a3867] + Reexport v1.0.0
  [7b86fcea] + ATK_jll v2.34.1+5
  [6e34b625] + Bzip2_jll v1.0.6+5
  [83423d85] + Cairo_jll v1.16.0+6
  [ee1fde0b] + Dbus_jll v1.12.16+3
  [2e619515] + Expat_jll v2.2.7+6
  [a3f928ae] + Fontconfig_jll v2.13.1+14
  [d7e528f0] + FreeType2_jll v2.10.1+5
  [559328eb] + FriBidi_jll v1.0.5+6
  [77ec8976] + GTK3_jll v3.24.11+5
  [78b55507] + Gettext_jll v0.20.1+7
  [7746bdde] + Glib_jll v2.59.0+4
  [75302f13] + Graphene_jll v1.10.0+2
  [3b182d85] + Graphite2_jll v1.3.13+4
  [2e76f6c2] + HarfBuzz_jll v2.6.1+10
  [a51ab1cf] + ICU_jll v67.1.0+3
  [aacddb02] + JpegTurbo_jll v2.0.1+3
  [dd4b983a] + LZO_jll v2.10.0+3
  [42c93a91] + Libepoxy_jll v1.5.4+1
  [e9f186c6] + Libffi_jll v3.2.1+4
  [d4300ac3] + Libgcrypt_jll v1.8.5+4
  [7e76a0d4] + Libglvnd_jll v1.3.0+3
  [7add5ba3] + Libgpg_error_jll v1.36.0+3
  [94ce4f54] + Libiconv_jll v1.16.0+7
  [4b2f31a3] + Libmount_jll v2.34.0+3
  [89763e89] + Libtiff_jll v4.1.0+2
  [38a345b3] + Libuuid_jll v2.34.0+7
  [2f80f16e] + PCRE_jll v8.42.0+4
  [36c8627f] + Pango_jll v1.42.4+10
  [30392449] + Pixman_jll v0.40.0+0
  [a2964d1f] + Wayland_jll v1.17.0+4
  [2381bf8a] + Wayland_protocols_jll v1.18.0+4
  [02c8fc9c] + XML2_jll v2.9.11+0
  [aed1982a] + XSLT_jll v1.1.33+4
  [4f6342f7] + Xorg_libX11_jll v1.6.9+4
  [0c0b7dd1] + Xorg_libXau_jll v1.0.9+4
  [3c9796d7] + Xorg_libXcomposite_jll v0.4.5+4
  [935fb764] + Xorg_libXcursor_jll v1.2.0+4
  [0aeada51] + Xorg_libXdamage_jll v1.1.5+4
  [a3789734] + Xorg_libXdmcp_jll v1.1.3+4
  [1082639a] + Xorg_libXext_jll v1.3.4+4
  [d091e8ba] + Xorg_libXfixes_jll v5.0.3+4
  [a51aa0fd] + Xorg_libXi_jll v1.7.10+4
  [d1454406] + Xorg_libXinerama_jll v1.1.4+4
  [ec84b674] + Xorg_libXrandr_jll v1.5.2+4
  [ea2f1a96] + Xorg_libXrender_jll v0.9.10+4
  [b6f176f1] + Xorg_libXtst_jll v1.2.3+4
  [14d82f49] + Xorg_libpthread_stubs_jll v0.1.0+3
  [c7cfdc94] + Xorg_libxcb_jll v1.13.0+3
  [cc61e674] + Xorg_libxkbfile_jll v1.1.0+4
  [35661453] + Xorg_xkbcomp_jll v1.4.2+4
  [33bec58e] + Xorg_xkeyboard_config_jll v2.27.0+4
  [c5fb5394] + Xorg_xtrans_jll v1.4.0+3
  [3161d3a3] + Zstd_jll v1.4.8+0
  [b437f822] + adwaita_icon_theme_jll v3.33.92+5
  [de012916] + at_spi2_atk_jll v2.34.1+4
  [0fc3237b] + at_spi2_core_jll v2.34.0+4
  [da03df04] + gdk_pixbuf_jll v2.38.2+9
  [059c91fe] + hicolor_icon_theme_jll v0.17.0+3
  [bf975903] + iso_codes_jll v4.3.0+4
  [b53b4c65] + libpng_jll v1.6.37+6
  [d8fb68d0] + xkbcommon_jll v0.9.1+5
  [0dad84c5] + ArgTools
  [56f22d72] + Artifacts
  [2a0f44e3] + Base64
  [ade2ca70] + Dates
  [f43a241f] + Downloads
  [b77e0a4c] + InteractiveUtils
  [b27032c2] + LibCURL
  [76f85450] + LibGit2
  [8f399da3] + Libdl
  [37e2e46d] + LinearAlgebra
  [56ddb016] + Logging
  [d6f4376e] + Markdown
  [ca575930] + NetworkOptions
  [44cfe95a] + Pkg
  [de0858da] + Printf
  [3fa0cd96] + REPL
  [9a3f8284] + Random
  [ea8e919c] + SHA
  [9e88b42a] + Serialization
  [6462fe0b] + Sockets
  [2f01184e] + SparseArrays
  [10745b16] + Statistics
  [fa267f1f] + TOML
  [a4e569a6] + Tar
  [8dfed614] + Test
  [cf7118a7] + UUIDs
  [4ec0a83e] + Unicode
  [deac9b47] + LibCURL_jll
  [29816b5a] + LibSSH2_jll
  [c8ffd9c3] + MbedTLS_jll
  [14a3606d] + MozillaCACerts_jll
  [83775a58] + Zlib_jll
  [8e850ede] + nghttp2_jll
  [3f19e933] + p7zip_jll
  Progress [========================================>]  73/73
73 dependencies successfully precompiled in 43 seconds

julia> using Gtk
GLib-GIO-Message: 15:59:15.109: Using the 'memory' GSettings backend.  Your settings will not be saved or shared with other applications.

(julia:7035): GLib-GIO-ERROR **: 15:59:15.110: Settings schema 'org.gnome.settings-daemon.plugins.xsettings' does not contain a key named 'antialiasing'
fish: Job 1, 'julia' terminated by signal SIGTRAP (Trace or breakpoint trap)
@giordano
Copy link
Contributor

giordano commented Apr 6, 2021

I don't understand how they might interact with the OS.

Are you setting LD_LIBRARY_PATH? Could you please show the output of

using Libdl
println.(dllist());

after you get the error?

@mdpetters
Copy link
Author

It terminates the REPL if I do using Gtk. Below is output after trying loading InspectDR, which depends on Gtk and gives the same error without destroying the REPL.

julia> using InspectDR
[ Info: Precompiling InspectDR [d0351b0e-4b05-5898-87b3-e2a8edfddd1d]
GLib-GIO-Message: 18:14:13.171: Using the 'memory' GSettings backend.  Your settings will not be saved or shared with other applications.

(julia:10941): GLib-GIO-ERROR **: 18:14:13.171: Settings schema 'org.gnome.settings-daemon.plugins.xsettings' does not contain a key named 'antialiasing'
ERROR: Failed to precompile InspectDR [d0351b0e-4b05-5898-87b3-e2a8edfddd1d] to /home/mdpetter/.julia/compiled/v1.6/InspectDR/jl_ph55lZ.
Stacktrace:
 [1] error(s::String)
   @ Base ./error.jl:33
 [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::Base.TTY, internal_stdout::Base.TTY)
   @ Base ./loading.jl:1360
 [3] compilecache(pkg::Base.PkgId, path::String)
   @ Base ./loading.jl:1306
 [4] _require(pkg::Base.PkgId)
   @ Base ./loading.jl:1021
 [5] require(uuidkey::Base.PkgId)
   @ Base ./loading.jl:914
 [6] require(into::Module, mod::Symbol)
   @ Base ./loading.jl:901

julia> using Libdl

julia> println.(dllist());
linux-vdso.so.1
/lib64/libdl.so.2
/lib64/libpthread.so.0
/lib64/libc.so.6
/home/mdpetter/opt/julia-1.6.0/bin/../lib/libjulia.so.1
/lib64/ld-linux-x86-64.so.2
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libgcc_s.so.1
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libopenlibm.so
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libjulia-internal.so.1
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libunwind.so.8
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libLLVM-11jl.so
/lib64/librt.so.1
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libstdc++.so.6
/lib64/libm.so.6
/home/mdpetter/opt/julia-1.6.0/lib/julia/sys.so
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libatomic.so.1
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libpcre2-8.so
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libgmp.so
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libmpfr.so
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libopenblas64_.so
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libgfortran.so.4
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libquadmath.so.0
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libcholmod.so
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libamd.so.2
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libcolamd.so.2
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libsuitesparseconfig.so.5
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libccolamd.so.2
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libcamd.so.2
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libsuitesparse_wrapper.so
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libnghttp2.so.14
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libcurl.so
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libssh2.so.1
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libmbedtls.so.13
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libmbedx509.so.1
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libmbedcrypto.so.5
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libz.so.1
/lib64/libnss_files.so.2
/lib64/libnss_myhostname.so.2
/lib64/libselinux.so.1
/lib64/libnss_mdns4_minimal.so.2
/lib64/libresolv.so.2
/lib64/libnss_resolve.so.2
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libdSFMT.so

@giordano
Copy link
Contributor

giordano commented Apr 6, 2021

dllist() at this points looks ok, but it may be too early. You didn't answer to the question about LD_LIBRARY_PATH

@mdpetters
Copy link
Author

Sorry, I never messes with it on this system. It is my understanding that it is loaded from here. (Please correct me if I am wrong).

~ $ cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/local/lib
~ $ ls -l /etc/ld.so.conf.d
total 20
-rw-r--r--. 1 root root 26 Aug 28  2019 bind-export-x86_64.conf
-rw-r--r--. 1 root root 22 Feb  4 09:13 fdk-aac-lib64.conf
-rw-r--r--. 1 root root 17 Jan 27 02:41 libiscsi-x86_64.conf
-rw-r--r--. 1 root root 30 Mar 25 11:14 pipewire-jack-x86_64.conf
lrwxrwxrwx. 1 root root 43 Jun 18  2020 pvcam-i686.conf -> /opt/pvcam/etc/ld.so.conf.d/pvcam-i686.conf
lrwxrwxrwx. 1 root root 45 Jun 18  2020 pvcam-x86_64.conf -> /opt/pvcam/etc/ld.so.conf.d/pvcam-x86_64.conf
-rw-r--r--. 1 root root 18 Jan 28 23:43 tix-x86_64.conf

@giordano
Copy link
Contributor

giordano commented Apr 6, 2021

LD_LIBRARY_PATH is an environment variable, I'm just asking for its value when you run Julia. You can see it for example with

ENV["LD_LIBRARY_PATH"]

inside Julia

@mdpetters
Copy link
Author

It's not set

julia> ENV["LD_LIBRARY_PATH"]
ERROR: KeyError: key "LD_LIBRARY_PATH" not found
Stacktrace:
 [1] (::Base.var"#509#510")(k::String)
   @ Base ./env.jl:79
 [2] access_env
   @ ./env.jl:43 [inlined]
 [3] getindex(#unused#::Base.EnvDict, k::String)
   @ Base ./env.jl:79
 [4] top-level scope
   @ REPL[1]:1

@giordano
Copy link
Contributor

giordano commented Apr 6, 2021

What happens if you do

using Pkg
Pkg.add("GTK3_jll")
using GTK3_jll

?

@mdpetters
Copy link
Author

Works fine.

julia> using Pkg
julia> Pkg.add("GTK3_jll")
    Updating registry at `~/.julia/registries/General`
   Resolving package versions...
    Updating `~/.julia/environments/v1.6/Project.toml`
  [77ec8976] + GTK3_jll v3.24.11+5
  No Changes to `~/.julia/environments/v1.6/Manifest.toml`

julia> using GTK3_jll
julia>

@giordano
Copy link
Contributor

giordano commented Apr 7, 2021

And can you please show println.(dllist()); at this point?

@mdpetters
Copy link
Author

linux-vdso.so.1
/lib64/libdl.so.2
/lib64/libpthread.so.0
/lib64/libc.so.6
/home/mdpetter/opt/julia-1.6.0/bin/../lib/libjulia.so.1
/lib64/ld-linux-x86-64.so.2
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libgcc_s.so.1
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libopenlibm.so
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libjulia-internal.so.1
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libunwind.so.8
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libLLVM-11jl.so
/lib64/librt.so.1
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libstdc++.so.6
/lib64/libm.so.6
/home/mdpetter/opt/julia-1.6.0/lib/julia/sys.so
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libatomic.so.1
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libpcre2-8.so
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libgmp.so
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libmpfr.so
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libopenblas64_.so
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libgfortran.so.4
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libquadmath.so.0
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libcholmod.so
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libamd.so.2
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libcolamd.so.2
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libsuitesparseconfig.so.5
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libccolamd.so.2
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libcamd.so.2
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libsuitesparse_wrapper.so
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libnghttp2.so.14
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libcurl.so
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libssh2.so.1
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libmbedtls.so.13
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libmbedx509.so.1
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libmbedcrypto.so.5
/home/mdpetter/opt/julia-1.6.0/bin/../lib/julia/libz.so.1
/home/mdpetter/.julia/artifacts/dc818c949c65acf73e28dc5f9802df8b74e51062/lib/libpcre.so
/home/mdpetter/.julia/artifacts/462d9f887c3863eaa8db9e840aa6db37dd5e2625/lib64/libffi.so
/home/mdpetter/.julia/artifacts/473dc2ed3d46252c87733b7fdca3da64c6f9f917/lib/libcharset.so
/home/mdpetter/.julia/artifacts/473dc2ed3d46252c87733b7fdca3da64c6f9f917/lib/libiconv.so
/home/mdpetter/.julia/artifacts/a31de4b06823e104e1d46ef7cacd7adfa725a300/lib/libmount.so
/home/mdpetter/.julia/artifacts/a31de4b06823e104e1d46ef7cacd7adfa725a300/lib/libblkid.so.1
/home/mdpetter/.julia/artifacts/c91b35452c8fa91e8ac43993a2bc8fb4f78476bb/lib/libxml2.so
/home/mdpetter/.julia/artifacts/93d795500c7b63f53b10478c17435f32e7a3c443/lib/libgettextlib.so
/home/mdpetter/.julia/artifacts/323b2adff3bbf2980e9f1f62990860b61470af16/lib/libgio-2.0.so
/home/mdpetter/.julia/artifacts/323b2adff3bbf2980e9f1f62990860b61470af16/lib/libgmodule-2.0.so.0
/home/mdpetter/.julia/artifacts/323b2adff3bbf2980e9f1f62990860b61470af16/lib/libgobject-2.0.so.0
/home/mdpetter/.julia/artifacts/323b2adff3bbf2980e9f1f62990860b61470af16/lib/libglib-2.0.so.0
/lib64/libresolv.so.2
/home/mdpetter/.julia/artifacts/323b2adff3bbf2980e9f1f62990860b61470af16/lib/libgthread-2.0.so
/home/mdpetter/.julia/artifacts/58da2fc43349d544585cda79c9aedea095f12fe7/lib/libatk-1.0.so
/home/mdpetter/.julia/artifacts/575618730140d4aa796f2e7c75d33fac6845908d/lib/libgpg-error.so
/home/mdpetter/.julia/artifacts/bec8e64dc2b9e89d634ec53df0767b33e1e6cb01/lib/libgcrypt.so
/home/mdpetter/.julia/artifacts/054d833658de90eb397ffffe590e8fce242fe1e6/lib/libexslt.so
/home/mdpetter/.julia/artifacts/054d833658de90eb397ffffe590e8fce242fe1e6/lib/libxslt.so.1
/home/mdpetter/.julia/artifacts/51c48c945ae76d6c0102649044d9976d93b78125/lib/libXdmcp.so
/home/mdpetter/.julia/artifacts/4487a7356408c3a92924e56f9d3891724855282c/lib/libXau.so
/home/mdpetter/.julia/artifacts/5ba11d7fb2ceb4ca812844eb4af886a212b47f65/lib/libxcb.so
/home/mdpetter/.julia/artifacts/5ba11d7fb2ceb4ca812844eb4af886a212b47f65/lib/libxcb-composite.so
/home/mdpetter/.julia/artifacts/5ba11d7fb2ceb4ca812844eb4af886a212b47f65/lib/libxcb-damage.so
/home/mdpetter/.julia/artifacts/5ba11d7fb2ceb4ca812844eb4af886a212b47f65/lib/libxcb-dpms.so
/home/mdpetter/.julia/artifacts/5ba11d7fb2ceb4ca812844eb4af886a212b47f65/lib/libxcb-dri2.so
/home/mdpetter/.julia/artifacts/5ba11d7fb2ceb4ca812844eb4af886a212b47f65/lib/libxcb-dri3.so
/home/mdpetter/.julia/artifacts/5ba11d7fb2ceb4ca812844eb4af886a212b47f65/lib/libxcb-glx.so
/home/mdpetter/.julia/artifacts/5ba11d7fb2ceb4ca812844eb4af886a212b47f65/lib/libxcb-present.so
/home/mdpetter/.julia/artifacts/5ba11d7fb2ceb4ca812844eb4af886a212b47f65/lib/libxcb-randr.so
/home/mdpetter/.julia/artifacts/5ba11d7fb2ceb4ca812844eb4af886a212b47f65/lib/libxcb-record.so
/home/mdpetter/.julia/artifacts/5ba11d7fb2ceb4ca812844eb4af886a212b47f65/lib/libxcb-render.so
/home/mdpetter/.julia/artifacts/5ba11d7fb2ceb4ca812844eb4af886a212b47f65/lib/libxcb-res.so
/home/mdpetter/.julia/artifacts/5ba11d7fb2ceb4ca812844eb4af886a212b47f65/lib/libxcb-screensaver.so
/home/mdpetter/.julia/artifacts/5ba11d7fb2ceb4ca812844eb4af886a212b47f65/lib/libxcb-shape.so
/home/mdpetter/.julia/artifacts/5ba11d7fb2ceb4ca812844eb4af886a212b47f65/lib/libxcb-shm.so
/home/mdpetter/.julia/artifacts/5ba11d7fb2ceb4ca812844eb4af886a212b47f65/lib/libxcb-sync.so
/home/mdpetter/.julia/artifacts/5ba11d7fb2ceb4ca812844eb4af886a212b47f65/lib/libxcb-xf86dri.so
/home/mdpetter/.julia/artifacts/5ba11d7fb2ceb4ca812844eb4af886a212b47f65/lib/libxcb-xfixes.so
/home/mdpetter/.julia/artifacts/5ba11d7fb2ceb4ca812844eb4af886a212b47f65/lib/libxcb-xinerama.so
/home/mdpetter/.julia/artifacts/5ba11d7fb2ceb4ca812844eb4af886a212b47f65/lib/libxcb-xinput.so
/home/mdpetter/.julia/artifacts/5ba11d7fb2ceb4ca812844eb4af886a212b47f65/lib/libxcb-xkb.so
/home/mdpetter/.julia/artifacts/5ba11d7fb2ceb4ca812844eb4af886a212b47f65/lib/libxcb-xtest.so
/home/mdpetter/.julia/artifacts/5ba11d7fb2ceb4ca812844eb4af886a212b47f65/lib/libxcb-xv.so
/home/mdpetter/.julia/artifacts/5ba11d7fb2ceb4ca812844eb4af886a212b47f65/lib/libxcb-xvmc.so
/home/mdpetter/.julia/artifacts/431a0e3706ffe717ab5d35c47bc38626c6169504/lib/libX11.so
/home/mdpetter/.julia/artifacts/431a0e3706ffe717ab5d35c47bc38626c6169504/lib/libX11-xcb.so
/home/mdpetter/.julia/artifacts/fc6071b99b67da0ae4e49ebab70c369ce9a76c9e/lib/libXext.so
/home/mdpetter/.julia/artifacts/f0d193662fead3500b523f94b4f1878daab59a93/lib/libXfixes.so
/home/mdpetter/.julia/artifacts/2df316da869cd97f7d70029428ee1e2e521407cd/lib/libXi.so
/home/mdpetter/.julia/artifacts/033c3d7e6aab0b809684e792c0272f7096b7d81d/lib/libXtst.so
/home/mdpetter/.julia/artifacts/527e66fb9b12dfd1f58157fe0b3fd52b84062432/lib/libXrender.so
/home/mdpetter/.julia/artifacts/51de7e0a2a3cd223f259c23a660f5e677914f212/lib/libzstd.so
/home/mdpetter/.julia/artifacts/84f18b0f422f5d6a023fe871b59a9fc536d04f5c/lib/libxkbfile.so
/home/mdpetter/.julia/artifacts/4daa3879a820580557ef34945e2ae243dfcbba11/lib/libXrandr.so
/home/mdpetter/.julia/artifacts/f371e7030764d7d3b86474ca985d35b87195302b/lib/libexpat.so
/home/mdpetter/.julia/artifacts/7caaaab53f3e338cc93da1607ab6c8934671ac0c/lib/libwayland-client.so
/home/mdpetter/.julia/artifacts/7caaaab53f3e338cc93da1607ab6c8934671ac0c/lib/libwayland-cursor.so
/home/mdpetter/.julia/artifacts/7caaaab53f3e338cc93da1607ab6c8934671ac0c/lib/libwayland-egl.so
/home/mdpetter/.julia/artifacts/7caaaab53f3e338cc93da1607ab6c8934671ac0c/lib/libwayland-server.so
/home/mdpetter/.julia/artifacts/a720905290c81768185376a3ab5842c296b4cef8/lib/libbz2.so
/home/mdpetter/.julia/artifacts/f36ef8c9bdb8f8843be8719a3a501ad4244ad9f6/lib/libuuid.so
/home/mdpetter/.julia/artifacts/5beb0f80bee903a80fd8c22ef235125b8536f16e/lib/libfreetype.so
/home/mdpetter/.julia/artifacts/69ab5e1318fa87cac480350ccc9faffff3b00c5b/lib/libfontconfig.so
/home/mdpetter/.julia/artifacts/94eb32b3203f6059eeb8a2c299e4757acef6032f/lib/libdbus-1.so
/home/mdpetter/.julia/artifacts/0559db48d752dacf6747780530ca11c045af5d0e/lib/libatspi.so
/home/mdpetter/.julia/artifacts/76b60565e02edacb1b13d24771099d813ecad6f9/lib/libicudata.so
/home/mdpetter/.julia/artifacts/76b60565e02edacb1b13d24771099d813ecad6f9/lib/libicui18n.so
/home/mdpetter/.julia/artifacts/76b60565e02edacb1b13d24771099d813ecad6f9/lib/libicuuc.so.67
/home/mdpetter/.julia/artifacts/76b60565e02edacb1b13d24771099d813ecad6f9/lib/libicuio.so
/home/mdpetter/.julia/artifacts/76b60565e02edacb1b13d24771099d813ecad6f9/lib/libicutest.so
/home/mdpetter/.julia/artifacts/76b60565e02edacb1b13d24771099d813ecad6f9/lib/libicutu.so.67
/home/mdpetter/.julia/artifacts/5e95dafa2345b78fc6bd72c5baa11fe4d016eda5/lib/libjpeg.so
/home/mdpetter/.julia/artifacts/5e95dafa2345b78fc6bd72c5baa11fe4d016eda5/lib/libturbojpeg.so
/home/mdpetter/.julia/artifacts/37b48f2557f6eab9b9929e5d4962237b7710a80f/lib/libtiff.so
/home/mdpetter/.julia/artifacts/7190f0cb0832b80761cc6d513dd9b935f3e26358/lib/libXinerama.so
/home/mdpetter/.julia/artifacts/7f78efcc8a7e8bd374663eaf41e34ba741ef9ab1/lib/liblzo2.so
/home/mdpetter/.julia/artifacts/cd082e0dc0b36d0e6519a0595777a18a9d01904f/lib/libatk-bridge-2.0.so
/home/mdpetter/.julia/artifacts/f7ba6f13be70ab577ee4a4c28bf10dcf07b3c21d/lib/libXdamage.so
/home/mdpetter/.julia/artifacts/b0cf018645acb4148a4234c116eb74799ef63fc1/lib/libpng16.so
/home/mdpetter/.julia/artifacts/40b5948af7b3303cb7837e5c0a4b466e43440656/lib/libpixman-1.so
/home/mdpetter/.julia/artifacts/a84cc58d5161b950f268bb562e105bbbf4d6004a/lib/libEGL.so
/home/mdpetter/.julia/artifacts/a84cc58d5161b950f268bb562e105bbbf4d6004a/lib/libGLdispatch.so.0
/home/mdpetter/.julia/artifacts/a84cc58d5161b950f268bb562e105bbbf4d6004a/lib/libGL.so
/home/mdpetter/.julia/artifacts/a84cc58d5161b950f268bb562e105bbbf4d6004a/lib/libGLX.so.0
/home/mdpetter/.julia/artifacts/a84cc58d5161b950f268bb562e105bbbf4d6004a/lib/libGLESv1_CM.so
/home/mdpetter/.julia/artifacts/a84cc58d5161b950f268bb562e105bbbf4d6004a/lib/libGLESv2.so
/home/mdpetter/.julia/artifacts/a84cc58d5161b950f268bb562e105bbbf4d6004a/lib/libOpenGL.so
/home/mdpetter/.julia/artifacts/8b5aa917c93435f8e8dfa8de20c145b04a3056e3/lib/libfribidi.so
/home/mdpetter/.julia/artifacts/52f167c3640b8b94a012ca75698a00b4aa9959d1/lib/libcairo.so
/home/mdpetter/.julia/artifacts/52f167c3640b8b94a012ca75698a00b4aa9959d1/lib/libcairo-gobject.so
/home/mdpetter/.julia/artifacts/52f167c3640b8b94a012ca75698a00b4aa9959d1/lib/libcairo-script-interpreter.so
/home/mdpetter/.julia/artifacts/ba13d4f7e85858768358cb37cdc00e8c7acb2cca/lib/libgraphite2.so
/home/mdpetter/.julia/artifacts/ea505d523fda453a58a55805282cdc614933e399/lib/libharfbuzz.so
/home/mdpetter/.julia/artifacts/ea505d523fda453a58a55805282cdc614933e399/lib/libharfbuzz-gobject.so
/home/mdpetter/.julia/artifacts/ea505d523fda453a58a55805282cdc614933e399/lib/libharfbuzz-icu.so
/home/mdpetter/.julia/artifacts/ea505d523fda453a58a55805282cdc614933e399/lib/libharfbuzz-subset.so
/home/mdpetter/.julia/artifacts/079e2f87254bb2465a44de255cd5dde50d4d0b62/lib/libpango-1.0.so
/home/mdpetter/.julia/artifacts/079e2f87254bb2465a44de255cd5dde50d4d0b62/lib/libpangocairo-1.0.so
/home/mdpetter/.julia/artifacts/079e2f87254bb2465a44de255cd5dde50d4d0b62/lib/libpangoft2-1.0.so.0
/home/mdpetter/.julia/artifacts/05616da88f6b36c7c94164d4070776aef18ce46b/lib/libXcursor.so
/home/mdpetter/.julia/artifacts/597c895c3922d0c91ae93d538514709b520b03e1/lib/libepoxy.so
/home/mdpetter/.julia/artifacts/25fec041315dc9336379a02d310f1b8d9c27eb0f/lib/libXcomposite.so
/home/mdpetter/.julia/artifacts/575e03c4bfc127b25d9a838226e2271a8efec3ba/lib/libgdk_pixbuf-2.0.so
/home/mdpetter/.julia/artifacts/2e56e632e959bc09783ed0e5e6501cd75845385e/lib/libxkbcommon.so
/home/mdpetter/.julia/artifacts/2e56e632e959bc09783ed0e5e6501cd75845385e/lib/libxkbcommon-x11.so
/home/mdpetter/.julia/artifacts/d4d3d5c3155eea521cb7f7f6a9a8e6096409680c/lib/libgailutil-3.so
/home/mdpetter/.julia/artifacts/d4d3d5c3155eea521cb7f7f6a9a8e6096409680c/lib/libgtk-3.so.0
/home/mdpetter/.julia/artifacts/d4d3d5c3155eea521cb7f7f6a9a8e6096409680c/lib/libgdk-3.so.0

@giordano
Copy link
Contributor

giordano commented Apr 7, 2021

Ok, all libraries look ok, so no system libraries are being loaded by Julia as far as GTK is concerned. So maybe Gtk.jl is crashing during init:

Gtk.jl/src/Gtk.jl

Lines 77 to 136 in 543a4f1

function __init__()
# Set XDG_DATA_DIRS so that Gtk can find its icons and schemas
ENV["XDG_DATA_DIRS"] = join(filter(x -> x !== nothing, [
dirname(adwaita_icons_dir),
dirname(hicolor_icons_dir),
joinpath(dirname(GTK3_jll.libgdk3_path::String), "..", "share"),
get(ENV, "XDG_DATA_DIRS", nothing)::Union{String,Nothing},
]), Sys.iswindows() ? ";" : ":")
# Next, ensure that gdk-pixbuf has its loaders.cache file; we generate a
# MutableArtifacts.toml file that maps in a loaders.cache we dynamically
# generate by running `gdk-pixbuf-query-loaders:`
mutable_artifacts_toml = joinpath(dirname(@__DIR__), "MutableArtifacts.toml")
loaders_cache_name = "gdk-pixbuf-loaders-cache"
loaders_cache_hash = artifact_hash(loaders_cache_name, mutable_artifacts_toml)
if loaders_cache_hash === nothing
# Run gdk-pixbuf-query-loaders, capture output,
loader_cache_contents = gdk_pixbuf_query_loaders() do gpql
withenv("GDK_PIXBUF_MODULEDIR" => gdk_pixbuf_loaders_dir) do
return String(read(`$gpql`))
end
end
# Write cache out to file in new artifact
loaders_cache_hash = create_artifact() do art_dir
open(joinpath(art_dir, "loaders.cache"), "w") do io
write(io, loader_cache_contents)
end
end
bind_artifact!(mutable_artifacts_toml,
loaders_cache_name,
loaders_cache_hash;
force=true
)
end
# Point gdk to our cached loaders
ENV["GDK_PIXBUF_MODULE_FILE"] = joinpath(artifact_path(loaders_cache_hash), "loaders.cache")
ENV["GDK_PIXBUF_MODULEDIR"] = gdk_pixbuf_loaders_dir
if Sys.islinux() || Sys.isfreebsd()
# Needed by xkbcommon:
# https://xkbcommon.org/doc/current/group__include-path.html. Related
# to issue https://github.com/JuliaGraphics/Gtk.jl/issues/469
ENV["XKB_CONFIG_ROOT"] = joinpath(Xorg_xkeyboard_config_jll.artifact_dir::String,
"share", "X11", "xkb")
end
GError() do error_check
ccall((:gtk_init_with_args, libgtk), Bool,
(Ptr{Nothing}, Ptr{Nothing}, Ptr{UInt8}, Ptr{Nothing}, Ptr{UInt8}, Ptr{GError}),
C_NULL, C_NULL, "Julia Gtk Bindings", C_NULL, C_NULL, error_check)
end
# if g_main_depth > 0, a glib main-loop is already running,
# so we don't need to start a new one
if ccall((:g_main_depth, GLib.libglib), Cint, ()) == 0
global gtk_main_task = schedule(Task(gtk_main))
end
end

Any chance you can debug where it's crashing exactly?

@mdpetters
Copy link
Author

Maybe. I am not exactly sure what I am doing. I never worked with a package as complex as this. I cloned the master branch and am executing Gtk.jl line by line. Added the missing packages. I get to include("interfaces.jl") when I get the error at @Giface GTypePlugin Gtk.GLib.libgobject g_type_plugin that ERROR: UndefVarError: Gtk not defined. Makes some sense @Giface GTypePlugin GLib.libgobject g_type_plugin evaluates fine. Not sure how to go from here. Thoughts are welcome.

if isdefined(Base, :Experimental) && isdefined(Base.Experimental, Symbol("@optlevel"))
    @eval Base.Experimental.@optlevel 1
end

# Import binary definitions
using GTK3_jll, Glib_jll, Xorg_xkeyboard_config_jll, gdk_pixbuf_jll, adwaita_icon_theme_jll, hicolor_icon_theme_jll
using Pkg.Artifacts
const libgdk = libgdk3
const libgtk = libgtk3
const libgdk_pixbuf = libgdkpixbuf


const suffix = :Leaf
include("GLib/GLib.jl")
using .GLib
using .GLib.MutableTypes
import .GLib: set_gtk_property!, get_gtk_property, getproperty, FieldRef
import .GLib:
    signal_connect, signal_handler_disconnect,
    signal_handler_block, signal_handler_unblock, signal_handler_is_connected,
    signal_emit, unsafe_convert,
    AbstractStringLike, bytestring

import Base: convert, show, run, size, resize!, length, getindex, setindex!,
             insert!, push!, append!, pushfirst!, pop!, splice!, delete!, deleteat!,
             parent, isempty, empty!, first, last, in, popfirst!,
             eltype, copy, isvalid, string, sigatomic_begin, sigatomic_end, (:), iterate

export showall, select!, start

using Reexport
@reexport using Graphics
import .Graphics: width, height, getgc

using Cairo
import Cairo: destroy
using Serialization

const Index{I<:Integer} = Union{I, AbstractVector{I}}

export GAccessor
include("basic_exports.jl")
include("long_exports.jl")
include("long_leaf_exports.jl")

global const libgtk_version = VersionNumber(
      ccall((:gtk_get_major_version, libgtk), Cint, ()),
      ccall((:gtk_get_minor_version, libgtk), Cint, ()),
      ccall((:gtk_get_micro_version, libgtk), Cint, ()))

include("gdk.jl")
include("interfaces.jl")

@mdpetters
Copy link
Author

It crashes on this library call

    GError() do error_check
        ccall((:gtk_init_with_args, libgtk), Bool,
            (Ptr{Nothing}, Ptr{Nothing}, Ptr{UInt8}, Ptr{Nothing}, Ptr{UInt8}, Ptr{GError}),
            C_NULL, C_NULL, "Julia Gtk Bindings", C_NULL, C_NULL, error_check)
    end

@jonathanBieler
Copy link
Collaborator

Looks like it's a bug in Gtk/GNOME 40 and we'll need binaries for 3.24.26 to fix it :

https://www.mail-archive.com/ubuntu-bugs@lists.ubuntu.com/msg5904544.html

@hersle
Copy link

hersle commented May 6, 2021

I am on Fedora 34 with a system-installed version of GTK3 that is more recent than 3.24.26, but I am still getting this error. Is this an issue that must be fixed

  • manually by me,
  • by a new Fedora package for GTK3, or
  • by a new version of Gtk.jl?

I apologize in advance for being very ignorant to how Gtk.jl is interconnected with the system-installed GTK 😊

@tknopp
Copy link
Collaborator

tknopp commented May 7, 2021

@giordano would it be large effort to switch to 3.24.26?

@giordano
Copy link
Contributor

giordano commented May 7, 2021

We'll see: JuliaPackaging/Yggdrasil#2943

@giordano
Copy link
Contributor

giordano commented May 7, 2021

@hersle @mdpetters can you please try with GTK3_jll#main?

]add GTK3_jll#main

@mdpetters
Copy link
Author

Yes, the update works. The issue can be closed. (Perhaps wait until a new version of GTK3_jll will be out.)

@giordano
Copy link
Contributor

giordano commented May 7, 2021

It is already: JuliaRegistries/General#36266 🙂 Tests in #571 are already running (and passing) with GTK 3.24.29.

@tknopp
Copy link
Collaborator

tknopp commented May 7, 2021

thanks Mose!

@tknopp tknopp closed this as completed May 7, 2021
@hersle
Copy link

hersle commented May 7, 2021

Great, thank you! 😃
Working perfectly for me, too!

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

No branches or pull requests

5 participants