tunix / alacritty-snap

A cross-platform, GPU enhanced terminal emulator
MIT License
5 stars 13 forks source link

[BUG] `NCURSES6_TINFO_6.2.current' not found on Ubuntu Hirsute #19

Open skycaptain opened 3 years ago

skycaptain commented 3 years ago

Describe the bug

I cannot get any executable that uses libncurses to run, e.g. nano.

To Reproduce

Steps to reproduce the behavior:

  1. Install alacritty on latest Ubuntu Hirsute with updated packages: sudo snap install alacritty --classic
  2. Run e.g nano .config/alacritty/alacritty.yml
  3. See error:
nano: /snap/alacritty/46/lib/x86_64-linux-gnu/libtinfo.so.6: version `NCURSES6_TINFO_6.2.current' not found (required by /lib/x86_64-linux-gnu/libncursesw.so.6)

Expected behavior

Nano or any other executable that uses libnurses working. Works fine in Gnome Terminal.

Screenshots

Environment (please complete the following information):

Additional context

None as packaging related issue not issue with alacritty itself.

tunix commented 3 years ago

Weird. 🤔 I don't have this issue on groovy. I guess this is another library conflict that I need to embed inside the snap. I don't have access to any Hirsuite Hippo release yet. I'll try to fix it asap.

tunix commented 3 years ago

I think I fixed this issue with the PR I sent to snapcrafters/alacritty. Once it's merged, I'll push the snap into candidate channel, so that you can test.

tunix commented 3 years ago

@skycaptain - i just pushed the built snap into candidate channel. Please test and let me know.

For installation:

snap install alacritty --classic --candidate

For moving to candidate channel:

snap refresh alacritty --candidate
timthelion commented 3 years ago

OK, nano works, but other applications don't.

Describe the bug

In alacritty as installed via snap, things don't work as they should.

timothy@yoga ~$ xpra
xpra main error:
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/xpra/scripts/main.py", line 76, in main
    return run_mode(script_file, err, options, args, mode, defaults)
  File "/usr/lib/python2.7/dist-packages/xpra/scripts/main.py", line 402, in run_mode
    from xpra.gtk_common.gui import main        #@Reimport
  File "/usr/lib/python2.7/dist-packages/xpra/gtk_common/gui.py", line 12, in <module>
    gtk = import_gtk()
  File "/usr/lib/python2.7/dist-packages/xpra/gtk_common/gobject_compat.py", line 111, in import_gtk
    return  _try_import(import_gtk3, import_gtk2)
  File "/usr/lib/python2.7/dist-packages/xpra/gtk_common/gobject_compat.py", line 38, in _try_import
    return import_method_gtk2()
  File "/usr/lib/python2.7/dist-packages/xpra/gtk_common/gobject_compat.py", line 102, in import_gtk2
    import gtk
  File "/usr/lib/python2.7/dist-packages/gtk-2.0/gtk/__init__.py", line 40, in <module>
    from gtk import _gtk
ImportError: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /snap/alacritty/46/usr/lib/x86_64-linux-gnu/libpng16.so.16)
timothy@yoga ~> xterm
*** stack smashing detected ***: <unknown> terminated
fish: 'xterm' terminated by signal SIGABRT (Abort)
timothy@yoga ~>

From this, I'm afraid that installing alacritty via snap is kind of a non-starter. We need our terminal emulator to be running as a normal program and not in any kind of modified environment or sandbox, even with --classic.

Expected behavior

Works fine in xfce4-terminal and xterm as installed through apt.

Environment (please complete the following information):

Additional context

Shell output:

$ alacritty -vvv
timothy@yoga ~/p/a/k/helm-settings> alacritty -vvv
Created log file at "/tmp/Alacritty-27882.log"
[2021-07-14 16:42:17.899159962] [INFO ] [alacritty] Welcome to Alacritty
[2021-07-14 16:42:17.899254211] [INFO ] [alacritty] Configuration files loaded from:
                                                      "/home/timothy/.config/alacritty/alacritty.yml"
                                                      "/home/timothy/.config/alacritty/colors.yml"
