Bug 186394

Summary: [patch] multimedia/libvpx enable sparc64
Product: Ports & Packages Reporter: craig001
Component: Individual Port(s)Assignee: Jan Beich <jbeich>
Status: Closed FIXED    
Severity: Affects Only Me CC: gmbroome
Priority: Normal    
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
file.diff
none
file.dat
none
file.dat
none
Add new libvpx configure target for sparc and corresponding port Makefile entry none

Description craig001 2014-02-03 01:00:00 UTC
Currently libvpx does not build for sparc64

When running a build from the port directory it currently bins out with;
"no support for sparc64 the moment. testing/patches are welcome"

After a bit of googling I noticed that Debian has a sparc compiled tarball and I just copied their configure line with respect to --target=generic-gnu

I found that base gcc was too old to compile it the configure script was complaining that it couldn't link files.... So I forced the make file to use gcc48 for sparc64 builds.

How-To-Repeat: Build port on a sparc64 machine.
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2014-02-03 01:00:08 UTC
Responsible Changed
From-To: freebsd-ports-bugs->ashish

Over to maintainer (via the GNATS Auto Assign Tool)
Comment 2 Ashish SHUKLA freebsd_committer freebsd_triage 2014-02-04 06:46:26 UTC
Hi Craig,

I'll try your diff on a Sparc64, and get back to you by this weekend.

Thanks
-- 
Ashish SHUKLA      | GPG: F682 CDCC 39DC 0FEA E116  20B6 C746 CFA9 E74F A4B0
Sent from my Emacs
Comment 3 Ashish SHUKLA freebsd_committer freebsd_triage 2014-03-06 11:48:21 UTC
FTR:
Comment 4 Ashish SHUKLA freebsd_committer freebsd_triage 2014-03-28 20:08:16 UTC
On Fri, 28 Mar 2014 19:21:25 +0000, Craig Butler <craig001@lerwick.hopto.org> said:
> On Sun, 2014-03-02 at 04:12 +0530, Ashish SHUKLA wrote:
>> On Wed, 05 Feb 2014 13:56:43 +0530, ashish@FreeBSD.org (Ashish SHUKLA) said:
>> > On Tue, 04 Feb 2014 10:11:37 +0000, Craig Butler <craig001@lerwick.hopto.org> said:
>> >> On Tue, 2014-02-04 at 12:16 +0530, Ashish SHUKLA wrote:
>> >>> Hi Craig,
>> >>> 
>> >>> I'll try your diff on a Sparc64, and get back to you by this weekend.
>> >>> 
>> >>> Thanks
>> 
>> >> Hello Ashish
>> 
>> >> Thank you for your reply.  I should be able to see if firefox plays VP8
>> >> video shortly.  I am now on day 2 of compiling it.
>> 
>> >> I had to add the libvpx patch to get the port to build, so I could get a
>> >> step further building firfox....
>> 
>> >> It looks really integrated now and trying to build without vpx was
>> >> looking a bit complicated.
>> 
>> >> I can make my pkgng repo available for 9.2-RELEASE sparc64 if you want
>> >> to save some time compiling gcc48 and co.
>> 
>> > I'll let you know about this. The sparc64 host is not mine, but a friend's so
>> > need to check with him, before I could install any stuff from outside.
>> 
>> Hi Craig,
>> 
>> long time; /* no C */
>> 
>> Sorry for the delay from my side. The build host crashed, and it was a slow
>> host, so can understand how much time does it take to build GCC 4.8 on it.
>> 
>> Anyways, I've got the report that libvpx builds fine on it. Did you get to
>> check about Firefox as you mentioned in your last mail?
>> 
>> Thanks


> Hello Ashish


> Sorry for the late reply, I think it might need some more work sparc64
> wise.


> My Ultrasparc IIe and IIi don't really have enough horse power to make
> it work.


> I can get past html5test.com OK and declares that html5 VP8 is
> available.


> However on running a test video it falls over... bum :(


> At least I got firefox, seamonkey, and midori building on the sparc64.


> I'll dig into it a bit deeper.


> Kind Regards


> Craig Butler


Hi Craig,

Thanks for the reply.

No problems, take your time.

If you've anything to report, please post a followup to the PR. Or, I can
check back in few weeks.

Thanks for working on this. :)

