Buka
Buka copied to clipboard
Harfbuzz version too old
Hello,
I've tried installing Buka from arch linux's AUR but when I run it I get the following error:
(Buka:70766): Pango-ERROR **: 15:47:38.639: Harfbuzz version too old (1.3.1)
I have tried to run LD_PRELOAD=/usr/lib/libharfbuzz.so.0 Buka
, but the error is the same.
strace
shows that used library is openat(AT_FDCWD, "/usr/lib/libharfbuzz.so.0", O_RDONLY|O_CLOEXEC) = 3
I have installed harfbuzz version 2.6.4-2 and pango ver. ango 1:1.44.7+11+g73b46b04-1
same issue on fedora 32 :/
Here are 3 methods to fix this issue - Pango-ERROR : Harfbuzz version too old (1.3.1)
Method 1 (patch): Revert back to Pango 1.43. In terminal: sudo dnf downgrade --releasever 30 pango-1.43.0-4.fc30.x86_64 Buka will now work, but the user is required to exclude pango during updates. in terminal: sudo dnf update --exclude pango,pango-devel,nemo, nemo-extension
Method 2: Install from source. Go to https://github.com/oguzhaninan/Buka and follow the "Build from source" section.
Method 3: Change the text, include a license in the JSON, and build the RPM. The RPM was successfully created using rpm-builder, and electron-installer-redhat. A SPDX license was required in the package JSON for the RPM build.
I have same problem with AppImage but my harfbuzz is not 1.3.1
dpkg -l libharfbuzz0b
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-===================-============-============-=============================================
ii libharfbuzz0b:amd64 2.6.4-1 amd64 OpenType text shaping engine (shared library)
ii libharfbuzz0b:i386 2.6.4-1 i386 OpenType text shaping engine (shared library)
and I don't see harfbuzz or pango inside the AppImage
Same thing here in Solus Linux (Solus 4.1 Fortitude / Linux 5.6.4-152.current)
Tried to use Buka-1.0.0-x86_64.AppImage but when run ./Buka*.AppImage
this error occurred:
(buka:5561): Pango-ERROR **: 23:52:30.520: Harfbuzz version too old (1.3.1)
and a quick search in my system's packages shows:
any advice ?
Same error at Ubuntu 20.04
$ dpkg -l libharfbuzz0b
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-===================-==============-============-=============================================
ii libharfbuzz0b:amd64 2.6.4-1ubuntu4 amd64 OpenType text shaping engine (shared library)
ii libharfbuzz0b:i386 2.6.4-1ubuntu4 i386 OpenType text shaping engine (shared library)
same issue on Debian testing bullseye
ii libharfbuzz0b:amd64 2.6.7-1 amd64 OpenType text shaping engine (shared library)
ii libharfbuzz0b:i386 2.6.7-1 i386 OpenType text shaping engine (shared library)
Same on Atom, Ubuntu 20.04
usr/bin/atom: line 127: 27668 Trace/breakpoint trap (core dumped) nohup "$ATOM_PATH" --executed-from="$(pwd)" --pid=$$ "$@" > "$ATOM_HOME/nohup.out" 2>&1
(atom:27668): Pango-ERROR **: 15:55:32.705: Harfbuzz version too old (1.4.2)
Ubuntu 20.04 x64 .deb package
A working Debian package was created and Buka was installed successfully on a fresh install of Ubuntu 20.04.
The required Pango libraries were added to the data tarball of the Debian package, and a new package was created using npm electron-installer-debian.
Here is a link to the Debian package:
buka_1.0.0_amd64.debThe package can be installed and executed using "buka" in terminal or search for the Buka application.
To create and install the Debian package:
1.) Install the required dependencies.
In terminal: sudo apt install gconf-service gconf2 libcanberra-gtk-module2.) Get the original deb file: Buka_1.0.0_amd64.deb
3.) Get the correct libraries.
Get https://packages.ubuntu.com/focal/libs/libpango-1.0-0 https://packages.ubuntu.com/focal/libpangocairo-1.0-0 https://packages.ubuntu.com/focal/libpangoft2-1.0-0
Open these files using Archive Manager. For each package: Navigate to ./usr/lib/x86_64-linux-gnu/
Extract both files in this location e.g. libpango-1.0.so.0, libpango-1.0.so.0.4200.3 Store all 6 in a folder.
4.) Add Pango libraries to data tarball of original Debian package.
4a.) Extract Data tarball. Extract Debian package: Buka_1.0.0_amd64.deb Extract Data tarball: data.tar.xz Inside Data, navigate to /usr/lib/Buka/ Copy this path. Open terminal in this folder and 'pwd' to get path.
4b.) Add the Pango libraries. Open terminal in the folder that contains the 6 Pango library files. Move these files to the Data tarball location copied above.
5.) Install npm requirements to build and package the project.
In terminal: sudo apt install npm && sudo npm install -g electron-installer-debian && sudo npm install electron-packager -g6.) Create the debian.json configuration file.
6a.) Download Buka project icon: https://github.com/oguzhaninan/Buka/blob/master/assets/img/icon.pngInside Data folder, navigate to usr/lib/ There should be a Buka folder in this location.
6b.) Create a new file called debian.json and add this to file:
{
"dest": "release-builds/",
"icon": "icon.png",
"categories": [
"Utility"
],
"lintianOverrides": [
"changelog-file-missing-in-native-package"
]
}
Include the correct location of the icon.png file. In this example, it is in the data/usr/lib/ folder.
Save and close file.
7.) Build the Debian package.
Inside the ../data/usr/lib/ folder should be: Buka folder, icon.png, and debian.json .Run the following npm command in terminal:
sudo electron-installer-debian --src Buka --arch amd64 --config debian.json
After this completes, the Debian package will be location in a new folder called release-builds.