[2021-07-14 16:42:17.906714963] [TRACE] [crossfont] Number of fonts is 152
[2021-07-14 16:42:17.906776364] [TRACE] [crossfont] Got font path="/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf", index=0
[2021-07-14 16:42:17.906852915] [DEBUG] [crossfont] Loaded Face Face { ft_face: Font Face: Book, load_flags: TARGET_LIGHT, render_mode: "Normal", lcd_filter: 1 }
[2021-07-14 16:42:17.908710307] [DEBUG] [alacritty] Estimated DPR: 2.0833333333333335
[2021-07-14 16:42:17.908732654] [DEBUG] [alacritty] Estimated window size: None
[2021-07-14 16:42:17.908754343] [DEBUG] [alacritty] Estimated cell size: 18 x 37
[2021-07-14 16:42:17.926458555] [INFO ] [alacritty] Device pixel ratio: 2.0833333333333335
[2021-07-14 16:42:17.936298912] [INFO ] [alacritty] Initializing glyph cache...
[2021-07-14 16:42:17.937553936] [TRACE] [crossfont] Number of fonts is 152
[2021-07-14 16:42:17.937610809] [TRACE] [crossfont] Got font path="/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf", index=0
[2021-07-14 16:42:17.937723638] [DEBUG] [crossfont] Loaded Face Face { ft_face: Font Face: Book, load_flags: TARGET_LIGHT, render_mode: "Normal", lcd_filter: 1 }
[2021-07-14 16:42:17.941131814] [TRACE] [crossfont] Number of fonts is 158
[2021-07-14 16:42:17.941174139] [TRACE] [crossfont] Got font path="/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Bold.ttf", index=0
[2021-07-14 16:42:17.941256366] [DEBUG] [crossfont] Loaded Face Face { ft_face: Font Face: Bold, load_flags: TARGET_LIGHT, render_mode: "Normal", lcd_filter: 1 }
[2021-07-14 16:42:17.944699590] [TRACE] [crossfont] Number of fonts is 158
[2021-07-14 16:42:17.944764358] [TRACE] [crossfont] Got font path="/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Oblique.ttf", index=0
[2021-07-14 16:42:17.944898386] [DEBUG] [crossfont] Loaded Face Face { ft_face: Font Face: Oblique, load_flags: TARGET_LIGHT, render_mode: "Normal", lcd_filter: 1 }
[2021-07-14 16:42:17.948544208] [TRACE] [crossfont] Number of fonts is 168
[2021-07-14 16:42:17.948594372] [TRACE] [crossfont] Got font path="/usr/share/fonts/truetype/dejavu/DejaVuSansMono-BoldOblique.ttf", index=0
[2021-07-14 16:42:17.948712522] [DEBUG] [crossfont] Loaded Face Face { ft_face: Font Face: Bold Oblique, load_flags: TARGET_LIGHT, render_mode: "Normal", lcd_filter: 1 }
[2021-07-14 16:42:17.956213797] [INFO ] [alacritty] ... finished initializing glyph cache in 0.019873025s
[2021-07-14 16:42:17.956299498] [INFO ] [alacritty] Cell size: 18 x 37
[2021-07-14 16:42:17.956314317] [INFO ] [alacritty] Padding: 0 x 0
[2021-07-14 16:42:17.956321791] [INFO ] [alacritty] Width: 800, Height: 600
[2021-07-14 16:42:17.960220123] [TRACE] [alacritty_terminal] Scaling RGB by 0.66 from Rgb { r: 0, g: 0, b: 0 } to Rgb { r: 0, g: 0, b: 0 }
[2021-07-14 16:42:17.960257743] [TRACE] [alacritty] Deriving dim colors from normal colors
[2021-07-14 16:42:17.960269775] [TRACE] [alacritty_terminal] Scaling RGB by 0.66 from Rgb { r: 29, g: 31, b: 33 } to Rgb { r: 19, g: 20, b: 21 }
[2021-07-14 16:42:17.960281530] [TRACE] [alacritty_terminal] Scaling RGB by 0.66 from Rgb { r: 204, g: 102, b: 102 } to Rgb { r: 134, g: 67, b: 67 }
[2021-07-14 16:42:17.960292773] [TRACE] [alacritty_terminal] Scaling RGB by 0.66 from Rgb { r: 181, g: 189, b: 104 } to Rgb { r: 119, g: 124, b: 68 }
[2021-07-14 16:42:17.960303043] [TRACE] [alacritty_terminal] Scaling RGB by 0.66 from Rgb { r: 240, g: 198, b: 116 } to Rgb { r: 158, g: 130, b: 76 }
[2021-07-14 16:42:17.960313188] [TRACE] [alacritty_terminal] Scaling RGB by 0.66 from Rgb { r: 129, g: 162, b: 190 } to Rgb { r: 85, g: 106, b: 125 }
[2021-07-14 16:42:17.960323238] [TRACE] [alacritty_terminal] Scaling RGB by 0.66 from Rgb { r: 178, g: 148, b: 187 } to Rgb { r: 117, g: 97, b: 123 }
[2021-07-14 16:42:17.960333112] [TRACE] [alacritty_terminal] Scaling RGB by 0.66 from Rgb { r: 138, g: 190, b: 183 } to Rgb { r: 91, g: 125, b: 120 }
[2021-07-14 16:42:17.960354845] [TRACE] [alacritty_terminal] Scaling RGB by 0.66 from Rgb { r: 197, g: 200, b: 198 } to Rgb { r: 130, g: 132, b: 130 }
[2021-07-14 16:42:17.960375036] [INFO ] [alacritty] PTY dimensions: 16 x 44
[2021-07-14 16:42:17.965336171] [INFO ] [alacritty] Initialisation complete
[2021-07-14 16:42:17.973166461] [TRACE] [alacritty_terminal] Setting title to 'Some("fish /home/timothy/pr/auto-mat/k8s-secrets/helm-settings")'
[2021-07-14 16:42:17.973211823] [TRACE] [alacritty_terminal] Setting attribute: Foreground(Named(Black))
[2021-07-14 16:42:17.973223322] [TRACE] [alacritty_terminal] Configuring charset G0 as Ascii
[2021-07-14 16:42:17.973231495] [TRACE] [alacritty_terminal] Setting attribute: Reset
[2021-07-14 16:42:17.975608647] [TRACE] [alacritty_terminal] Wrapping input
[2021-07-14 16:42:17.975637235] [TRACE] [alacritty_terminal] Carriage return
[2021-07-14 16:42:17.975646240] [TRACE] [alacritty_terminal] Linefeed
[2021-07-14 16:42:17.978637297] [DEBUG] [alacritty_terminal] New num_cols is 106 and num_lines is 29
[2021-07-14 16:42:17.979906415] [INFO ] [alacritty] Padding: 0 x 0
[2021-07-14 16:42:17.979935625] [INFO ] [alacritty] Width: 1914, Height: 1074
[2021-07-14 16:42:17.980081795] [TRACE] [alacritty_terminal] Setting mode: BracketedPaste
[2021-07-14 16:42:17.983854242] [TRACE] [alacritty_terminal] Setting title to 'Some("fish /home/timothy/pr/auto-mat/k8s-secrets/helm-settings")'
[2021-07-14 16:42:17.983898994] [TRACE] [alacritty_terminal] Setting attribute: Foreground(Named(Black))
[2021-07-14 16:42:17.983911002] [TRACE] [alacritty_terminal] Configuring charset G0 as Ascii
[2021-07-14 16:42:17.983919827] [TRACE] [alacritty_terminal] Setting attribute: Reset
[2021-07-14 16:42:17.983973282] [TRACE] [alacritty_terminal] Setting attribute: Dim
[2021-07-14 16:42:17.983985715] [TRACE] [alacritty_terminal] Configuring charset G0 as Ascii
[2021-07-14 16:42:17.983994144] [TRACE] [alacritty_terminal] Setting attribute: Reset
[2021-07-14 16:42:17.984009019] [TRACE] [alacritty_terminal] Carriage return
[2021-07-14 16:42:17.984020238] [TRACE] [alacritty_terminal] Carriage return
[2021-07-14 16:42:17.984029695] [TRACE] [alacritty_terminal] Clearing line: Right
[2021-07-14 16:42:17.984260907] [TRACE] [alacritty_terminal] Setting attribute: Foreground(Named(Green))
[2021-07-14 16:42:17.984287906] [TRACE] [alacritty_terminal] Setting attribute: Foreground(Named(Black))
[2021-07-14 16:42:17.984316039] [TRACE] [alacritty_terminal] Configuring charset G0 as Ascii
[2021-07-14 16:42:17.984327579] [TRACE] [alacritty_terminal] Setting attribute: Reset
[2021-07-14 16:42:17.984339193] [TRACE] [alacritty_terminal] Clearing line: Right

