Skip to contentSkip to conversation

package/lame: Fix compile on 32bit Intel with gcc-4.9.x

PATCH New Bernd Kuhls 2 participants 4 messages Apr 11, 2015 – Jul 11, 2015

lore
Share & tools
lore
#1 lore raw

PATCH 1/2 package/lame: Fix autoreconf

---
 package/lame/0001-configure.patch          |   69 +++++++++
 package/lame/0002-gtk1-ac-directives.patch |  210 ++++++++++++++++++++++++++++
 package/lame/lame.mk                       |    1 +
 3 files changed, 280 insertions(+)
 create mode 100644 package/lame/0001-configure.patch
 create mode 100644 package/lame/0002-gtk1-ac-directives.patch
package/lame/0001-configure.patch new file +69 -0
new file mode 100644
index 0000000..7e407f2
@@ -0,0 +1,69 @@
+Various patches to fix autoreconf errors.
+
+All patches besides
+- AM_ICONV in configure.in
+are already applied upstream:
+http://lame.cvs.sourceforge.net/viewvc/lame/lame/configure.in?r1=1.145&r2=1.146
+http://lame.cvs.sourceforge.net/viewvc/lame/lame/doc/html/Makefile.am?r1=1.8&r2=1.9
+http://lame.cvs.sourceforge.net/viewvc/lame/lame/doc/man/Makefile.am?r1=1.1&r2=1.2
+
+libmp3lame/i386/Makefile.am patch ported from Debian
+http://anonscm.debian.org/cgit/pkg-multimedia/lame.git/tree/debian/patches/ansi2knr2devnull.patch
+
+Signed-off-by: Bernd Kuhls <[email protected]>
+
+diff -uNr lame-3.99.5.org/configure.in lame-3.99.5/configure.in
+--- lame-3.99.5.org/configure.in	2012-02-28 19:50:27.000000000 +0100
++++ lame-3.99.5/configure.in	2015-04-11 11:36:15.464835008 +0200
+@@ -77,9 +77,6 @@
+ 	AC_MSG_RESULT(${GCC_version})
+ fi
+ 
+-dnl more automake stuff
+-AM_C_PROTOTYPES
+-
+ AC_CHECK_HEADER(dmalloc.h)
+ if test "${ac_cv_header_dmalloc_h}" = "yes"; then
+ 	AM_WITH_DMALLOC
+@@ -376,8 +373,6 @@
+ AC_CHECK_LIB(curses, initscr, HAVE_TERMCAP="curses")
+ AC_CHECK_LIB(ncurses, initscr, HAVE_TERMCAP="ncurses")
+ 
+-AM_ICONV
+- 
+ dnl math lib
+ AC_CHECK_LIB(m, cos, USE_LIBM="-lm")
+ dnl free fast math library
+diff -uNr lame-3.99.5.org/doc/html/Makefile.am lame-3.99.5/doc/html/Makefile.am
+--- lame-3.99.5.org/doc/html/Makefile.am	2010-09-30 22:58:40.000000000 +0200
++++ lame-3.99.5/doc/html/Makefile.am	2015-04-11 11:37:02.880239754 +0200
+@@ -1,6 +1,6 @@
+ ## $Id: Makefile.am,v 1.7 2010/09/30 20:58:40 jaz001 Exp $
+ 
+-AUTOMAKE_OPTIONS = foreign ansi2knr
++AUTOMAKE_OPTIONS = foreign
+ 
+ docdir = $(datadir)/doc
+ pkgdocdir = $(docdir)/$(PACKAGE)
+diff -uNr lame-3.99.5.org/doc/man/Makefile.am lame-3.99.5/doc/man/Makefile.am
+--- lame-3.99.5.org/doc/man/Makefile.am	2000-10-22 13:39:44.000000000 +0200
++++ lame-3.99.5/doc/man/Makefile.am	2015-04-11 11:37:08.704167318 +0200
+@@ -1,6 +1,6 @@
+ ## $Id: Makefile.am,v 1.1 2000/10/22 11:39:44 aleidinger Exp $
+ 
+-AUTOMAKE_OPTIONS = foreign ansi2knr
++AUTOMAKE_OPTIONS = foreign
+ 
+ man_MANS = lame.1
+ EXTRA_DIST = ${man_MANS}
+diff -uNr lame-3.99.5.org/libmp3lame/i386/Makefile.am lame-3.99.5/libmp3lame/i386/Makefile.am
+--- lame-3.99.5.org/libmp3lame/i386/Makefile.am	2011-04-04 11:42:34.000000000 +0200
++++ lame-3.99.5/libmp3lame/i386/Makefile.am	2015-04-11 11:37:35.191833351 +0200
+@@ -1,6 +1,6 @@
+ ## $Id: Makefile.am,v 1.26 2011/04/04 09:42:34 aleidinger Exp $
+ 
+-AUTOMAKE_OPTIONS = foreign $(top_srcdir)/ansi2knr
++AUTOMAKE_OPTIONS = foreign
+ 
+ DEFS = @DEFS@ @CONFIG_DEFS@
+ 
package/lame/0002-gtk1-ac-directives.patch new file +210 -0

