我试图打一个球拍"宇宙"在x虚拟帧缓冲区上编程,我不断收到此错误:
ffi-lib: couldn't open "libfontconfig.so.1" (libfontconfig.so.1: cannot open shared object file: No such file or directory)
context...:
/usr/share/racket/pkgs/draw-lib/racket/draw/unsafe/cairo-lib.rkt: [running body]
/usr/share/racket/pkgs/draw-lib/racket/draw/unsafe/cairo.rkt: [traversing imports]
/usr/share/racket/pkgs/draw-lib/racket/draw/unsafe/pango.rkt: [traversing imports]
/usr/share/racket/pkgs/draw-lib/racket/draw/private/font.rkt: [traversing imports]
/usr/share/racket/pkgs/draw-lib/racket/draw/private/contract.rkt: [traversing imports]
/usr/share/racket/pkgs/draw-lib/racket/draw.rkt: [traversing imports]
我正在运行的命令是xvfb-run racket myprogram.rkt
知道为什么会这样吗?
答案 0 :(得分:0)
这里的问题是你没有安装libfontconfig
,而且Racket依赖它来运行gui程序。 1
如果你想在Racket中使用图形,那么Racket的Linux版本依赖于一堆库,但如果不打算在程序中使用任何gui组件,则不一定如此。如果你正在运行桌面Linux,你几乎肯定已经安装了库,但如果你在服务器上它可能不太可能。
安装所有库所需的最简单方法可能就是安装Gnome桌面。你这样做的方式因你的发行版而异,但对于ubuntu,它将是:
sudo apt-get install ubuntu-gnome-desktop
对于CentOS,它将是:
yum -y groups install "GNOME Desktop"
(如果您不想安装完整的桌面环境,也可以一次安装所有库。)
1 我认为你的程序使用图形库。鉴于您在Xvfb中运行程序。