[FFmpeg-user] Usual buld script fails

Tim Nicholson nichot20 at yahoo.com
Thu Oct 24 14:46:40 CEST 2013


On 24/10/13 12:54, Carl Eugen Hoyos wrote:
> Tim Nicholson <nichot20 <at> yahoo.com> writes:
> 
>>> How does the relevant part of config.log for x264 
>>> look like? (Why does linking succeed for configure 
>>> but not at compile time?)
>>
>> the only reference is to it being enabled:-
>> opencl:        yes
> 
> I meant:
> Please part the content of config.log starting with 
> "check_lib x264.h" until "check_pkg_config sdl"

check_lib x264.h x264_encoder_encode -lx264
check_header x264.h
check_cpp
BEGIN /tmp/ffconf.dqGtzD3L.c
    1	#include <x264.h>
    2	int x;
END /tmp/ffconf.dqGtzD3L.c
gcc -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
-D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -static
-I/mnt/msds-store-0/tim/ffmpeg-tux/usr/local/include -std=c99
-fomit-frame-pointer -pthread
-I/mnt/msds-store-0/tims/ffmpeg-tux/usr/local/include/freetype2
-I/mnt/msds-store-0/tims/ffmpeg-tux/usr/local/include -E -o
/tmp/ffconf.KG6VmK3s.o /tmp/ffconf.dqGtzD3L.c
In file included from /tmp/ffconf.dqGtzD3L.c:1:0:
/mnt/msds-store-0/tim/ffmpeg-tux/usr/local/include/x264.h:36:4: warning:
#warning You must include stdint.h or inttypes.h before x264.h [-Wcpp]
check_func x264_encoder_encode -lx264
check_ld cc -lx264
check_cc
BEGIN /tmp/ffconf.dqGtzD3L.c
    1	extern int x264_encoder_encode();
    2	int main(void){ x264_encoder_encode(); }
END /tmp/ffconf.dqGtzD3L.c
gcc -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
-D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -static
-I/mnt/msds-store-0/tim/ffmpeg-tux/usr/local/include -std=c99
-fomit-frame-pointer -pthread
-I/mnt/msds-store-0/tims/ffmpeg-tux/usr/local/include/freetype2
-I/mnt/msds-store-0/tims/ffmpeg-tux/usr/local/include -c -o
/tmp/ffconf.KG6VmK3s.o /tmp/ffconf.dqGtzD3L.c
gcc -static -L/mnt/msds-store-0/tim/ffmpeg-tux/usr/local/lib64
-Wl,--as-needed -o /tmp/ffconf.cVxFiwM3 /tmp/ffconf.KG6VmK3s.o -lx264
-L/mnt/msds-store-0/tims/ffmpeg-tux/usr/local/lib64 -lfreetype -lfdk-aac
-lfaac -lm -pthread -lz
/mnt/msds-store-0/tim/ffmpeg-tux/usr/local/lib64/libx264.a(opencl.o): In
function `x264_opencl_load_library':
opencl.c:(.text+0x46f): undefined reference to `dlopen'
opencl.c:(.text+0x488): undefined reference to `dlsym'
opencl.c:(.text+0x4a2): undefined reference to `dlsym'
opencl.c:(.text+0x4bc): undefined reference to `dlsym'
opencl.c:(.text+0x4d6): undefined reference to `dlsym'
opencl.c:(.text+0x4f0): undefined reference to `dlsym'
/mnt/msds-store-0/tim/ffmpeg-tux/usr/local/lib64/libx264.a(opencl.o):opencl.c:(.text+0x50a):
more undefined references to `dlsym' follow
/mnt/msds-store-0/tim/ffmpeg-tux/usr/local/lib64/libx264.a(opencl.o): In
function `x264_opencl_load_library':
opencl.c:(.text+0x774): undefined reference to `dlclose'
/mnt/msds-store-0/tim/ffmpeg-tux/usr/local/lib64/libx264.a(opencl.o): In
function `x264_opencl_close_library':
opencl.c:(.text+0x831): undefined reference to `dlclose'
/mnt/msds-store-0/tim/ffmpeg-tux/usr/local/lib64/libx264.a(opencl.o): In
function `x264_opencl_lookahead_init':
opencl.c:(.text+0x144a): undefined reference to `dlopen'
opencl.c:(.text+0x1468): undefined reference to `dlsym'
opencl.c:(.text+0x147d): undefined reference to `dlsym'
opencl.c:(.text+0x1497): undefined reference to `dlsym'
opencl.c:(.text+0x14ae): undefined reference to `dlsym'
opencl.c:(.text+0x152c): undefined reference to `dlclose'
opencl.c:(.text+0x1541): undefined reference to `dlclose'
opencl.c:(.text+0x1e03): undefined reference to `dlclose'
collect2: error: ld returned 1 exit status
ERROR: libx264 not found



> 
> But please also add the part starting with 
> "check_func dlopen" until "check_type sys/types.h".

check_func dlopen
check_ld cc
check_cc
BEGIN /tmp/ffconf.dqGtzD3L.c
    1	extern int dlopen();
    2	int main(void){ dlopen(); }
END /tmp/ffconf.dqGtzD3L.c
gcc -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
-D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -static
-I/mnt/msds-store-0/tim/ffmpeg-tux/usr/local/include -std=c99
-fomit-frame-pointer -c -o /tmp/ffconf.KG6VmK3s.o /tmp/ffconf.dqGtzD3L.c
gcc -static -L/mnt/msds-store-0/tim/ffmpeg-tux/usr/local/lib64
-Wl,--as-needed -o /tmp/ffconf.cVxFiwM3 /tmp/ffconf.KG6VmK3s.o
/tmp/ffconf.KG6VmK3s.o: In function `main':
ffconf.dqGtzD3L.c:(.text+0xa): undefined reference to `dlopen'
collect2: error: ld returned 1 exit status
check_func dlopen -ldl
check_ld cc -ldl
check_cc
BEGIN /tmp/ffconf.dqGtzD3L.c
    1	extern int dlopen();
    2	int main(void){ dlopen(); }
END /tmp/ffconf.dqGtzD3L.c
gcc -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
-D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -static
-I/mnt/msds-store-0/tim/ffmpeg-tux/usr/local/include -std=c99
-fomit-frame-pointer -c -o /tmp/ffconf.KG6VmK3s.o /tmp/ffconf.dqGtzD3L.c
gcc -static -L/mnt/msds-store-0/tim/ffmpeg-tux/usr/local/lib64
-Wl,--as-needed -o /tmp/ffconf.cVxFiwM3 /tmp/ffconf.KG6VmK3s.o -ldl
/tmp/ffconf.KG6VmK3s.o: In function `main':
ffconf.dqGtzD3L.c:(.text+0xa): warning: Using 'dlopen' in statically
linked applications requires at runtime the shared libraries from the
glibc version used for linking
check_type sys/types.h sys/socket.h socklen_t

> 
>> Basically if I use a version of x264 pre opencl it 
>> all works, but if I use a version after, it fails, 
>> even if I add --enable-opencl to my ffmpeg options.
> 
> Any reason why you don't add ldl ?

Only that it wasn't needed before. I have tried adding it to
--extra-ldflags but it makes no difference.

> 
> Carl Eugen
> [..]


-- 
Tim


More information about the ffmpeg-user mailing list