LIBGL_DEBUG output (only if you have graphics related issue):

$ LIBGL_DEBUG=verbose alacritty
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/timothy/.drirc: No such file or directory.
libGL: using driver i915 for 7
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/timothy/.drirc: No such file or directory.
libGL: pci id for fd 7: 8086:0416, driver i965
libGL: MESA-LOADER: dlopen(/snap/alacritty/46/usr/lib/x86_64-linux-gnu/dri/i965_dri.so)
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/timothy/.drirc: No such file or directory.
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/timothy/.drirc: No such file or directory.
libGL: Using DRI3 for screen 0
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/timothy/.drirc: No such file or directory.
timothy@yoga ~> snap info alacritty
name:      alacritty
summary:   A fast, cross-platform, OpenGL terminal emulator
publisher: Snapcrafters
store-url: https://snapcraft.io/alacritty
contact:   me@alperkan.at
license:   unset
description: |
  Alacritty is a modern terminal emulator that comes with sensible defaults,
  but allows for extensive configuration. By integrating with other
  applications, rather than reimplementing their functionality, it manages
  to provide a flexible set of features with high performance.
commands:
  - alacritty
snap-id:      CPA6L7h6dWM7VAmIPTHX14eMgKEZqMJw
tracking:     latest/candidate
refresh-date: today at 16:52 CEST
channels:
  latest/stable:    0.8.0 2021-06-17 (46) 60MB classic
  latest/candidate: 0.8.0 2021-06-23 (58) 60MB classic
  latest/beta:      ↑
  latest/edge:      ↑