-- 
Ashish SHUKLA      | GPG: F682 CDCC 39DC 0FEA E116  20B6 C746 CFA9 E74F A4B0
Sent from my Emacs
Comment 5 craig001 2014-03-28 21:53:53 UTC
On Sat, 2014-03-29 at 01:38 +0530, Ashish SHUKLA wrote:
> On Fri, 28 Mar 2014 19:21:25 +0000, Craig Butler <craig001@lerwick.hopto.org> said:
> > On Sun, 2014-03-02 at 04:12 +0530, Ashish SHUKLA wrote:
> >> On Wed, 05 Feb 2014 13:56:43 +0530, ashish@FreeBSD.org (Ashish SHUKLA) said:
> >> > On Tue, 04 Feb 2014 10:11:37 +0000, Craig Butler <craig001@lerwick.hopto.org> said:
> >> >> On Tue, 2014-02-04 at 12:16 +0530, Ashish SHUKLA wrote:
> >> >>> Hi Craig,
> >> >>> 
> >> >>> I'll try your diff on a Sparc64, and get back to you by this weekend.
> >> >>> 
> >> >>> Thanks
> >> 
> >> >> Hello Ashish
> >> 
> >> >> Thank you for your reply.  I should be able to see if firefox plays VP8
> >> >> video shortly.  I am now on day 2 of compiling it.
> >> 
> >> >> I had to add the libvpx patch to get the port to build, so I could get a
> >> >> step further building firfox....
> >> 
> >> >> It looks really integrated now and trying to build without vpx was
> >> >> looking a bit complicated.
> >> 
> >> >> I can make my pkgng repo available for 9.2-RELEASE sparc64 if you want
> >> >> to save some time compiling gcc48 and co.
> >> 
> >> > I'll let you know about this. The sparc64 host is not mine, but a friend's so
> >> > need to check with him, before I could install any stuff from outside.
> >> 
> >> Hi Craig,
> >> 
> >> long time; /* no C */
> >> 
> >> Sorry for the delay from my side. The build host crashed, and it was a slow
> >> host, so can understand how much time does it take to build GCC 4.8 on it.
> >> 
> >> Anyways, I've got the report that libvpx builds fine on it. Did you get to
> >> check about Firefox as you mentioned in your last mail?
> >> 
> >> Thanks
> 
> > Hello Ashish
> 
> > Sorry for the late reply, I think it might need some more work sparc64
> > wise.
> 
> > My Ultrasparc IIe and IIi don't really have enough horse power to make
> > it work.
> 
> > I can get past html5test.com OK and declares that html5 VP8 is
> > available.
> 
> > However on running a test video it falls over... bum :(
> 
> > At least I got firefox, seamonkey, and midori building on the sparc64.
> 
> > I'll dig into it a bit deeper.
> 
> > Kind Regards
> 
> > Craig Butler
> 
> Hi Craig,
> 
> Thanks for the reply.
> 
> No problems, take your time.
> 
> If you've anything to report, please post a followup to the PR. Or, I can
> check back in few weeks.
> 
> Thanks for working on this. :)
> 

I am not convinced it is libvpx to blame for the crashes as it also
segfaults signal 11 on theora videos as well.

I think I am going to have to suffer some pain and build firefox in
debug mode.

Kind Regards

Craig Butler
Comment 6 gmbroome 2015-03-02 18:58:38 UTC
Created attachment 153670 [details]
Add new libvpx configure target for sparc and corresponding port Makefile entry

Similar to original patch for the bug, save that it attempts to tell libvpx's configure as much about the target system as possible rather than using the generic-gnu target
Comment 7 gmbroome 2015-03-02 19:01:23 UTC
(In reply to gmbroome from comment #6)

Forgot to mention: The aforementioned gave working build with GCC 4.8 on an UltraSPARC IIICu, and it also successfully decodes test videos from the Peacekeeper browser benchmark w/ VP8.
Comment 8 Ashish SHUKLA freebsd_committer freebsd_triage 2015-03-09 08:57:09 UTC
(In reply to gmbroome from comment #7)

Thanks for the diff. I'll check it out, and if nothing breaks, I'll get it committed.

Ashish
Comment 9 commit-hook freebsd_committer freebsd_triage 2015-08-14 16:36:31 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 10 Jan Beich freebsd_committer freebsd_triage 2015-08-14 16:52:17 UTC
Thanks. Committed. The difference with attachment 153670 [details]:
- lang/gcc tracks 4.8 nowadays, so one could USE_GCC=yes
- USE_GCC may lead to crashes if sparc64 switches to clang/libc++ in future
- sparc64 vs. sparc may bite us if configure checks for *any* 64bit arch
Comment 11 commit-hook freebsd_committer freebsd_triage 2015-08-14 17:28:49 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