Bug 9821

Summary: нет поддержки MP4
Product: Sisyphus Reporter: Andrei Bulava <abulava>
Component: faacAssignee: Mikhail Zabaluev <mhz>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P2 CC: antohami, thresh
Version: unstable   
Hardware: all   
OS: Linux   
Attachments:
Description Flags
libmp4v2 configure patch
none
Renewed for 1.25 none

Description Andrei Bulava 2006-07-27 15:05:29 MSD
$ faac --help 2>&1 |fgrep MP4
MP4 specific options:
  MP4 support unavailable.

$ rpm -qv faac
faac-1.24-alt2

Я разобрался, что поддержка MP4 включается автоматически при наличии в сборочной
среде libmp4v2.so из пакета libmpeg4ip-devel. Пожалуйста, добавьте
libmpeg4ip-devel в BuildRequires.
Comment 1 Mikhail Zabaluev 2006-07-29 03:48:47 MSD
Fixed in faac-1.24-alt3
Comment 2 Andrei Bulava 2006-08-07 10:55:26 MSD
$ rpm -qf /usr/bin/faac
faac-1.24-alt3

$ faac --help 2>&1 | fgrep MP4
MP4 specific options:
  MP4 support unavailable.

Буду проверять, почему так, в hasher'е.
Comment 3 Andrei Bulava 2006-08-07 16:45:24 MSD
Попробовал в hasher и открыл для себя следующее.

./configure --build=i586-alt-linux --host=i586-alt-linux --prefix=/usr
--exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc
--datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib
--libexecdir=/usr/lib --localstatedir=/var/lib --sharedstatedir=/usr/com
--mandir=/usr/share/man --infodir=/usr/share/info --disable-dependency-tracking
--without-included-gettext --disable-static

checking for MP4MetadataDelete in -lmp4v2... no
configure: *** Building without MP4 support ***

config.log:

configure:22505: checking for MP4MetadataDelete in -lmp4v2
configure:22535: i586-alt-linux-gcc -o conftest -pipe -Wall -O2 -march=i586
-mtune=pentium4   conftest.c -lmp4v2 -lstdc++  >&5
/usr/bin/ld: cannot find -lstdc++
collect2: ld returned 1 exit status
configure:22541: $? = 1
configure: failed program was:

<skip />

configure:22567: result: no
configure:22579: *** Building without MP4 support ***

Рискну предположить, что -lstdc++ вставили потому, что в более других
дистрибутивах libmp4v2.so.* не скомпонована с -lstdc++.

Так что есть два варианта, один из которых простой и очевидный: добавить в
BuildRequires ещё и libstdc++-devel; а второй, более прямой: оторвать -lstdc++ в
configure.in. Наверное, учитывая --as-needed, первый вариант в итоге не сделает
много хуже.
Comment 4 Andrei Bulava 2006-08-07 16:58:42 MSD
Created attachment 1556 [details]
libmp4v2 configure patch

С этим патчем я пересобрал faac с поддержкой MP4 в hasher без добавления
BuildRequires: libstdc++-devel
Comment 5 Konstantin Pavlov 2006-08-18 20:28:19 MSD
(In reply to comment #3)

> Рискну предположить, что -lstdc++ вставили потому, что в более других
> дистрибутивах libmp4v2.so.* не скомпонована с -lstdc++.

Именно так, libmp4v2.so.* использует символы из -lstdc++ и поэтому линкуется с
ней. В более других дистрибутивах пока до этого не доросли.
Comment 6 Mikhail Zabaluev 2006-08-27 19:20:43 MSD
Created attachment 1608 [details]
Renewed for 1.25

Похоже, разработчики совсем не использовали внешний libmp4v2 на Unix.
Патч кривоват для upstream, но для пакета сойдет.
Comment 7 Mikhail Zabaluev 2006-08-27 19:21:19 MSD
Fixed in faac-1.25-alt1