2016-07-13 8 views
1

Я пытаюсь скомпилировать geany-plugins-1.28. Отладчик плагин (только один мне нужно) выдает ошибку:Как добавить дополнительные каталоги при настройке make-файлов

debug.c:53:21: fatal error: vte/vte.h: No such file or directory 
#include <vte/vte.h> 

Очевидно, что нужно знать, где этот файл находится компилировать. Я нашел файл vte.h в каталоге src основной программы geany-1.28. При запуске

sudo ./configure cflags=-I/home/pi/Desktop/geany-1.28/src 

Я получаю ту же ошибку в пропущенном заголовке позже, пытаясь скомпилировать плагин отладчика.

Я побежал

./configure --help 

, чтобы получить все варианты флага. Выходной сигнал here

Как я могу настроить это правильно, чтобы он компилировался. Мне нужно, чтобы скомпилировать отладочную версию 1,28 себя, потому склонный только устанавливает 1.24, который я думаю, что есть ошибка, потому что он выходит из строя, когда я запускаю мой код с ошибкой:

close failed in file object destructor: 
sys.execpthook is missing 
lost sys.stderr 

ответ

1

Как и в случае с this answer, vte.h не является файлом, который вы ищете. Установите пакет libvte (-dev) в вашу систему и повторно настройте конфигурацию.

Только для записи: vte.h на Geany является манекеном, позволяющим Geany иметь вид динамического разрешения vte или отключать его в зависимости от vte, установленного в системе или нет.

+0

Спасибо, это сработало. Я не знаю, как я раньше не сталкивался с этим. – Jkallus

2

CFLAGS с учетом регистра переменной среды, так что вы должны установите его перед запуском configure, а не пытайтесь передать его в качестве аргумента командной строки. Этот вариант:

$ export CFLAGS=-I/home/pi/Desktop/geany-1.28/src 
$ ./configure 

оставляет листы CFLAGS для текущей оболочки, пока вы ее не покинете. В то время как это:

$ CFLAGS=-I/home/pi/Desktop/geany-1.28/src ./configure 

устанавливает переменную только для текущей команды, т.е. configure.

Некоторые другие вопросы:

  • Вам не нужно sudo настроить и сделать. Также нет необходимости в make install, если вы установили PREFIX пути, на который у вас есть привилегии для записи.
  • Создает ли система сборки плагинов все ее зависимости? Если нет, вы можете столкнуться с ошибками компоновщика чуть позже.

Update:

Я пытался построить debugger плагина и избавился от вашей ошибки. Похоже, что vte.h, входящий в состав Geany, является внутренним, а плагин требует полнофункционального файла из библиотеки. Поэтому я только что установил vte и vte-devel из repos. Тем не менее, я получил некоторые другие несвязанные ошибки, исходящие от Glib. Я не буду продолжать свои попытки построить все это прямо сейчас. Надеюсь, мои усилия будут полезны хотя бы немного.

+0

Я просто попробовал это и до сих пор получил ту же ошибку, что и vte.h не найден. Является ли CFLAGS даже правильной переменной? Я новичок в компиляции в Linux. – Jkallus

+0

./configure управляет рекурсивным созданием make-файла для отдельных плагинов. Когда я компилирую, я только компилирую плагин отладчика. – Jkallus

+0

@Jkallus Что такое точный путь к 'vte.h'? Если это '/ home/pi/Desktop/geany-1.28/src/vte.h', вы получите ошибку, потому что' #include 'с' -I', указывающим на '...../src', хочет, чтобы файл в '/ home/pi/Desktop/geany-1.28/src/vte/vte.h'. Быстрое n-грязное обходное решение - 'ln -s /home/pi/Desktop/geany-1.28/src/home/pi/Desktop/geany-1.28/src/vte'. – Sergey