Kitty: libharfbuzz.so.0: undefined symbol: FT_Get_Var_Blend_Coordinates

Created on 19 Sep 2018  路  4Comments  路  Source: kovidgoyal/kitty

error at installation

ImportError: ~/.local/kitty.app/bin/../lib/libharfbuzz.so.0: undefined symbol: FT_Get_Var_Blend_Coordinates

full log:

curl -L https://sw.kovidgoyal.net/kitty/installer.sh | sh /dev/stdin
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  8249  100  8249    0     0  84799      0 --:--:-- --:--:-- --:--:-- 85041
Using python executable: /usr/bin/python3
Checking for latest release on GitHub...
Will download and install kitty-0.12.1-x86_64.txz
Downloaded 8089176 bytes 
Extracting tarball...
kitty successfully installed to ~/.local/kitty.app
Use ~/.local/kitty.app/bin/kitty to run kitty
Traceback (most recent call last):
  File "python3.7/runpy.py", line 280, in run_path
  File "python3.7/runpy.py", line 85, in _run_code
  File "kitty/__main__.py", line 117, in <module>
  File "kitty/__main__.py", line 110, in main
  File "kitty/main.py", line 10, in <module>
  File "kitty/borders.py", line 7, in <module>
ImportError: ~/.local/kitty.app/bin/../lib/libharfbuzz.so.0: undefined symbol: FT_Get_Var_Blend_Coordinates

system is linux Debian-stretch:

uname -a
Linux ... 4.9.0-8-amd64 #1 SMP Debian 4.9.110-3+deb9u4 (2018-08-21) x86_64 GNU/Linux

Most helpful comment

A copy-past solution if you use installer.sh from kitty.

curl -L https://sw.kovidgoyal.net/kitty/installer.sh | sh /dev/stdin
git clone --depth 1 https://github.com/harfbuzz/harfbuzz.git /tmp/harfbuzz
cd harfbuzz/ 
./autogen.sh && ./configure && make
cp src/.libs/libharfbuzz.so ~/.local/kitty.app/lib/libharfbuzz.so.0

All 4 comments

The freetype library on your system is too old. See #595

Solution from #595 for convenience:
https://github.com/kovidgoyal/kitty/issues/595#issuecomment-504260295

jberryman commented on Jun 20
FWIW, on Debian stretch It looks like things are working after doing:

  • unpack the binary bundle from https://github.com/kovidgoyal/kitty/releases to ~/.local
  • build harfbuzz from source (was very straightforward ./autogen.sh && ./configure && make)
  • copy the libharfbuzz.so you just built, overwriting ~/.local/lib/libharfbuzz.so.0

A copy-past solution if you use installer.sh from kitty.

curl -L https://sw.kovidgoyal.net/kitty/installer.sh | sh /dev/stdin
git clone --depth 1 https://github.com/harfbuzz/harfbuzz.git /tmp/harfbuzz
cd harfbuzz/ 
./autogen.sh && ./configure && make
cp src/.libs/libharfbuzz.so ~/.local/kitty.app/lib/libharfbuzz.so.0

FWIW, on debian the following dependencies were required for the harfbuzz compile to produce the correct result, as mentioned in https://github.com/kovidgoyal/kitty/issues/866#issuecomment-611239479:

apt install build-essential pkg-config libtool autoconf \
    libfreetype6-dev libglib2.0-dev libcairo2-dev
Was this page helpful?
0 / 5 - 0 ratings

Related issues

Jomik picture Jomik  路  4Comments

Askannz picture Askannz  路  3Comments

RedBeard0531 picture RedBeard0531  路  4Comments

lazarcf picture lazarcf  路  4Comments

crocket picture crocket  路  4Comments