Seamonkey port?

Jan Beich jbeich at vfemail.net
Mon Nov 9 19:56:24 UTC 2015


"Marat N.Afanasyev" <amarat at li.ru> 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,
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 602 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-gecko/attachments/20151108/defa60c2/attachment.bin>


More information about the freebsd-gecko mailing list