thestinger / termite

Termite is obsoleted by Alacritty. Termite was a keyboard-centric VTE-based terminal, aimed at use within a window manager with tiling and/or tabbing support.
https://github.com/alacritty/alacritty
2.74k stars 241 forks source link

undefined symbol: vte_terminal_set_cursor_position despite vte-ng installation. #747

Closed codesoverhill closed 3 years ago

codesoverhill commented 4 years ago

This is not an issue but am trying to find where linking went wrong.

I successfully installed vte-ng with ./autogen.sh --prefix=/usr. I was able to build termite. But I get this error:

~/local/termite $ ./termite -v
./termite: symbol lookup error: ./termite: undefined symbol: vte_terminal_set_cursor_position
~/local/termite $ ldd ./termite | grep vte
        libvte-2.91.so.0 => /usr/lib/x86_64-linux-gnu/libvte-2.91.so.0 (0x00007f4991a0f000)
~/local/termite $ ls /usr/lib | grep vte
libvte-2.91.a
libvte-2.91.la
libvte-2.91.so
libvte-2.91.so.0
libvte-2.91.so.0.5000.2
~/local/termite $ pkg-config --cflags vte-2.91
-pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/gio-unix-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/p11-kit-1 -I/usr/include/vte-2.91
~/local/termite $ pkg-config --libs vte-2.91
-lvte-2.91 -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lz -lpcre2-8 -lgnutls
~/local/termite $ nm /usr/lib/libvte-2.91.so | grep vte_terminal_set_cursor_position
00000000000363a0 T vte_terminal_set_cursor_position

This change to Makefile did not resolve the issue:

-LDFLAGS := -s -Wl,--as-needed ${LDFLAGS}
+LDFLAGS := -s -Wl,--as-needed ${LDFLAGS} -L/usr/lib

I cannot remove x86_64-linux-gnu/libvte-2.91.so.0 without breaking Linux Mint Mate. So, how can I make termite to include vte from /usr/lib and not the system installation directory?

Thank you.

thestinger commented 3 years ago

Termite is obsolete. Please use Alacritty instead. See https://github.com/thestinger/termite#termite-is-obsoleted-by-alacritty for more details.-