Reputation: 55
I want to configure ffmpeg on Ubuntu 64 bit, but I get an error: "ERROR: libx264 not found".
ffmpeg doesn’t see libx264! Before that, I successfully configure it in QNX and Windows.
I prevented a known bug with --disable-opencl
, but it did not help.
In my project the libx264 should be static.
libx264 configure:
../configure --prefix=x264 --disable-cli --enable-static --disable-opencl
platform: X86_64
byte order: little-endian
system: LINUX
cli: no
libx264: internal
shared: no
static: yes
asm: yes
interlaced: yes
avs: no
lavf: no
ffms: no
mp4: no
gpl: yes
thread: posix
opencl: no
filters: crop select_every
lto: no
debug: no
gprof: no
strip: no
PIC: no
bit depth: all
chroma format: all
it's OK! Confused only platform: X86_64
FFmpeg configure:
../configure --target-os=linux --prefix=ffmpeg --disable-programs \
--disable-ffplay --disable-ffprobe --disable-doc \
--disable-htmlpages --disable-manpages --disable-podpages \
--disable-txtpages --disable-avdevice --disable-postproc \
--disable-network --disable-encoders --enable-encoder=libx264 \
--disable-decoders --enable-decoder=h264 --disable-hwaccels \
--disable-muxers --enable-muxer=matroska --disable-demuxers \
--disable-parsers --enable-parser=h264 --enable-gpl \
--enable-libx264 \
--extra-ldflags=-L../x264/lib \
--extra-cflags=-I../x264/include
ERROR: libx264 not found
Paths exactly correct!
if delete --enable-libx264
:
install prefix ffmpeg
source path /home/osuser/develop/libs/source/ffmpeg-3.4.2
C compiler gcc
C library glibc
ARCH x86 (generic)
big-endian no
runtime cpu detection yes
standalone assembly yes
x86 assembler nasm
...
This is what worries me... Why x86?
ARCH x86 (generic)
x86 assembler nasm
Maybe this is the problem? How to configure ffmpeg in x86_64?
--arch=x86_64
not help!
UPDATE:
The problem is fixed, when configure libx264, need to add --enable-pic
Upvotes: 1
Views: 10281
Reputation: 133743
ERROR: libx264 not found
You're using a custom --prefix
for x264 so you need to add PKG_CONFIG_PATH
for your ffmpeg configure such as:
PKG_CONFIG_PATH="$HOME/path/to/your/x264/lib/pkgconfig" ./configure
See FFmpeg Wiki: Ubuntu for another example.
This is what worries me... Why x86?
Looks like it is just an alias that includes i[3-6]86*|i86pc|BePC|x86pc|x86_64|x86_32|amd64
. Refer to the contents of configure
.
It also shows x86
for me on x86_64
(without using --arch
or --target
).
Upvotes: 3