210 lines not on this page · raw message

package/lame/lame.mk +1 -0
index e47e0af..ac68369 100644
@@ -8,6 +8,7 @@ LAME_VERSION_MAJOR = 3.99
 LAME_VERSION = $(LAME_VERSION_MAJOR).5
 LAME_SITE = http://downloads.sourceforge.net/project/lame/lame/$(LAME_VERSION_MAJOR)
 LAME_DEPENDENCIES = host-pkgconf
+LAME_AUTORECONF = YES
 LAME_INSTALL_STAGING = YES
 LAME_CONF_ENV = GTK_CONFIG=/bin/false
 LAME_CONF_OPTS = --enable-dynamic-frontends
Signature · 1 line
1.7.10.4
#2 lore raw

PATCH 2/2 package/lame: Fix compile on 32bit Intel

In reply to Bernd Kuhls

In file included from xmm_quantize_sub.c:37:0:
/home/br/br5/output/host/usr/lib/gcc/i586-buildroot-linux-uclibc/4.9.2/include/xmmintrin.h:929:1: error: inlining failed in call to always_inline '_mm_loadu_ps': target specific option mismatch
_mm_loadu_ps (float const *__P)
^
xmm_quantize_sub.c:65:18: error: called from here

     const __m128 vec_fabs_mask = _mm_loadu_ps(&fabs_mask._float[0]);
                  ^
---
 package/lame/0003-msse.patch |   24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)
 create mode 100644 package/lame/0003-msse.patch
package/lame/0003-msse.patch new file +24 -0
new file mode 100644
index 0000000..ca4f65f
@@ -0,0 +1,24 @@
+Fix compile on 32bit Intel
+
+Downloaded from
+http://anonscm.debian.org/cgit/pkg-multimedia/lame.git/tree/debian/patches/msse.patch
+
+Signed-off-by: Bernd Kuhls <[email protected]>
+
+Description: Build xmm_quantize_sub.c with -msse
+Author: Sebastian Ramacher <[email protected]>
+Bug: http://sourceforge.net/p/lame/bugs/443/
+Bug-Debian: https://bugs.debian.org/760047
+Forwarded: http://sourceforge.net/p/lame/bugs/443/
+Last-Update: 2014-08-31
+
+--- lame-3.99.5+repack1.orig/libmp3lame/vector/Makefile.am
++++ lame-3.99.5+repack1/libmp3lame/vector/Makefile.am
+@@ -20,6 +20,7 @@ xmm_sources = xmm_quantize_sub.c
+ 
+ if WITH_XMM
+ liblamevectorroutines_la_SOURCES = $(xmm_sources)
++liblamevectorroutines_la_CFLAGS = -msse
+ endif
+ 
+ noinst_HEADERS = lame_intrin.h
Signature · 1 line
1.7.10.4
#3 lore raw

cover package/lame: Fix compile on 32bit Intel with gcc-4.9.x

In reply to Bernd Kuhls

Dear Bernd Kuhls,

Quoted 4 lines · Bernd Kuhls

this patch series supersedes
http://patchwork.ozlabs.org/patch/380574/
http://patchwork.ozlabs.org/patch/385267/

Quoted 8 lines

The first patch allows to autoreconf lame which is needed for the second patch which really fixes the compile bug.

Regards, Bernd

Bernd Kuhls (2):
package/lame: Fix autoreconf
package/lame: Fix compile on 32bit Intel

Applied the patches, thanks! I've tried to use the latest CVS from Lame, but it doesn't have the -msse fix and it doesn't autoreconf properly either.

Could you submit the patches upstream? There is one guy that seems to be active, he even has an unofficial Github mirror.

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com