[FFmpeg-devel] Fix libx264

Jason Garrett-Glaser darkshikari
Tue Feb 16 11:12:04 CET 2010


2010/2/16 M?ns Rullg?rd <mans at mansr.com>:
> Felipe Contreras <felipe.contreras at gmail.com> writes:
>
>> 2010/2/7 M?ns Rullg?rd <mans at mansr.com>:
>>> Felipe Contreras <felipe.contreras at gmail.com> writes:
>>>> Is it wrong in this case? If you want -pthread instead of -lpthread
>>>> then x264's pc file can be corrected.
>>>
>>> Wrong. ?The correct flag depends on the compiler, and .pc files don't
>>> take that into account. pkg-config is flawed. ?End of story.
>>
>> I read a bit about -pthread vs -lpthread and it seems -pthread is
>> essentially '-D_REENTRANT -lpthread' but since x264 headers don't use
>> _REENTRANT, -pthread is the same as -lpthread.
>
> Even if x264 headers do not use check _REENTRANT, system headers
> might.
>
>> Of course this is only true on certain platforms. Other platforms
>> mights prefer other flags. Note the word *platform* not compiler.
>
> The compiler is part of the platform. ?Did you even bother checking
> obscure systems like AIX? ?IIRC it really makes a difference there.
>
>> IOW; if x264 was compiled with -lpthread, that's what FFmpeg should
>> use, regardless of the compiler used. Otherwise linking to x264 will
>> fail.
>
> You are still wrong. ?If x264 was compiled with thread support,
> anything linking to it must also be compiled and linked with full
> thread support. ?On *some* systems this is as simple as linking with
> -lpthread, on others it is not. ?Passing --enable-pthreads to FFmpeg
> configure will do the right thing.
>
>> So you are wrong; pkg-config is not flawed.
>
> Yes it is. ?It can only provide specific flags, which is not
> sufficient information, and may even break things if a different
> compiler is used.
>
>> Anyway, regardless of what your opinions are, the fact remains the
>> same: FFmpeg compilation is broken for x264 as static library.
>
> No, use --enable-pthreads. ?It works for everybody else.
>

It would be nice at least if the flags were properly propagated, i.e.
configure detects pthreads in x264 and auto-enables it.

Dark Shikari



More information about the ffmpeg-devel mailing list