installed:          0.8.0            (58) 60MB classic
tunix commented 3 years ago

I'm currently working on this issue. You can follow via this PR.

ademar111190 commented 3 years ago

Additional info, I guess it is the same bug.

https://github.com/alacritty/alacritty/issues/5375#event-5080072642

dc740 commented 2 years ago

Since this is the only solid reference I found to this bug, here is a second report, I don't know if it helps at all:

$ ./UEFITool
./UEFITool: symbol lookup error: /snap/core20/current/lib/x86_64-linux-gnu/libpthread.so.0: undefined symbol: __libc_pthread_init, version GLIBC_PRIVATE
$ echo $LD_LIBRARY_PATH
/snap/alacritty/46/usr/lib/x86_64-linux-gnu:/snap/alacritty/46/lib/x86_64-linux-gnu:/snap/alacritty/46/usr/lib/x86_64-linux-gnu/dri

clearing LD_LIBRARY_PATH "fixes" the issue.

jargv commented 1 year ago

Another report:

$ tput
tput: /snap/alacritty/58/lib/x86_64-linux-gnu/libtinfo.so.6: version `NCURSES6_TINFO_6.2.20211010' not found (required by tput)
$ LD_LIBRARY_PATH=
$ tput
Usage: tput [options] [command]
...

This is being triggered indirectly by fzf-tmux which uses tput

thatONEjustin commented 11 months ago

issue persisting, doesn't prevent opening the file.

$$•~» fdfind --type f --hidden --exclude .git | fzf-tmux -p --reverse | xargs nvim       [14:46:24]
tput: symbol lookup error: tput: undefined symbol: _nc_safe_fopen, version NCURSES6_TINFO_6.2.20211010
tput: symbol lookup error: tput: undefined symbol: _nc_safe_fopen, version NCURSES6_TINFO_6.2.20211010
$$•~» fdfind --version                                                                   [14:47:10]
fdfind 8.7.0
$$•~» fzf --version && fzf-tmux --version                                                [14:47:30]
0.42.0 (debian)
tput: symbol lookup error: tput: undefined symbol: _nc_safe_fopen, version NCURSES6_TINFO_6.2.20211010
tput: symbol lookup error: tput: undefined symbol: _nc_safe_fopen, version NCURSES6_TINFO_6.2.20211010
fzf-tmux (with fzf 0.42.0 (debian))
$$•~» nvim --version                                                                     [14:47:42]
NVIM v0.9.1
Build type: RelWithDebInfo
LuaJIT 2.1.0-beta3
Compilation: /usr/bin/cc -O2 -g -Og -g -Wall -Wextra -pedantic -Wno-unused-parameter -Wstrict-prototypes -std=gnu99 -Wshadow -Wconversion -Wvla -Wdouble-promotion -Wmissing-noreturn -Wmissing-format-attribute -Wmissing-prototypes -fno-common -Wno-unused-result -Wimplicit-fallthrough -fdiagnostics-color=always -fstack-protector-strong -DUNIT_TESTING -DINCLUDE_GENERATED_DECLARATIONS -D_GNU_SOURCE -I/build/nvim/parts/nvim/build/.deps/usr/include/luajit-2.1 -I/usr/include -I/build/nvim/parts/nvim/build/.deps/usr/include -I/build/nvim/parts/nvim/build/build/src/nvim/auto -I/build/nvim/parts/nvim/build/build/include -I/build/nvim/parts/nvim/build/build/cmake.config -I/build/nvim/parts/nvim/build/src -I/usr/include -I/build/nvim/parts/nvim/build/.deps/usr/include -I/build/nvim/parts/nvim/build/.deps/usr/include -I/build/nvim/parts/nvim/build/.deps/usr/include -I/build/nvim/parts/nvim/build/.deps/usr/include -I/build/nvim/parts/nvim/build/.deps/usr/include -I/build/nvim/parts/nvim/build/.deps/usr/include

   system vimrc file: "$VIM/sysinit.vim"
  fall-back for $VIM: "/usr/share/nvim"

Run :checkhealth for more info
$$•~» echo $LD_LIBRARY_PATH                                                              [14:47:50]
/snap/alacritty/85/usr/lib/x86_64-linux-gnu:/snap/alacritty/85/lib/x86_64-linux-gnu:/snap/alacritty/85/usr/lib/x86_64-linux-gnu/dri
$$•~» tput                                                                               [14:48:54]
tput: symbol lookup error: tput: undefined symbol: _nc_safe_fopen, version NCURSES6_TINFO_6.2.20211010
$$•~»          

on: image

locnnil commented 11 months ago

This issue also persists for NCURSES6_TINFO_6.4.current, when I tried to open tmux I got:

tmux: /snap/alacritty/85/lib/x86_64-linux-gnu/libtinfo.so.6: version `NCURSES6_TINFO_6.4.current' not found (required by tmux)

