"Marat N.Afanasyev" <[email protected]> writes: > /usr/bin/ld: libxul.so: hidden symbol `downmix_int' isn't defined
Adding -lopus won't be enough. Firefox hides any symbol not explicitly listed as system with pragma visibility, see config/system-headers. However, downmix_int isn't really a public symbol. So, you either have to disable system opus via USE_MOZILLA=-opus like r386162 or apply the following hack Index: audio/opus/Makefile =================================================================== --- audio/opus/Makefile (revision 401065) +++ audio/opus/Makefile (working copy) @@ -2,7 +2,7 @@ PORTNAME= opus PORTVERSION= 1.1 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= audio MASTER_SITES= http://downloads.xiph.org/releases/opus/ \ MOZILLA/opus @@ -24,9 +24,7 @@ CONFIGURE_ARGS= --enable-custom-modes \ INSTALL_TARGET= install-strip TEST_TARGET= check -.include <bsd.port.options.mk> - -.if ${ARCH} == "arm" +.if defined(MACHINE_CPU) && ${MACHINE_CPU:Msoftfp} CONFIGURE_ARGS+=--enable-fixed-point .endif Index: audio/opus/files/patch-export-downmix =================================================================== --- audio/opus/files/patch-export-downmix (nonexistent) +++ audio/opus/files/patch-export-downmix (working copy) @@ -0,0 +1,28 @@ +--- include/opus.h.orig 2013-11-29 20:49:17 UTC ++++ include/opus.h +@@ -971,6 +971,14 @@ OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus + + /**@}*/ + ++#ifdef __SOFTFP__ /* XXX FIXED_POINT isn't exported */ ++OPUS_EXPORT void downmix_float(const void *_x, opus_int32 *sub, int subframe, int offset, int c1, int c2, int C); ++OPUS_EXPORT void downmix_int(const void *_x, opus_int32 *sub, int subframe, int offset, int c1, int c2, int C); ++#else ++OPUS_EXPORT void downmix_float(const void *_x, float *sub, int subframe, int offset, int c1, int c2, int C); ++OPUS_EXPORT void downmix_int(const void *_x, float *sub, int subframe, int offset, int c1, int c2, int C); ++#endif ++ + #ifdef __cplusplus + } + #endif +--- src/opus_private.h.orig 2013-11-29 20:17:16 UTC ++++ src/opus_private.h +@@ -83,8 +83,6 @@ int get_mono_channel(const ChannelLayout + #define OPUS_SET_FORCE_MODE(x) OPUS_SET_FORCE_MODE_REQUEST, __opus_check_int(x) + + typedef void (*downmix_func)(const void *, opus_val32 *, int, int, int, int, int); +-void downmix_float(const void *_x, opus_val32 *sub, int subframe, int offset, int c1, int c2, int C); +-void downmix_int(const void *_x, opus_val32 *sub, int subframe, int offset, int c1, int c2, int C); + + int optimize_framesize(const opus_val16 *x, int len, int C, opus_int32 Fs, + int bitrate, opus_val16 tonality, float *mem, int buffering,
signature.asc
Description: PGP signature
