Package Details: lib32-ffmpeg 1:3.2.1-1

Git Clone URL: https://aur.archlinux.org/lib32-ffmpeg.git (read-only)
Package Base: lib32-ffmpeg
Description: Complete solution to record, convert and stream audio and video (32 bit)
Upstream URL: http://ffmpeg.org/
Licenses: GPL3
Provides: libavcodec.so, libavdevice.so, libavfilter.so, libavformat.so, libavresample.so, libavutil.so, libpostproc.so, libswresample.so, libswscale.so
Submitter: lano1106
Maintainer: oxalin
Last Packager: oxalin
Votes: 16
Popularity: 2.231879
First Submitted: 2013-05-18 04:43
Last Updated: 2016-11-30 02:54

Required by (42)

Sources (2)

Latest Comments

oxalin commented on 2016-10-23 22:27

Thanks JonnyJD.

Patch was first included, and then removed since the dev group released 3.1.5 which already includes the openjpeg2 patch. Sorry for the noise.

To be noted: SDL support will be dropped in the next release in favor of SDL2. Stay tuned.

JonnyJD commented on 2016-10-23 11:45

Sorry, I don't have time to maintain the package, currently.

I made oxalin the new maintainer (the notification mail is wrong, I disowned).

oxalin commented on 2016-10-21 19:25

@versusvoid
It could be added, but that would be up to @JonnyJD to do.

versusvoid commented on 2016-09-22 05:21

@oxalin
Adding lib32-openjpeg2 to `depends` also wouldn't be a bad thing.

oxalin commented on 2016-08-31 22:54

@Enverex, there is another (new) known bug about undefinded references to openjpegenc.o after a recent change in the static openjpeg2 library... Briefly, it comes to "The FFmpeg code was setting OPJ_STATIC, and in master, OPJ_STATIC sets API method visibility to hidden (because it is a static build, so visibility not needed)."
See https://trac.ffmpeg.org/ticket/5694

The next ffmpeg release should contain the following fix: https://trac.ffmpeg.org/raw-attachment/ticket/5694/ffmpeg_opj2.patch

@JonnyJD
Meanwhile, maybe we would be better to add and apply that patch to the current package.
Proposed patch to PKGBUILD
---
diff --git a/PKGBUILD b/PKGBUILD
index 00b74d4..a190490 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -35,14 +35,23 @@ provides=(
'libavresample.so' 'libavutil.so' 'libpostproc.so' 'libswresample.so'
'libswscale.so'
)
-source=(http://ffmpeg.org/releases/$_pkgbasename-$pkgver.tar.bz2{,.asc})
+source=(
+ "http://ffmpeg.org/releases/$_pkgbasename-$pkgver.tar.bz2"{,.asc}
+ "https://trac.ffmpeg.org/raw-attachment/ticket/5694/ffmpeg_opj2.patch"
+)
validpgpkeys=('FCF986EA15E6E293A5644F10B4322F04D67658D8')
-sha256sums=('58bc89c65dd114d874efbf76f76368d03b5e407f0a3f42d5b40801c280968a38'
- 'SKIP')
+sha256sums=(
+ '58bc89c65dd114d874efbf76f76368d03b5e407f0a3f42d5b40801c280968a38'
+ 'SKIP'
+ 'SKIP'
+)

build() {
cd ${_pkgbasename}-${pkgver}

+ # Patching FFMPEG to compile againt a change in OpenJPEG2 static library until this patch is integrated in next release
+ patch -p1 < ../ffmpeg_opj2.patch
+
export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"

./configure \
---

To fix building against libopenjpeg2, you need both the 32 bit library AND the patch (for now).

Enverex commented on 2016-08-16 13:23

@JonnyJD - Just an FYI, installing lib32-openjpeg2 doesn't fix lib32-ffmpeg failing to build (with the /usr/bin/ld: libavcodec/libavcodec.so.57: hidden symbol `opj_setup_decoder' isn't defined error).

Removing openjpeg2 is the only way to have the build complete (doing an -Rdd then reinstalling it after this is built seems to be the easiest way to get around it).

mokkurkalve commented on 2016-08-15 12:57

Build fails for me thus:
(....snip....)
libavcodec/libopenjpegenc.o: In function `.L150':
libopenjpegenc.c:(.text+0xe4e): undefined reference to `opj_set_info_handler'
libopenjpegenc.c:(.text+0xe6e): undefined reference to `opj_setup_encoder'
libopenjpegenc.c:(.text+0xed4): undefined reference to `opj_stream_default_create'
libopenjpegenc.c:(.text+0xefd): undefined reference to `opj_stream_set_write_function'
libopenjpegenc.c:(.text+0xf0c): undefined reference to `opj_stream_set_skip_function'
libopenjpegenc.c:(.text+0xf1b): undefined reference to `opj_stream_set_seek_function'
libopenjpegenc.c:(.text+0xf2b): undefined reference to `opj_stream_set_user_data'
libopenjpegenc.c:(.text+0xf3c): undefined reference to `opj_start_compress'
libopenjpegenc.c:(.text+0xf4d): undefined reference to `opj_encode'
libopenjpegenc.c:(.text+0xfa4): undefined reference to `opj_end_compress'
libavcodec/libopenjpegenc.o: In function `libopenjpeg_encode_close':
libopenjpegenc.c:(.text.unlikely+0x1c): undefined reference to `opj_image_destroy'
libavcodec/libopenjpegenc.o: In function `libopenjpeg_encode_init':
libopenjpegenc.c:(.text.unlikely+0x6b): undefined reference to `opj_set_default_encoder_parameters'
libopenjpegenc.c:(.text.unlikely+0x138): undefined reference to `opj_image_destroy'
libopenjpegenc.c:(.text.unlikely+0x58c): undefined reference to `opj_image_create'
/usr/bin/ld: libavcodec/libavcodec.so.57: hidden symbol `opj_setup_decoder' isn't defined
/usr/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
make: *** [library.mak:100: libavcodec/libavcodec.so.57] Error 1
make: *** Waiting for unfinished jobs....
==> FEIL: En feil oppsto i build().
Avbryter...

zhenbo commented on 2016-08-06 04:58

As lib32-libvpx was updated and broke this dependency, I modified PKGBUILD to disable vpx support:
https://paste.fedoraproject.org/402477/45942314/

zhenbo commented on 2016-08-06 04:40

$ yaourt -Sua lib32-ffmpeg
error: failed to prepare transaction (could not satisfy dependencies)
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...
error: failed to prepare transaction (could not satisfy dependencies)
:: lib32-ffmpeg: installing lib32-libvpx (1.6.0-2) breaks dependency 'libvpx.so=3-32'

This package needs to be updated

RunasSudo commented on 2016-06-06 08:10

Can confirm that installing lib32-openjpeg2 fixes the issue described by remussatala.

All comments