NetBSD Problem Report #48508

From www@NetBSD.org  Thu Jan  9 15:11:41 2014
Return-Path: <www@NetBSD.org>
Received: from mail.netbsd.org (mail.netbsd.org [149.20.53.66])
	(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
	(Client CN "mail.NetBSD.org", Issuer "Postmaster NetBSD.org" (not verified))
	by mollari.NetBSD.org (Postfix) with ESMTPS id 95AE5A6464
	for <gnats-bugs@gnats.NetBSD.org>; Thu,  9 Jan 2014 15:11:41 +0000 (UTC)
Message-Id: <20140109151139.CA91DA6474@mollari.NetBSD.org>
Date: Thu,  9 Jan 2014 15:11:39 +0000 (UTC)
From: joern.clausen@uni-bielefeld.de
Reply-To: joern.clausen@uni-bielefeld.de
To: gnats-bugs@NetBSD.org
Subject: problems building multimedia/libvpx on Solaris 10
X-Send-Pr-Version: www-1.0

>Number:         48508
>Category:       pkg
>Synopsis:       problems building multimedia/libvpx on Solaris 10
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    ryoon
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Jan 09 15:15:01 +0000 2014
>Closed-Date:    Tue Dec 09 13:06:48 +0000 2014
>Last-Modified:  Tue Dec 09 13:06:48 +0000 2014
>Originator:     Jörn Clausen
>Release:        
>Organization:
University of Bielefeld
>Environment:
>Description:
Building multimedia/libvpx on Solaris 10 (tested so far on i86) does not work out of the box:

===> Building for libvpx-1.3.0
    [CREATE] vpx_scale_rtcd.h
    [CREATE] vp8_rtcd.h
    [CREATE] vp9_rtcd.h
tr: Bad string.
tr: Bad string.
tr: Bad string.
    [DEP] third_party/x86inc/x86inc.asm.d
    [DEP] vp9/common/x86/vp9_intrapred_ssse3.asm.d

As a result, several header files are not created correctly, resulting in subsequent compilation errors. It seems, even /usr/xpg4/bin/tr (as defined in tools.SunOS.mk) is not good enough any more.

Using GNU tr yields better results. I can't remember how to tell Makefile to use this version, USE_TOOLS+=gtr does not work.

Anyway:

$ bmake TOOLS_PLATFORM.tr=/usr/pkgsrc/20130903/bin/gtr

clears the first hurdle and then breaks here:

...
    [CC] vp9/common/x86/vp9_idct_intrin_sse2.c.o
libtool: compile:  gcc -O2 -m32 -O3 -fPIC -Wall -Wdeclaration-after-statement -Wdisabled-optimization -Wpointer-arith -Wtype-limits -Wcast-qual -Wvla -Wimplicit-function-declaration -Wuninitialized -Wunused-variable -Wunused-but-set-variable -Wno-unused-function -I. -I/pkgsrc/source/pkgsrc/multimedia/libvpx/work.pkgsrc-i86/libvpx-1.3.0 -msse2 -c vp9/common/x86/vp9_idct_intrin_sse2.c  -fPIC -DPIC -o vp9/common/x86/.libs/vp9_idct_intrin_sse2.c.o
Assembler: vp9_loopfilter_intrin_avx2.c
        "/var/tmp//cc6ilBLi.s", line 26 : Illegal mnemonic
        Near line: "    vmovd   %ecx, %xmm6"
        "/var/tmp//cc6ilBLi.s", line 26 : Syntax error
        Near line: "    vmovd   %ecx, %xmm6"
        "/var/tmp//cc6ilBLi.s", line 28 : Illegal mnemonic
        Near line: "    vpbroadcastb    %xmm6, %xmm6"
        "/var/tmp//cc6ilBLi.s", line 28 : Syntax error
        Near line: "    vpbroadcastb    %xmm6, %xmm6"
        "/var/tmp//cc6ilBLi.s", line 30 : Illegal mnemonic
        Near line: "    vmovd   %esi, %xmm2"
        "/var/tmp//cc6ilBLi.s", line 30 : Syntax error
        Near line: "    vmovd   %esi, %xmm2"
...
        Near line: "    vmovdqu (%edi), %xmm0"
        "/var/tmp//cc6ilBLi.s", line 64 : Illegal mnemonic
        Near line: "    vmovdqa %xmm0, 1024(%esp)"
Too many errors - Goodbye
Makefile:128: recipe for target 'vp9/common/x86/vp9_loopfilter_intrin_avx2.c.o' failed

After adding

CONFIGURE_ENV+=         sse2=no sse3=no ssse3=no sse4_1=no

or even

CONFIGURE_ENV+=         RTCD_OPTIONS='--disable-sse2 --disable-sse3 --disable-ssse3 --disable-sse4_1'

to the Makefile, and configure agreeing to this

Configuring for target 'x86-solaris-gcc'
  enabling x86
  enabling runtime_cpu_detect
  enabling mmx
  enabling sse
  enabling avx
  enabling avx2

(i.e. sse2 et.al. are missing from this list), the error remains. Is this an upstream problem that the VP9 code simply does not care for the configure options to not use these instruction sets?

>How-To-Repeat:

>Fix:

>Release-Note:

>Audit-Trail:

Responsible-Changed-From-To: pkg-manager->ryoon
Responsible-Changed-By: obache@NetBSD.org
Responsible-Changed-When: Sat, 11 Jan 2014 11:08:49 +0000
Responsible-Changed-Why:
Over to maintainer.


From: "Ryo ONODERA" <ryoon@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/48508 CVS commit: pkgsrc/multimedia/libvpx
Date: Wed, 15 Jan 2014 05:53:52 +0000

 Module Name:	pkgsrc
 Committed By:	ryoon
 Date:		Wed Jan 15 05:53:52 UTC 2014

 Modified Files:
 	pkgsrc/multimedia/libvpx: Makefile

 Log Message:
 Fix PR pkg/48508: Fix build under NetBSD 5 and Solaris 10

 * Use GNU tr from sysutils/coreutils for Solaris 10
 * GCC 4.4 or later and newer binutils (gas) is required to compile
   ssse3 code.


 To generate a diff of this commit:
 cvs rdiff -u -r1.34 -r1.35 pkgsrc/multimedia/libvpx/Makefile

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

State-Changed-From-To: open->feedback
State-Changed-By: ryoon@NetBSD.org
State-Changed-When: Wed, 15 Jan 2014 05:58:49 +0000
State-Changed-Why:
Please cvs update and try again. Thank you.


From: =?ISO-8859-15?Q?J=F6rn_Clausen?= <joern.clausen@uni-bielefeld.de>
To: gnats-bugs@NetBSD.org
Cc: ryoon@NetBSD.org, pkgsrc-bugs@NetBSD.org, gnats-admin@NetBSD.org
Subject: Re: pkg/48508 (problems building multimedia/libvpx on Solaris 10)
Date: Mon, 20 Jan 2014 13:51:35 +0100

 First of all:

 ===> Install binary package of binutils-2.24
 pkg_add: Conflicting PLIST with gdb-6.2.1nb7: info/bfd.info
 pkg_add: 1 package addition failed


 But mainly: binutils is IMVHO a no-go on Solaris 10. Although gas will 
 probably work, ld will cause nothing but trouble, /usr/ccs/bin/ld is the 
 only way to go.

 I am totally okay with disabling the problematic code in libvpx that 
 uses SSE3 on Solaris 10. Or disabling the use of libvpx in gd, which is 
 for me the only package depending on libvpx.

 -- 
   Jörn Clausen                             joern.clausen@uni-bielefeld.de
   Hochschulrechenzentrum                 http://www.uni-bielefeld.de/hrz/
   Universität Bielefeld

From: Ryo ONODERA <ryo_on@yk.rim.or.jp>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: pkg/48508 (problems building multimedia/libvpx on Solaris 10)
Date: Mon, 20 Jan 2014 22:38:33 +0900 (JST)

 From: J=F6rn Clausen <joern.clausen@uni-bielefeld.de>, Date: Mon, 20 Ja=
 n 2014 13:51:35 +0100

 > First of all:
 > =

 > =3D=3D=3D> Install binary package of binutils-2.24
 > pkg_add: Conflicting PLIST with gdb-6.2.1nb7: info/bfd.info
 > pkg_add: 1 package addition failed

 gdb or binutils should be fixed.
 This is not specific to Solaris 10.

 > But mainly: binutils is IMVHO a no-go on Solaris 10. Although gas wil=
 l
 > probably work, ld will cause nothing but trouble, /usr/ccs/bin/ld is
 > the only way to go.
 > =

 > I am totally okay with disabling the problematic code in libvpx that
 > uses SSE3 on Solaris 10. Or disabling the use of libvpx in gd, which
 > is for me the only package depending on libvpx.

 I have no idea about gd.
 I am negative to disable SSSE3 code for Solaris 10.

 --
 Ryo ONODERA // ryo_on@yk.rim.or.jp
 PGP fingerprint =3D 82A2 DC91 76E0 A10A 8ABB  FD1B F404 27FA C7D1 15F3

From: Ryo ONODERA <ryo_on@yk.rim.or.jp>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: pkg/48508 (problems building multimedia/libvpx on Solaris 10)
Date: Mon, 20 Jan 2014 22:45:38 +0900 (JST)

 From: Ryo ONODERA <ryo_on@yk.rim.or.jp>, Date: Mon, 20 Jan 2014 22:38:3=
 3 +0900 (JST)

 > From: J=F6rn Clausen <joern.clausen@uni-bielefeld.de>, Date: Mon, 20 =
 Jan 2014 13:51:35 +0100
 > =

 >> First of all:
 >> =

 >> =3D=3D=3D> Install binary package of binutils-2.24
 >> pkg_add: Conflicting PLIST with gdb-6.2.1nb7: info/bfd.info
 >> pkg_add: 1 package addition failed
 > =

 > gdb or binutils should be fixed.
 > This is not specific to Solaris 10.
 > =

 >> But mainly: binutils is IMVHO a no-go on Solaris 10. Although gas wi=
 ll
 >> probably work, ld will cause nothing but trouble, /usr/ccs/bin/ld is=

 >> the only way to go.

 Under my Solaris 10 environment, I have no gdb from pkgsrc and
 I can compile libvpx with binutils from pkgsrc.

 Could you explain your environment in detail?
 For example, I have problem in gmake in Solaris 10,
 but you have no problem about gmake.
 I want to know the difference between yours and mine.

 I have no access to Solaris 10 environment now.
 I will write about my Solaris 10 environment later.

 >> I am totally okay with disabling the problematic code in libvpx that=

 >> uses SSE3 on Solaris 10. Or disabling the use of libvpx in gd, which=

 >> is for me the only package depending on libvpx.
 > =

 > I have no idea about gd.
 > I am negative to disable SSSE3 code for Solaris 10.

 --
 Ryo ONODERA // ryo_on@yk.rim.or.jp
 PGP fingerprint =3D 82A2 DC91 76E0 A10A 8ABB  FD1B F404 27FA C7D1 15F3

From: Jens Rehsack <sno@NetBSD.org>
To: gnats-bugs@NetBSD.org
Cc: ryoon@NetBSD.org,
 gnats-admin@netbsd.org,
 pkgsrc-bugs@netbsd.org,
 joern.clausen@uni-bielefeld.de,
 Jonathan Perkin <jperkin@joyent.com>
Subject: Re: pkg/48508 (problems building multimedia/libvpx on Solaris 10)
Date: Sun, 9 Feb 2014 13:06:49 +0100

 Hi,

 I currently run into GCC_REQD=3D4.4 in multimedia/libvpx because of =
 pkg/48508 ...
 as a dependency of editors/emacs (in an experiment for RHEL5).

 Since I dislike building pkgsrc gcc=92s without good reason (sse3 for a =
 remote
 emacs isn=92t), and I don=92t see any option - I disabled the =
 requirement and it
 seems to me multimedia/libvpx builds fine.

 For Solaris I recommend to have a look how SmartOS has solved the issue =
 (IIRC
 they build with a dedicated gcc4.7 which can be separated between build- =
 and
 runtime parts) and for all other OS I strongly disagree to enable GCC =
 over all.

 I have no clue how it behaves when this package encounters an =
 environment with
 clang, xlc, acc or SunPro ...

 Anyway - blind adding new requirements is IMHO a mistake.

 Cheers,
 Sno
 --=20
 Jens Rehsack
 pkgsrc, Perl5
 sno@NetBSD.org

From: "Matthias Scheler" <tron@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/48508 CVS commit: pkgsrc/multimedia/libvpx
Date: Fri, 16 May 2014 18:57:03 +0000

 Module Name:	pkgsrc
 Committed By:	tron
 Date:		Fri May 16 18:57:03 UTC 2014

 Modified Files:
 	pkgsrc/multimedia/libvpx: Makefile

 Log Message:
 Remove duplicate fix for PR pkg/48508, in particular the flavour which
 enforces GCC 4.4 under Mac OS X which is not required to build this.


 To generate a diff of this commit:
 cvs rdiff -u -r1.46 -r1.47 pkgsrc/multimedia/libvpx/Makefile

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

State-Changed-From-To: feedback->open
State-Changed-By: dholland@NetBSD.org
State-Changed-When: Sun, 23 Nov 2014 01:31:46 +0000
State-Changed-Why:
Feedback happened months ago.


State-Changed-From-To: open->feedback
State-Changed-By: dholland@NetBSD.org
State-Changed-When: Sun, 23 Nov 2014 01:31:58 +0000
State-Changed-Why:
however: is this fixed now?


State-Changed-From-To: feedback->closed
State-Changed-By: wiz@NetBSD.org
State-Changed-When: Tue, 09 Dec 2014 13:06:48 +0000
State-Changed-Why:
Jörn is content with my change from today making libvpx optional in gd.


>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.