Compilando Dwm en Arch Linux. ¿Falta Xft.h?
Intentar compilar Dwm Tile Manager (que usa Xorg) en Arch Linux actualmente produce el siguiente error ( archivo adjunto original ):
dwm build options:
CFLAGS = -std=c99 -pedantic -Wall -Wno-deprecated-declarations -Os -I/usr/include/X11 -I/usr/include/freetype2 -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_POSIX_C_SOURCE=200809L -DVERSION="6.2" -DXINERAMA
LDFLAGS = -L/usr/lib -lX11 -lXinerama -lfontconfig -lXft
CC = cc
cc -c -std=c99 -pedantic -Wall -Wno-deprecated-declarations -Os -I/usr/include/X11 -I/usr/include/freetype2 -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_POSIX_C_SOURCE=200809L -DVERSION=\"6.2\" -DXINERAMA drw.c
drw.c:6:10: fatal error: X11/Xft/Xft.h: No such file or directory
6 | #include <X11/Xft/Xft.h>
| ^~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:18: drw.o] Error 1
¿Esto indica que Xft.hse requiere la biblioteca para compilar Dwm?
El administrador de paquetes Arch Linux no puede instalar Xorg-server (que contiene Xft.h) dejando este error de llavero ( archivo adjunto original ):
resolving dependencies...
looking for conflicting packages...
warning: dependency cycle detected:
warning: harfbuzz will be installed before its freetype2 dependency
Packages (21) freetype2-2.10.2-1 graphite-1:1.3.14-1 harfbuzz-2.7.2-1 libepoxy-1.5.4-2 libevdev-1.9.1-1 libfontenc-1.1.4-3 libgudev-234-1 libinput-1.16.1-1 libpng-1.6.37-3 libwacom-1.5-1 libxfont2-2.0.4-3 libxkbfile-1.1.0-2 mtdev-1.1.6-1 pixman-0.40.0-1 xf86-input-libinput-0.30.0-1 xkeyboard-config-2.30-2 xorg-fonts-encodings-1.0.5-2 xorg-server-common-1.20.9-2 xorg-setxkbmap-1.3.2-2 xorg-xkbcomp-1.4.3-1 xorg-server-1.20.9-2
Total Installed Size: 23.80 MiB
:: Proceed with installation? [Y/n] checking keyring...
downloading required keys...
:: Import PGP key 3B94A80E50A477C7, "Jan Alexander Steffens (heftig) <[email protected]>"? [Y/n] error: key "3B94A80E50A477C7" could not be looked up remotely
error: required key missing from keyring
error: failed to commit transaction (unexpected error)
Errors occurred, no packages were upgraded.
¿Existe una forma alternativa de obtenerla Xft.h?
Respuestas
Sí, el compilador se queja de que no puede encontrar X11/Xft/Xft.hen los directorios de inclusión de su sistema.
Puede consultar la base de datos de archivos de pacman para saber qué paquetes, incluidos los no instalados, proporcionan un archivo:
sudo pacman -Fy # the database likely needs to be refreshed
pacman -F Xft.h
O, si tiene pkgfileinstalada la más rica en funciones (que mantiene su propia base de datos de archivos):
pkgfile Xft.h
Ambos te dirán que usr/include/X11/Xft/Xft.hes proporcionado por libxft.
Tenga en cuenta que también puede aprovechar los paquetes existentes: dwm existe en el AUR y, incluso si necesita compilar su propia versión, aún puede mirar las dependencias ("depende", "makedepends") declaradas en el PKGBUILDarchivo proporcionado allí.
Los informes sobre problemas con la clave gpg de [email protected] han aparecido más de una vez en los foros de Arch Linux en los últimos meses [1] [2] . Si su archlinux-keyringpaquete está actualizado y aún ve errores relacionados con la clave que falta, puede intentar importar la clave que 3B94A80E50A477C7pasa a ser una subclave de:
sudo gpg --recv-keys --keyserver hkp://pool.sks-keyservers.net \
--homedir /etc/pacman.d/gnupg 19802F8B0D70FC30