Фатальная ошибка: webkit2/webkit2.h: нет такого файла или каталога

В Arch Linux после обновления до Gnome 3.14 у меня возникли некоторые проблемы с Webkit2Gtk.

Вала: Рассмотрим следующий тест Вала:

using Gtk;
using WebKit;

public class ValaWebkit : Window {

    private WebView web_view;

    public ValaWebkit(){
        this.title = "Testing youtube";
        set_default_size (800, 600);

        web_view = new WebView();
        add(web_view);

        //this.web_view.open ("http://www.youtube.com/");
        this.web_view.load_uri ("https://www.youtube.com/");
    }

    public static int main (string[] args) {
        Gtk.init (ref args);

        new ValaWebkit().show_all();
        Gtk.main();

        return 0;
    }
}

Перед обновлением до Gnome 3.14 я мог бы скопировать вот так valac --pkg gtk+-3.0 --pkg webkit2gtk-3.0 --vapidir . valawebkit.vala (Я не вставляю сюда webkit2gtk-3.0.vapi, потому что он слишком длинный). Теперь с GNOME 3.14, если я пытаюсь скомпилировать, я получаю

/home/luca/Sources/vala/webkit test/valawebkit.vala.c:8:29: fatal error: webkit2/webkit2.h: No such file or directory
 #include <webkit2/webkit2.h>
                             ^
compilation terminated.
error: cc exited with status 256
Compilation failed: 1 error(s), 0 warning(s)

Кроме того, если я пытаюсь запустить двоичный файл, скомпилированный ПЕРЕД обновлением до Gnome 3.14, я получаю эту ошибку:

./valawebkit: error while loading shared libraries: libwebkit2gtk-3.0.so.25: cannot open shared object file: No such file or directory

2) GJS / Eclipse / Java (SWT): если я запускаю либо этот пример gjs, либо eclipse (luna), либо любое другое приложение на основе swt 4.4, я получаю следующее:

No bp log location saved, using default.
[000:000] Cpu: 6.58.9, x4, 2600Mhz, 7847MB
[000:000] Computer model: Not available
[000:000] Browser XEmbed support present: 1
[000:000] Browser toolkit is Gtk2.
[000:004] Using Gtk2 toolkit
[000:004] Warning(optionsfile.cc:47): Load: Could not open file, err=2
[000:004] No bp log location saved, using default.

У меня такое чувство, что это проблема с упаковкой в ​​ArchLinux и Gnome 3.14. У кого-нибудь есть такая же проблема? Есть ли обходной путь как для компиляции, так и для запуска с webkit2gtk?

РЕДАКТИРОВАТЬ Я сделал небольшой прогресс: я обнаружил, что файлы заголовков, которые мне нужны, теперь находятся под /usr/include/webkitgtk3.0 а также /usr/include/libsoup-2.4, Теперь компилируем так:

valac --pkg gtk+-3.0 --pkg webkit2gtk-3.0 --vapidir . --Xcc="-I/usr/include/webkitgtk-3.0" --Xcc "-I/usr/include/libsoup-2.4" --thread valawebkit.vala

работает, но все равно не работает на компоновщике:

/tmp/ccQGhB3b.o: In function `vala_webkit_construct':
valawebkit.vala.c:(.text+0x6e): undefined reference to `webkit_web_view_new'
valawebkit.vala.c:(.text+0x101): undefined reference to `webkit_web_view_load_uri'
collect2: error: ld returned 1 exit status
error: cc exited with status 256
Compilation failed: 1 error(s), 0 warning(s)

2 ответа

Решение

На самом деле с webkit2gtk-4.0 мне больше не нужно предоставлять файл vapi. Поэтому я могу удалить свой webkit2gtk-4.0.vapi и скомпилировать его так (даже проще):

valac --pkg gtk+-3.0 --pkg webkit2gtk-4.0 --thread valawebkit.vala

Там факт, что вы должны указать --Xcc flags указывает на то, что вам не хватает файла pkgconfig для WebKit. Там должно быть webkit2gtk-3.0.pc в /usr/lib/pkgconfig, В пакете Arch webkit2gtk есть файл pkgconfig с именем webkit2gtk-4.0.pc, Так что, если вы переименуете свой VAPI-файл, ссылка должна быть правильной.

Другие вопросы по тегам