Bug 189136 - multimedia/libvpx fails to build on freebsd10/i386 with gcc
Summary: multimedia/libvpx fails to build on freebsd10/i386 with gcc
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Jan Beich
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-04-30 12:50 UTC by Dmitry Afanasiev
Modified: 2015-08-14 17:28 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dmitry Afanasiev 2014-04-30 12:50:00 UTC
Problem described in ports/185657 also affects build on freebsd10/i386 with gcc:
cc  -O2 -pipe -march=k8-sse3 -fno-strict-aliasing -m32 -O3 -fPIC -U_FORTIFY_SOUR
CE -D_FORTIFY_SOURCE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -Wdeclar
ation-after-statement -Wdisabled-optimization -Wpointer-arith -Wcast-qual -Wvla 
-Wimplicit-function-declaration -Wuninitialized -Wunused-variable -Wno-unused-fu
nction -I. -I"/var/ports/usr/ports/multimedia/libvpx/work/libvpx-1.3.0" -msse2 -
c -o vp9/common/x86/vp9_idct_intrin_sse2.c.o vp9/common/x86/vp9_idct_intrin_sse2
.c
vp9/common/x86/vp9_idct_intrin_sse2.c: In function 'vp9_idct32x32_1024_add_sse2'
:
vp9/common/x86/vp9_idct_intrin_sse2.c:3636: note: use -flax-vector-conversions t
o permit conversions between vectors with differing element types or numbers of subparts
vp9/common/x86/vp9_idct_intrin_sse2.c:3636: error: convert_for_assignment: incompatible type for argument 1 of '__builtin_ia32_psrlqi128'

Adding CFLAGS+=-flax-vector-conversions solves problem too, but I'm not known correct way to permanently add this to port.

Fix: 

As workaround user can add this to make.conf:
.if ${.CURDIR:M*/ports/multimedia/libvpx}
CFLAGS+=-flax-vector-conversions
.endif
Comment 1 Edwin Groothuis freebsd_committer 2014-04-30 12:50:04 UTC
Responsible Changed
From-To: freebsd-ports-bugs->ashish

Over to maintainer (via the GNATS Auto Assign Tool)
Comment 2 commit-hook freebsd_committer 2015-08-14 16:36:33 UTC
A commit references this bug:

Author: jbeich
Date: Fri Aug 14 16:35:29 UTC 2015
New revision: 394231
URL: https://svnweb.freebsd.org/changeset/ports/394231

Log:
  multimedia/libvpx: update to 1.4.0.488 (snapshot)

  Sync system libvpx with bundled libvpx in Firefox 40 in order
  to fix vulnerabilities in the former.

  While here fix other issues:
  - Add powerpc targets removed by upstream
  - Add sparc64 support [1]
  - Improve gcc42 workaround [2]
  - Strip binaries as reported by stage-qa
  - Drop unused -no-integrated-as hack for Clang

  Changes:	https://chromium.googlesource.com/webm/libvpx/+log/v1.4.0..e67d45d
  ACC report:	https://people.freebsd.org/~jbeich/compat_reports/libvpx/1.4.0_to_1.4.0.488/compat_report.html
  PR:		202270
  PR:		186394 [1] (based on)
  PR:		189136 [2]
  Exp-run by:	antoine
  Approved by:	ashish (maintainer)
  MFH:		2015Q3
  Security:	http://www.vuxml.org/freebsd/34e60332-2448-4ed6-93f0-12713749f250.html

Changes:
  head/multimedia/libvpx/Makefile
  head/multimedia/libvpx/distinfo
  head/multimedia/libvpx/files/patch-build_make_Makefile
  head/multimedia/libvpx/files/patch-build_make_configure.sh
  head/multimedia/libvpx/files/patch-configure
  head/multimedia/libvpx/files/patch-vp9_common_vp9__filter.c
Comment 3 Jan Beich freebsd_committer 2015-08-14 17:00:11 UTC
Should be fixed in theory as long as /usr/bin/cc is gcc42. USES=compiler isn't smart enough to tell CHOSEN_COMPILER_VERSION if gcc42 isn't the default compiler.

I haven't tested on FreeBSD 10+ with gcc42.
Comment 4 commit-hook freebsd_committer 2015-08-14 17:28:50 UTC
A commit references this bug:

Author: jbeich
Date: Fri Aug 14 17:27:57 UTC 2015
New revision: 394242
URL: https://svnweb.freebsd.org/changeset/ports/394242

Log:
  MFH: r394231

  multimedia/libvpx: update to 1.4.0.488 (snapshot)

  Sync system libvpx with bundled libvpx in Firefox 40 in order
  to fix vulnerabilities in the former.

  While here fix other issues:
  - Add powerpc targets removed by upstream
  - Add sparc64 support [1]
  - Improve gcc42 workaround [2]
  - Strip binaries as reported by stage-qa
  - Drop unused -no-integrated-as hack for Clang

  Changes:	https://chromium.googlesource.com/webm/libvpx/+log/v1.4.0..e67d45d
  ACC report:	https://people.freebsd.org/~jbeich/compat_reports/libvpx/1.4.0_to_1.4.0.488/compat_report.html
  PR:		202270
  PR:		186394 [1] (based on)
  PR:		189136 [2]
  Exp-run by:	antoine
  Approved by:	ashish (maintainer)
  Approved by:	ports-secteam (delphij)
  Security:	http://www.vuxml.org/freebsd/34e60332-2448-4ed6-93f0-12713749f250.html

Changes:
_U  branches/2015Q3/
  branches/2015Q3/multimedia/libvpx/Makefile
  branches/2015Q3/multimedia/libvpx/distinfo
  branches/2015Q3/multimedia/libvpx/files/patch-build_make_Makefile
  branches/2015Q3/multimedia/libvpx/files/patch-build_make_configure.sh
  branches/2015Q3/multimedia/libvpx/files/patch-configure
  branches/2015Q3/multimedia/libvpx/files/patch-vp9_common_vp9__filter.c