Compile ffmbc 0.7.4 with libass libass-0.13.1+

125 views
Skip to first unread message

labro....@gmail.com

unread,
Apr 28, 2016, 11:40:03 AM4/28/16
to ffmbc-discuss
Hello,

I try to compile ffmbc 0.7.4 with the libass-0.13.1 to be able to add subtitle to video but I get an error.
I succeed to to the following compilation :

./configure --prefix=/usr/local/ffmbc/ffmbc-0.7.4-x264-10bit-faac-zlib-freetype-lame-openjpeg-ass-static/ --enable-gpl --enable-libx264 --enable-libfaac --enable-nonfree --enable-doc --enable-zlib --enable-libfreetype --enable-libmp3lame --enable-libopenjpeg --enable-static --disable-shared --extra-libs=-static --extra-cflags='-I/usr/local/include -static' --extra-ldflags='-L/usr/local/lib -static'

but when I add the libass it's not working

./configure --prefix=/usr/local/ffmbc/ffmbc-0.7.4-x264-10bit-faac-zlib-freetype-lame-openjpeg-ass-static/ --enable-gpl --enable-libx264 --enable-libfaac --enable-nonfree --enable-doc --enable-zlib --enable-libfreetype --enable-libmp3lame --enable-libopenjpeg --enable-libass --enable-static --disable-shared --extra-libs=-static --extra-cflags='-I/usr/local/include -static' --extra-ldflags='-L/usr/local/lib -static'

My libass is compiled with the parameters below :
./configure --prefix=/usr/local --enable-shared=no --enable-static=yes --disable-fontconfig --disable-require-system-font-provider
I can't make it work with fontconfig because I have an issue with the xml library. I use libass without fontconfig for my compilation of ffmpeg and it work. I don't know if this information help.

I got the message below :
LD ffmbc_g
/usr/local/lib/libass.a(ass.o): dans la fonction « read_file »:

/root/source/libass-0.13.2/libass/ass.c:1078: définitions multiples de « read_file »

cmdutils.o:/root/source/FFmbc-0.7.4/cmdutils.c:708: défini pour la première fois ici

libavformat/libavformat.a(rtsp.o): dans la fonction « get_sockaddr »:

/root/source/FFmbc-0.7.4/libavformat/rtsp.c:121: AVERTISSEMENT: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking

/lib/../lib64/libpthread.a(libpthread.o): dans la fonction « sem_open »:

(.text+0x682b): AVERTISSEMENT: the use of `mktemp' is dangerous, better use `mkstemp'

collect2: erreur: ld a retourné 1 code d'état d'exécution

make: *** [ffmbc_g] Erreur 1


I put the line in green because I get the same whit the compilation without the libass.


I did a "make V=1" and got the gcc command which create this issue :

gcc -Llibavcodec -Llibavdevice -Llibavfilter -Llibavformat -Llibavutil -Llibpostproc -Llibswscale -L/usr/local/lib -static -Wl,--as-needed -Wl,--warn-common -Wl,-rpath-link=libpostproc:libswscale:libavfilter:libavdevice:libavformat:libavcodec:libavutil -o ffmbc_g ffmbc.o cmdutils.o -lavdevice -lavfilter -lavformat -lavcodec -lpostproc -lswscale -lavutil -L/usr/local/lib -lass -lm -lfribidi -lfreetype -lm -pthread -lbz2 -lz -static


I enable the verbose mode on gcc and got the message below :

gcc -v -Llibavcodec -Llibavdevice -Llibavfilter -Llibavformat -Llibavutil -Llibpostproc -Llibswscale -L/usr/local/lib -static -Wl,--as-needed -Wl,--warn-common -Wl,-rpath-link=libpostproc:libswscale:libavfilter:libavdevice:libavformat:libavcodec:libavutil -o ffmbc_g ffmbc.o cmdutils.o -lavdevice -lavfilter -lavformat -lavcodec -lpostproc -lswscale -lavutil -L/usr/local/lib -lass -lm -lfribidi -lfreetype -lm -pthread -lbz2 -lz -static

Utilisation des specs internes.

COLLECT_GCC=gcc

COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-unknown-linux-gnu/5.3.0/lto-wrapper

Cible : x86_64-unknown-linux-gnu

Configuré avec: ../../source/gcc-5.3.0/configure --prefix=/usr/local --disable-multilib : (reconfigured) ../../source/gcc-5.3.0/configure --prefix=/usr/local --disable-multilib

Modèle de thread: posix

gcc version 5.3.0 (GCC)

COMPILER_PATH=/usr/local/libexec/gcc/x86_64-unknown-linux-gnu/5.3.0/:/usr/local/libexec/gcc/x86_64-unknown-linux-gnu/5.3.0/:/usr/local/libexec/gcc/x86_64-unknown-linux-gnu/:/usr/local/lib/gcc/x86_64-unknown-linux-gnu/5.3.0/:/usr/local/lib/gcc/x86_64-unknown-linux-gnu/

