2015-09-25 7 views
5

साथ संकलन नहीं है मैं इस प्रकार FFmpeg के ./configure स्क्रिप्ट चलाने:FFmpeg साझा पुस्तकालयों

:

PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --pkg-config-flags="--static" --extra-cflags="-fPIC -m64 -I$HOME/ffmpeg_build/include" --extra-ldflags="-L$HOME/ffmpeg_build/lib" --bindir="$HOME/bin" --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree --enable-pic --extra-ldexeflags=-pie --enable-shared

जब मैं ऊपर के रूप में --enable-shared विकल्प के साथ FFmpeg संकलित करने के लिए प्रयास करते हैं, मैं इस त्रुटि मिलती है

/usr/bin/ld: /home/guel/ffmpeg_build/lib/libx264.a(common.o): relocation R_X86_64_32 against '.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /home/guel/ffmpeg_build/lib/libx264.a: error adding symbols: Bad value collect2: error: ld returned 1 exit status

मैं क्रम में --extra-cflags को --enable-pic, --extra-ldexeflags=-pie के साथ-साथ -fPIC -m64 जोड़ा था से छुटकारा पाने के यह स्थानान्तरण त्रुटि यहां सुझाई गई है: https://www.ffmpeg.org/platform.html

लेकिन मुझे अभी भी वही त्रुटि मिल रही है। मुझे ओपनसीवी के साथ इंटरफ़ेस करने के लिए --enable-shared विकल्प के साथ ffmpeg को संकलित करने की आवश्यकता है, इसलिए मुझे यहां एक समाधान मिलना है।

+0

मुझे यह समस्या थी और केवल मेरे लिए गिथब ने इसे बंद कर दिया। – brian

उत्तर

6

मैं समस्या को हल करने में कामयाब रहा। दरअसल, -fPIC और --enable-pic जोड़ों को चाल चलनी चाहिए थी, लेकिन मैंने पहले से ही निर्भरता पुस्तकालयों (libx264 और कई अन्य) को --disable-shared विकल्प के साथ संकलित किया था क्योंकि मुझे इसकी परवाह नहीं थी जब मैंने पहली बार एफएफएमपीई संकलित किया था और केवल संकलन का अंधाधुंध पालन किया था यहां गाइड करें: https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu

--enable-shared विकल्प के साथ सभी पुस्तकालयों को दोबारा संकलित करने के बाद, FFmpeg ने भी उस विकल्प को सफलतापूर्वक संकलित किया।

+1

धन्यवाद, जिसने मुझे बहुत मदद की। मैं उसी कारण से उसी मुद्दे पर चल रहा था। – Shiro