Сборка последних выпусков Vala (сбой make check и valac не может найти общую библиотеку)

Я скачал два последних последних выпусков VALA (v0.17.0 и 0.16.0) и попытались выполнить сборку на моей машине разработки (Ubuntu 10.0.4 с gcc 4.4.3).

Когда я собирал v 0.17.0, я заметил, что на экране мелькают некоторые ошибки. Я запускаю make check и make test, и оба не удалось (ошибка cc).

С v 0.17.0, когда я запускаю valac, я получаю следующую ошибку:

valac: ошибка при загрузке общих библиотек: libvala-0.18.so.0: невозможно открыть общий объектный файл: нет такого файла или каталога

Обратите внимание на другой номер версии общей библиотеки (это ошибка?). В любом случае я просмотрел всю свою систему, чтобы увидеть, не был ли файл создан где-то еще в моей системе. Файл не найден.

Затем я скачал версию 0.16.0 и построил ее. make check и make test тоже снова потерпели неудачу. Однако на этот раз, когда я запустил исполняемый файл valac, я получил эту ошибку:

valac: ошибка при загрузке разделяемых библиотек: libvala-0.16.so.0: невозможно открыть общий объектный файл: нет такого файла или каталога

Обратите внимание, что у shlib low номер версии правильный. Я был полон надежд, затем искал на своей машине шлиб:

someone@yourbox:~/work/dev/c++/3rdparty/vala/vala-0.16.0$ find . -name 'libvala*' -type f 2>/dev/null
./codegen/libvala-0.16.la
./codegen/.libs/libvala-0.16.lai
./codegen/.libs/libvala-0.16.so.0.0.0
./libvala.pc
./libvala.pc.in
./vapi/libvala-0.16.vapi
./ccode/libvalaccode.la
./ccode/.libs/libvalaccode.a
./libvala-0.16.pc
./vala/.libs/libvalacore.a
./vala/libvalacore.la

Я собирался создать символическую ссылку на общую библиотеку и поместить ее в путь, чтобы valac мог ее найти, пока не понял, что мне не нужно этого делать (make install уже должен был это сделать).

Это наводит меня на мысль, что обе версии 0.17.0 и 0.16.0 не работают — кто-нибудь еще знает об этом — или я что-то упустил?

Удалось ли кому-нибудь собрать какой-либо из последних выпусков для сборки - и что мне нужно, чтобы исправить сборку? (в противном случае, какая последняя известная стабильная версия для vala)?

[[Обновление]]

Я сделал журнал сборки для 0.17.0, он доступен здесь

Вывод make check (опять же для версии 0.17.0) также доступен здесь


person Homunculus Reticulli    schedule 09.05.2012    source источник
comment
Я не знаю, чтобы у кого-то была похожая проблема, и невозможно сказать, что пошло не так, по тому, что вы опубликовали. Пожалуйста, опубликуйте полный журнал сборки.   -  person nemequ    schedule 10.05.2012
comment
@nemequ: я загрузил журнал сборки и выгрузил его из запуска make check в patebin. Пожалуйста, смотрите мой обновленный вопрос для ссылок. Спасибо.   -  person Homunculus Reticulli    schedule 11.05.2012


Ответы (3)


make check сбой не связан. Некоторые тестовые случаи зависят от GDBus, который был добавлен в GIO только в версии 2.26, и согласно http://packages.ubuntu.com/lucid/libglib2.0-0 Ubuntu 10.04 имеет версию 2.24.

Версия 0.18, которую вы видите, — это версия API/ABI, и она верна. Второстепенные выпуски с нечетными номерами нестабильны и содержат версию API/ABI следующего стабильного выпуска (считайте выпуски 0.17.x нестабильными разрабатываемыми версиями того, что в конечном итоге станет стабильной серией 0.18).

Что касается невозможности найти библиотеку, в зависимости от префикса, который вы установили, вам, вероятно, просто нужно запустить ldconfig. Насколько я знаю, в этом шаге больше нет необходимости (кто-то, кто работает с Ubuntu, должен это подтвердить), но 10.04 был давным-давно...

Если вы устанавливали не в стандартное место, вам может потребоваться соответствующим образом изменить LD_LIBRARY_PATH.

person nemequ    schedule 11.05.2012
comment
Спасибо. Мне удалось решить проблемы, как только я понял, что происходит. - person Homunculus Reticulli; 11.05.2012

ссылка на: https://help.ubuntu.com/community/Vala

Если вы используете sudo make install, вы можете получить следующее сообщение об ошибке при вводе первых команд valac.

valac: ошибка при загрузке разделяемых библиотек: libvala.so.0: невозможно открыть общий объектный файл: нет такого файла или каталога

Это означает, что компилятор не смог найти библиотеки, однако они находятся именно там, где должны быть, а именно в каталоге /usr/local/lib. Чтобы исправить ошибку во время компиляции, вы выполните команду sudo ldconfig, чтобы обновить компоновщики для динамических библиотек.

поэтому вы можете запустить эту команду:

sudo ldconfig /usr/local/lib

чтобы добавить этот путь к библиотеке

person xieweijie    schedule 17.02.2014

Я получил ошибку:

ошибка при загрузке общих библиотек: libvala-0.18.so.0: невозможно открыть файл общего объекта: нет такого файла или каталога

ТАК Я сделал это и теперь работает

sudo apt-get install build-essential flex bison libglib2.0-dev

sudo apt-get install checkinstall devhelp libgtk2.0-dev

и этот набор, теперь все в порядке .. надеюсь, вам поможет

person jay jay    schedule 03.02.2013