LIBRARY_PATH=/usr/local/lib/gcc/x86_64-unknown-linux-gnu/5.3.0/:/usr/local/lib/gcc/x86_64-unknown-linux-gnu/5.3.0/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/local/lib/gcc/x86_64-unknown-linux-gnu/5.3.0/../../../:/lib/:/usr/lib/

COLLECT_GCC_OPTIONS='-v' '-Llibavcodec' '-Llibavdevice' '-Llibavfilter' '-Llibavformat' '-Llibavutil' '-Llibpostproc' '-Llibswscale' '-L/usr/local/lib' '-static' '-o' 'ffmbc_g' '-L/usr/local/lib' '-pthread' '-static' '-mtune=generic' '-march=x86-64'

 /usr/local/libexec/gcc/x86_64-unknown-linux-gnu/5.3.0/collect2 -plugin /usr/local/libexec/gcc/x86_64-unknown-linux-gnu/5.3.0/liblto_plugin.so -plugin-opt=/usr/local/libexec/gcc/x86_64-unknown-linux-gnu/5.3.0/lto-wrapper -plugin-opt=-fresolution=/tmp/ccGLfQEb.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_eh -plugin-opt=-pass-through=-lpthread -plugin-opt=-pass-through=-lc -m elf_x86_64 -static -o ffmbc_g /lib/../lib64/crt1.o /lib/../lib64/crti.o /usr/local/lib/gcc/x86_64-unknown-linux-gnu/5.3.0/crtbeginT.o -Llibavcodec -Llibavdevice -Llibavfilter -Llibavformat -Llibavutil -Llibpostproc -Llibswscale -L/usr/local/lib -L/usr/local/lib -L/usr/local/lib/gcc/x86_64-unknown-linux-gnu/5.3.0 -L/usr/local/lib/gcc/x86_64-unknown-linux-gnu/5.3.0/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/local/lib/gcc/x86_64-unknown-linux-gnu/5.3.0/../../.. --as-needed --warn-common -rpath-link=libpostproc:libswscale:libavfilter:libavdevice:libavformat:libavcodec:libavutil ffmbc.o cmdutils.o -lavdevice -lavfilter -lavformat -lavcodec -lpostproc -lswscale -lavutil -lass -lm -lfribidi -lfreetype -lm -lbz2 -lz --start-group -lgcc -lgcc_eh -lpthread -lc --end-group /usr/local/lib/gcc/x86_64-unknown-linux-gnu/5.3.0/crtend.o /lib/../lib64/crtn.o

/usr/local/lib/libass.a(ass.o): dans la fonction « read_file »:

/root/source/libass-0.13.2/libass/ass.c:1078: définitions multiples de « read_file »

cmdutils.o:/root/source/FFmbc-0.7.4/cmdutils.c:708: défini pour la première fois ici

libavformat/libavformat.a(rtsp.o): dans la fonction « get_sockaddr »:

/root/source/FFmbc-0.7.4/libavformat/rtsp.c:121: AVERTISSEMENT: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking

/lib/../lib64/libpthread.a(libpthread.o): dans la fonction « sem_open »:

(.text+0x682b): AVERTISSEMENT: the use of `mktemp' is dangerous, better use `mkstemp'

collect2: erreur: ld a retourné 1 code d'état d'exécution


I'm out of idea.

can you please help me with this compilation ?

Which version of libass should I use ? 


thank you in advance of any help with this issue


labro....@gmail.com

unread,
May 1, 2016, 3:13:46 PM5/1/16
to ffmbc-discuss, labro....@gmail.com
Oki, I fix the issue.

The problem come from the version of libass et ffmbc.
ffmbc doesn't work with libass 0.13.0+ so you need to use an oldest version of libass for me 0.12.2 and it work fine.

I hope this will help.

Baptiste Coudurier

unread,
May 5, 2016, 5:21:44 PM5/5/16
to ffmbc-...@googlegroups.com, labro....@gmail.com
Mathieu,

Thanks for the report, I'll fix this asap.

Baptiste COUDURIER


--
You received this message because you are subscribed to the Google Groups "ffmbc-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ffmbc-discus...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Baptiste Coudurier

unread,
May 5, 2016, 6:28:19 PM5/5/16
to ffmbc-...@googlegroups.com, labro....@gmail.com
Actually, libass should be contacted, exporting a function "read_file" from a library could cause clashes in many other programs, it seems strange.
None the less I'll fix it

Baptiste COUDURIER

labro....@gmail.com

unread,
May 7, 2016, 7:09:57 AM5/7/16
to ffmbc-discuss, labro....@gmail.com
Hello Baptiste,

I contacted libass to tell them about that.
Thank you for your help.
Reply all
Reply to author
Forward
0 new messages