LINUX.ORG.RU

Проблема сборки MOC с поддержкой ffmpeg


0

1

Подскажите пожалуйста, как разрешить следующую проблему

/usr/bin/ld: /usr/local/lib/libavformat.a(allformats.o): relocation R_X86_64_32 against `a64_muxer' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libavformat.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[3]: *** [libffmpeg_decoder.la] Ошибка 1
make[3]: Leaving directory `/home/hikkikamori/.install/moc/moc-2.4.4/decoder_plugins/ffmpeg'
make[2]: *** [all-recursive] Ошибка 1
make[2]: Leaving directory `/home/hikkikamori/.install/moc/moc-2.4.4/decoder_plugins'
make[1]: *** [all-recursive] Ошибка 1
make[1]: Leaving directory `/home/hikkikamori/.install/moc/moc-2.4.4'
make: *** [all] Ошибка 2

Система Debian Lenny x86_64

Ответ на: комментарий от devl547

с тем moc-ом который находится в репозитории была проблема с выводом OSD. В ~/.moc/congig в OnSongChange прописывал путь на один скрипт который позволял показывать информацию о проигрываемой музыке каждый раз при смене трека, в результате в moc зависал с выводом FATAL ERROR ... Сейчас попробовал снова поставить его с репов, ошибки нет, чудеса 0_o

hikkikamori
() автор топика
Ответ на: комментарий от Lumi

Да понятно, но


hikkikamori@debian507:~/.install/moc/moc-2.4.4$ ./configure --help


Fine tuning of the installation directories:
  --bindir=DIR           user executables [EPREFIX/bin]
  --sbindir=DIR          system admin executables [EPREFIX/sbin]
  --libexecdir=DIR       program executables [EPREFIX/libexec]
  --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
  --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]
  --localstatedir=DIR    modifiable single-machine data [PREFIX/var]
  --libdir=DIR           object code libraries [EPREFIX/lib]
  --includedir=DIR       C header files [PREFIX/include]
  --oldincludedir=DIR    C header files for non-gcc [/usr/include]
  --datarootdir=DIR      read-only arch.-independent data root [PREFIX/share]
  --datadir=DIR          read-only architecture-independent data [DATAROOTDIR]
  --infodir=DIR          info documentation [DATAROOTDIR/info]
  --localedir=DIR        locale-dependent data [DATAROOTDIR/locale]
  --mandir=DIR           man documentation [DATAROOTDIR/man]
  --docdir=DIR           documentation root [DATAROOTDIR/doc/moc]
  --htmldir=DIR          html documentation [DOCDIR]
  --dvidir=DIR           dvi documentation [DOCDIR]
  --pdfdir=DIR           pdf documentation [DOCDIR]
  --psdir=DIR            ps documentation [DOCDIR]

Program names:
  --program-prefix=PREFIX            prepend PREFIX to installed program names
  --program-suffix=SUFFIX            append SUFFIX to installed program names
  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names

System types:
  --build=BUILD     configure for building on BUILD [guessed]
  --host=HOST       cross-compile to build programs to run on HOST [BUILD]

Optional Features:
  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
  --enable-shared[=PKGS]  build shared libraries [default=yes]
  --enable-static[=PKGS]  build static libraries [default=yes]
  --enable-fast-install[=PKGS]
                          optimize for fast installation [default=yes]
  --disable-libtool-lock  avoid locking (might break parallel builds)
  --enable-ltdl-install   install libltdl
  --disable-dependency-tracking  speeds up one-time build
  --enable-dependency-tracking   do not reject slow dependency extractors
  --disable-debug         Disable debug code

Optional Packages:
  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
  --with-pic              try to use only PIC/non-PIC objects [default=use
                          both]
  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
  --with-included-ltdl    use the GNU ltdl sources included here
  --with-ltdl-include=DIR use the ltdl headers installed in DIR
  --with-ltdl-lib=DIR     use the libltdl.la installed in DIR
  --without-jack          Compile without JACK support.
  --with-ncurses          Force the use of ncurses over curses
  --without-ncursesw      Don't use ncursesw (UTF-8 support)
  --without-mp3           Compile without mp3 support (libmad)
  --without-rcc           Compile without LIBRCC support.
  --without-musepack      Compile without musepack (mpc) support
  --without-vorbis        Compile without Ogg Vorbis support.
  --without-flac          Compile without FLAC support.
  --without-sndfile       Compile without libsndfile
  --without-ffmpeg        Compile without ffmpeg
  --without-speex         Compile without speex support
  --without-samplerate    Compile without libsamplerate
  --without-curl          Compile without curl (Internet streams support)

Что-то не видно, что можно собрать с «with -fPIC» Или я должен его вписать когда начну собирать makefile?

hikkikamori
() автор топика
Ответ на: комментарий от Lumi

> env CFLAGS=«$CFLAGS -fPIC» ./configure Не, не получилось, та же ошибка вышла .. :( Попробовал поставить moc без ffmpeg. Всё собралось и установилось без проблем. Правда в config-е куда-то пропала строчка с OnSongChange

hikkikamori
() автор топика
Ответ на: комментарий от hikkikamori

/usr/local/lib/libavformat.a(allformats.o): relocation R_X86_64_32 against `a64_muxer' can not be used when making a shared object; recompile with -fPIC

Надо же ffmpeg собирать с -fPIC.
Может лучше LFS соберёшь?

Lumi ★★★★★
()
Ответ на: комментарий от Lumi

LFS а это что? Сейчас попробую ffmpeg пересобрать с теми параметрами,а потом MOC с ffmpeg. Как сделаю отпишусь

hikkikamori
() автор топика
Ответ на: комментарий от hikkikamori

Ну, значит с ffmpeg как с шаред он не будет собираться, пусть линкуется с ним статически, ничего плохого в этом нет.

Lumi ★★★★★
()
Ответ на: комментарий от hikkikamori

> В ~/.moc/congig в OnSongChange прописывал путь на один скрипт который позволял показывать информацию о проигрываемой музыке каждый раз при смене трека

Что-то я не нашёл в оригинальной версии 2.4.4 такого параметра. Ни в примере конфига, ни grep-ом по исходникам. Это debian-специфичный параметр? Дайте тогда патч.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.