Почему этот VLC Media Player не работает? - PullRequest
0 голосов
/ 16 декабря 2018

При сборке VLC в Ubuntu 18 с использованием следующего вызова конфигурации:

Сначала я получаю исходный код примерно так:

% git clone git://git.videolan.org/vlc.git
% cd vlc
% ./bootstrap

Затем я собираювот так:

make clean

./configure --disable-lua --disable-swscale --disable-alsa --disable-chromecast --disable-fontconfig

Сборка не получается примерно так:

codec/jpeg.c: In function ‘DecodeBlock’:
codec/jpeg.c:501:16: warning: variable ‘p_row_pointers’ might be clobbered by ‘longjmp’ or ‘vfork’ [-Wclobbered]
     JSAMPARRAY p_row_pointers = NULL;
                ^~~~~~~~~~~~~~
  CCLD     libjpeg_plugin.la
  CC       codec/libsdl_image_plugin_la-sdl_image.lo
  CCLD     libsdl_image_plugin.la
  CC       codec/libxwd_plugin_la-xwd.lo
  CCLD     libxwd_plugin.la
  CC       codec/liblibass_plugin_la-libass.lo
  CCLD     liblibass_plugin.la
/usr/bin/ld: /root/vlc-3.0.4/contrib/x86_64-linux-gnu/lib/libfontconfig.a(fcxml.o): in function `FcConfigMessage':
/root/vlc-3.0.4/contrib/native/fontconfig/src/fcxml.c:573: undefined reference to `xmlSAX2GetLineNumber'
/usr/bin/ld: /root/vlc-3.0.4/contrib/native/fontconfig/src/fcxml.c:576: undefined reference to `xmlSAX2GetLineNumber'
/usr/bin/ld: /root/vlc-3.0.4/contrib/x86_64-linux-gnu/lib/libfontconfig.a(fcxml.o): in function `IA__FcConfigParseAndLoad':
/root/vlc-3.0.4/contrib/native/fontconfig/src/fcxml.c:3309: undefined reference to `xmlCreatePushParserCtxt'
/usr/bin/ld: /root/vlc-3.0.4/contrib/native/fontconfig/src/fcxml.c:3348: undefined reference to `xmlParseChunk'
/usr/bin/ld: /root/vlc-3.0.4/contrib/native/fontconfig/src/fcxml.c:3362: undefined reference to `xmlFreeParserCtxt'
/usr/bin/ld: /root/vlc-3.0.4/contrib/native/fontconfig/src/fcxml.c:3354: undefined reference to `xmlCtxtGetLastError'

Есть идеи, что я тут не так сделал?Похоже, что данный модуль не должен быть собран в этом случае, так как я отключил fontconfig.

Libfontconfig фактически установлен:

root@fuzzbot:~/vlc-3.0.4# apt-get install libfontconfig
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'libfontconfig1' instead of 'libfontconfig'
libfontconfig1 is already the newest version (2.13.0-5ubuntu3).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
root@fuzzbot:~/vlc-3.0.4#

Дополнительные идеи:

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

Кроме того, если администраторы считают, что этот вопрос лучше подходит для сбоя сервера или AskUbuntu, смело переносите его.Насколько я могу судить, это слишком специфично для пакета serverfault, и я не думаю, что проблема уникальна для Ubuntu, так как на официальной вики-странице VLC нет конкретных инструкций для Ubuntu.

Мне не нужны все плагины для моего случая использования.Если дальнейшие действия --disables в моем вызове configure помогут, я готов попробовать.

1 Ответ

0 голосов
/ 18 декабря 2018

Ошибка указывает на проблему со связыванием с «некоторой» xml-библиотекой.скорее всего libxml2, который вы, вероятно, не установили../configure должен обнаружить любую отсутствующую библиотеку и предотвратить сбой вашей сборки, но в самом скрипте configure может быть ошибка.

В любом случае, поскольку вы находитесь в дистрибутиве на основе Debian, вы можете простоустановите все пакеты, необходимые для сборки официального пакета Debian (или Ubuntu).(Ваша личная сборка может иметь дополнительные зависимости или не иметь некоторых зависимостей от официального пакета, но обычно это хорошая отправная точка).

apt-get build-dep vlc

Если вы получаете сообщение об ошибке типа E: You must put some 'source' URIs in your sources.list, то выследует добавить deb-src записей в ваш список источников apt, например, используя

find /etc/apt/sources.list /etc/apt/sources.list.d/ \
    -type f -name "*.list" -not -name debsrc.list \
    -exec echo sed -e 's|^deb |deb-src |' {} + > /etc/apt/sources.list.d/debsrc.list
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...