Сборку и компиляцию vlc 1.1.13 проводил в соответствии с инструкциями:
Перед сборкой vlc установил зависимости:
sudo apt-get -y install libvorbis-dev libogg-dev libtheora-dev speex libspeex-dev flac libflac-dev x264 libx264-dev a52-0.7.4 liba52-0.7.4-dev mpeg2dec libmpeg2-4-dev faad libfaad-dev faac libfaac-dev lame libmp3lame-dev ffmpeg libavdevice-dev libmad0 libmad0-dev dirac libdirac-dev liboil-dev libschroedinger-dev libdca-dev twolame libtwolame-dev libmpcdec-dev libvorbisidec1 libvorbisidec-dev libass-dev libass4 libebml2 libebml-dev libmatroska2 libmatroska-dev libdvbpsi6 libdvbpsi-dev libmodplug1 libmodplug-dev libshout3 libshout3-dev libdvdread4 libdvdnav4 libdvdnav-dev livemedia-utils liblivemedia-dev libcddb2 libcddb2-dev libcdio10 libcdio-dev libcdio-utils vcdimager libvcdinfo0 libvcdinfo-dev libgpg-error0 libgpg-error-dev libgcrypt11 libgcrypt11-dev gnutls-bin libgnutls26 libgnutls-dev libdap10 libdap-bin libdap-dev libxml2 libxml2-dev libpng12-0 libpng12-dev libjpeg8 libtiff4 libsdl1.2-dev libsdl-image1.2 libsdl-image1.2-dev libc-bin gettext libfreetype6 libfreetype6-dev libfribidi-dev libfribidi0 zlib1g zlib1g-dev libtag1-dev libcaca0 libcaca-dev caca-utils libqt4-core libqt4-dev libportaudio2 libportaudio-dev libupnp-dev libupnp4 libupnp3 libexpat1 libexpat1-dev yasm libxcb-xv0 libxcb-xv0-dev libx11-xcb1 libx11-xcb-dev firefox-dev
При конфигурировании ошибок не было.
При сборке пакета с ключами:
./configure --prefix=/home/oleg_tr/vlc-1.1.13 --enable-snapshot --enable-debug --enable-dbus-control --enable-mozilla --enable-lirc --enable-live555 --enable-x264 --enable-shout --enable-taglib --enable-v4l --enable-dvb --enable-vcdx --enable-realrtsp --enable-svg --enable-dvdread --enable-dc1394 --enable-theora --enable-faad --enable-twolame --enable-real --enable-flac --disable-tremor --enable-dirac --enable-skins2 --enable-qt4 --enable-ncurses --enable-aa --enable-caca --disable-portaudio --enable-jack --enable-xosd --disable-goom --enable-ggi --disable-vcdx
получаю ошибку:
make[2]: Вход в каталог `/home/oleg_tr/Compile_pre/vlc_pre/projects/mozilla'
CXX libvlcplugin_la-vlcshell.lo
In file included from vlcshell.cpp:40:0:
vlcshell.h:27:37: error: new declaration 'char* NPP_GetMIMEDescription()'
/usr/include/firefox-9.0.1/npapi.h:794:13: error: ambiguates old declaration 'const char* NPP_GetMIMEDescription()'
vlcshell.cpp: In function 'char* NPP_GetMIMEDescription()':
vlcshell.cpp:74:37: error: new declaration 'char* NPP_GetMIMEDescription()'
/usr/include/firefox-9.0.1/npapi.h:794:13: error: ambiguates old declaration 'const char* NPP_GetMIMEDescription()'
make[2]: *** [libvlcplugin_la-vlcshell.lo] Ошибка 1
make[2]: Выход из каталога `/home/oleg_tr/Compile_pre/vlc_pre/projects/mozilla'
make[1]: *** [all-recursive] Ошибка 1
make[1]: Выход из каталога `/home/oleg_tr/Compile_pre/vlc_pre'
make: *** [all] Ошибка 2
Если мозилловский ключ изменить и собрать с:
--disable-mozilla
, vlc компилируется нормально.
Товарищ Google по поводу этой ошибки сообщает, что это баг и его можно исправить применив патч:
From: Mathieu Trudel-Lapierre <mathieu.trudel-lapierre@canonical.com>
Subject: NPP_GetMIMEDescription should be const char*.
Last-Update: 2011-11-15
... So that the definition matches with firefox's npapi.h.
Index: vlc/projects/mozilla/vlcshell.cpp
===================================================================
--- vlc.orig/projects/mozilla/vlcshell.cpp 2011-11-15 14:51:04.298445000 -0500
+++ vlc/projects/mozilla/vlcshell.cpp 2011-11-15 17:52:44.416707114 -0500
@@ -71,7 +71,7 @@
/******************************************************************************
* UNIX-only API calls
*****************************************************************************/
-char * NPP_GetMIMEDescription( void )
+const char * NPP_GetMIMEDescription( void )
{
static char mimetype[] = PLUGIN_MIMETYPES;
return mimetype;
Index: vlc/projects/mozilla/vlcshell.h
===================================================================
--- vlc.orig/projects/mozilla/vlcshell.h 2011-11-15 14:51:04.298445000 -0500
+++ vlc/projects/mozilla/vlcshell.h 2011-11-15 17:53:08.736706029 -0500
@@ -24,7 +24,7 @@
#ifndef __VLCSHELL_H__
#define __VLCSHELL_H__
-char * NPP_GetMIMEDescription( void );
+const char * NPP_GetMIMEDescription( void );
NPError NPP_Initialize( void );
Index: vlc/projects/mozilla/support/npunix.cpp
===================================================================
--- vlc.orig/projects/mozilla/support/npunix.cpp 2011-11-15 14:51:04.298445000 -0500
+++ vlc/projects/mozilla/support/npunix.cpp 2011-11-15 18:06:53.972669237 -0500
@@ -767,7 +767,7 @@
* - Netscape uses the return value to identify when an object instance
* of this plugin should be created.
*/
-char *
+const char *
NP_GetMIMEDescription(void)
{
return NPP_GetMIMEDescription();
, но как это сделать, не могу сообразить. Если это возможно, помогите пожалуйста, уж очень хороший плеер получается.
PS Версия Ubuntu -- 11.10, компьютер -- нетбук Acer Aspire One D257.