2016-09-02 11 views
1

Я пытаюсь запустить программу ракетки «Вселенная» на буфере х виртуального кадра, и я получаю эту ошибку:Попытки запустить программу ракетки на буфере х виртуального кадра

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] 

Команды I Бег - xvfb-run racket myprogram.rkt

Любая идея, почему это может произойти?

ответ

0

Проблема заключается в том, что у вас нет libfontconfig, и Racket полагается на нее для запуска программ gui.

Linux-версия Racket опирается на кучу библиотек, если вы хотите использовать графику в Racket, но не обязательно, если не планируете использовать какой-либо компонент gui вашей программы. Если вы используете настольный Linux, у вас почти наверняка уже установлены библиотеки, но если вы находитесь на сервере, это, вероятно, гораздо менее вероятно.

Возможно, самый простой способ установить все нужные библиотеки - это просто установить Gnome Desktop. То, как вы делаете это будет отличаться в зависимости от вашего дистрибутива, но и для убунту было бы:

sudo apt-get install ubuntu-gnome-desktop 

И для CentOS было бы:

yum -y groups install "GNOME Desktop" 

(Вы можете альтернативно установить все библиотеки одного в то время, если вы не хотите устанавливать полную рабочую среду.)

Предполагаю, что ваша программа использует графические библиотеки. что вы запускаете свою программу в Xvfb.