My setup:

      -+ssssssssssssssssssyyssss+-         OS: Ubuntu 23.10 x86_64
   /ssssssssssshdmmNNmmyNMMMMhssssss/      Kernel: 6.5.0-14-generic
  +ssssssssshmydMMMMMMMNddddyssssssss+     Uptime: 9 hours, 54 mins
 /sssssssshNMMMyhhyyyyhmNMMMNhssssssss/    Packages: 1630 (dpkg), 23 (snap)
.ssssssssdMMMNhsssssssssshNMMMdssssssss.   Shell: zsh 5.9
+sssshhhyNMMNyssssssssssssyNMMMysssssss+   Resolution: 1920x1080, 1920x1080
ossyNMMMNyMMhsssssssssssssshmmmhssssssso   DE: GNOME 45.1
ossyNMMMNyMMhsssssssssssssshmmmhssssssso   WM: Mutter
+sssshhhyNMMNyssssssssssssyNMMMysssssss+   WM Theme: Adwaita
.ssssssssdMMMNhsssssssssshNMMMdssssssss.   Theme: Yaru-dark [GTK2/3]
 /sssssssshNMMMyhhyyyyhdNMMMNhssssssss/    Icons: Yaru [GTK2/3]
  +sssssssssdmydMMMMMMMMddddyssssssss+     Terminal: alacritty
   /ssssssssssshdmNNNNmyNMMMMhssssss/      CPU: Intel i7-7500U (4) @ 3.500GHz
    .ossssssssssssssssssdMMMNysssso.       GPU: Intel HD Graphics 620
      -+sssssssssssssssssyyyssss+-         GPU: NVIDIA GeForce 940MX
        `:+ssssssssssssssssss+:`           Memory: 3237MiB / 7714MiB
            .-/+oossssoo+/-.