On Thu, Jul 27, 2017 at 12:27:06AM +0100, Stuart Henderson wrote: > cc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I. -I../../libmp3lame > -I../../mpglib -I../.. -I/usr/local/include -Wall -pipe -O2 -pipe -MT > xmm_quantize_sub.lo -MD -MP -MF .deps/xmm_quantize_sub.Tpo -c > xmm_quantize_sub.c -fPIC -DPIC -o .libs/xmm_quantize_sub.o > xmm_quantize_sub.c:65:34: error: always_inline function '_mm_loadu_ps' > requires target feature 'mmx', but would be inlined into function > 'init_xrpow_core_sse' that is compiled without support for 'mmx' > const __m128 vec_fabs_mask = _mm_loadu_ps(&fabs_mask._float[0]);
Full explanation on: https://lists.freebsd.org/pipermail/freebsd-ports-bugs/2016-January/328340.html seems we were not compiling things correctly. This is their configure.in patch, and should synchronize the build with the actual build options on i386, independently of whether or not we want to use -msse or something. (the #' is because lame's COMMENT does funny stuff with my syntactic coloring) Index: Makefile =================================================================== RCS file: /cvs/ports/audio/lame/Makefile,v retrieving revision 1.57 diff -u -p -r1.57 Makefile --- Makefile 9 Apr 2016 20:14:48 -0000 1.57 +++ Makefile 27 Jul 2017 09:54:27 -0000 @@ -1,9 +1,10 @@ # $OpenBSD: Makefile,v 1.57 2016/04/09 20:14:48 naddy Exp $ COMMENT= lame ain't an MP3 encoder +#' DISTNAME= lame-3.99.5 -REVISION= 0 +REVISION= 1 SHARED_LIBS += mp3lame 2.1 # 0.1 @@ -25,7 +26,8 @@ LIB_DEPENDS= converters/libiconv USE_GMAKE= Yes -CONFIGURE_STYLE=gnu +AUTOCONF_VERSION=2.69 +CONFIGURE_STYLE=autoconf CONFIGURE_ARGS= --enable-mp3rtp \ --disable-mp3x \ --with-fileio=lame Index: patches/patch-configure =================================================================== RCS file: patches/patch-configure diff -N patches/patch-configure --- patches/patch-configure 23 Oct 2011 09:14:19 -0000 1.4 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,12 +0,0 @@ -$OpenBSD: patch-configure,v 1.4 2011/10/23 09:14:19 ajacoutot Exp $ ---- configure.orig Wed Apr 20 14:53:26 2011 -+++ configure Sun Oct 23 11:11:59 2011 -@@ -11044,7 +11044,7 @@ LIB_MAJOR_VERSION=0 - - # increase this when changes are made, but they are upward compatible - # to previous versions --LIB_MINOR_VERSION=0 -+LIB_MINOR_VERSION=1 - - if test "${ac_cv_cygwin}" = "yes"; then - if test "${CC}" != "gcc"; then Index: patches/patch-configure_in =================================================================== RCS file: patches/patch-configure_in diff -N patches/patch-configure_in --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-configure_in 27 Jul 2017 09:54:27 -0000 @@ -0,0 +1,37 @@ +$OpenBSD$ + +Complete auto detection of xmmintrin_h according to actual support. +from FreeBSD + +Index: configure.in +--- configure.in.orig ++++ configure.in +@@ -56,7 +56,7 @@ LIB_MAJOR_VERSION=0 + + # increase this when changes are made, but they are upward compatible + # to previous versions +-LIB_MINOR_VERSION=0 ++LIB_MINOR_VERSION=1 + + dnl # work around for a bug, don't know where it is exactly + if test "${ac_cv_cygwin}" = "yes"; then +@@ -96,8 +96,18 @@ AC_CHECK_HEADERS( \ + sys/soundcard.h \ + sys/time.h \ + unistd.h \ +- xmmintrin.h \ + linux/soundcard.h) ++ ++dnl Checks for actually working SSE intrinsics ++AC_MSG_CHECKING(working SSE intrinsics) ++AC_COMPILE_IFELSE( ++ [AC_LANG_PROGRAM( ++ [[#include <xmmintrin.h>]], ++ [[_mm_sfence();]])], ++ [AC_DEFINE([HAVE_XMMINTRIN_H], [1], [Define if SSE intrinsics work.]) ++ ac_cv_header_xmmintrin_h=yes], ++ [ac_cv_header_xmmintrin_h=no]) ++AC_MSG_RESULT(${ac_cv_header_xmmintrin_h}) + + dnl Checks for typedefs, structures, and compiler characteristics. + AC_C_CONST
