NetBSD Problem Report #46739

From www@NetBSD.org  Tue Jul 24 09:19:23 2012
Return-Path: <www@NetBSD.org>
Received: from mail.netbsd.org (mail.netbsd.org [149.20.53.66])
	by www.NetBSD.org (Postfix) with ESMTP id 7E1A463B882
	for <gnats-bugs@gnats.NetBSD.org>; Tue, 24 Jul 2012 09:19:23 +0000 (UTC)
Message-Id: <20120724091921.C96BB63B85F@www.NetBSD.org>
Date: Tue, 24 Jul 2012 09:19:21 +0000 (UTC)
From: joern.clausen@uni-bielefeld.de
Reply-To: joern.clausen@uni-bielefeld.de
To: gnats-bugs@NetBSD.org
Subject: security/gnutls does not build on Solaris 10
X-Send-Pr-Version: www-1.0

>Number:         46739
>Category:       pkg
>Synopsis:       security/gnutls does not build on Solaris 10
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    solaris-pkg-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Jul 24 09:20:00 +0000 2012
>Last-Modified:  Mon Jul 30 12:45:01 +0000 2012
>Originator:     Jörn Clausen
>Release:        
>Organization:
University of Bielefeld
>Environment:
>Description:
security/gnutls does not build out of the box on Solaris 10 using the native assembler:

  CCAS   appro-aes-x86.lo
Assembler: devel/perlasm/aesni-x86.s
        "elf/appro-aes-x86.s", line 2184 : Syntax error
        Near line: ".section .note.GNU-stack,"",%progbits"

After removing the Gnu-specific section in this file (and some others), this construct is not understood by the native assembler:

  CCAS   padlock-x86.lo
Assembler: devel/perlasm/e_padlock-x86.s
        "elf/padlock-x86.s", line 115 : Illegal subtraction - symbols from different sections: ".Lpadlock_saved_context", ".L002verify_pic_point"

As I have no idea how to fix this, I decided to add

CONFIGURE_ARGS+=--disable-hardware-acceleration

to the Makefile. Now this conflict is found:

  CXX    ex-cxx.o
In file included from ../../gl/wchar.h:71:0,
                 from /software/local/gcc/sunos5.10-x64/gcc-4.7.0/bin/../lib/gcc/i386-pc-solaris2.10/4.7.0/../../../../include/c++/4.7.0/cwchar:46,
                 from /software/local/gcc/sunos5.10-x64/gcc-4.7.0/bin/../lib/gcc/i386-pc-solaris2.10/4.7.0/../../../../include/c++/4.7.0/bits/postypes.h:42,
                 from /software/local/gcc/sunos5.10-x64/gcc-4.7.0/bin/../lib/gcc/i386-pc-solaris2.10/4.7.0/../../../../include/c++/4.7.0/iosfwd:42,
                 from /software/local/gcc/sunos5.10-x64/gcc-4.7.0/bin/../lib/gcc/i386-pc-solaris2.10/4.7.0/../../../../include/c++/4.7.0/ios:39,
                 from /software/local/gcc/sunos5.10-x64/gcc-4.7.0/bin/../lib/gcc/i386-pc-solaris2.10/4.7.0/../../../../include/c++/4.7.0/ostream:40,
                 from /software/local/gcc/sunos5.10-x64/gcc-4.7.0/bin/../lib/gcc/i386-pc-solaris2.10/4.7.0/../../../../include/c++/4.7.0/iostream:40,
                 from ex-cxx.cpp:2:
../../gl/stdio.h:1019:1: error: 'char* gets(char*)' conflicts with previous using declaration 'char* std::gets(char*)'

I'm not sure which two definitions conflict here. But as neither the affected source file nor the to-be generated binary get installed, I decided to disable compilation of the examples completely:

--- doc/Makefile.in.orig        2012-06-05 17:10:22.000000000 +0000
+++ doc/Makefile.in
@@ -300,7 +300,7 @@ AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGE
        distdir
 ETAGS = etags
 CTAGS = ctags
-DIST_SUBDIRS = examples cyclo scripts manpages credentials latex \
+DIST_SUBDIRS = cyclo scripts manpages credentials latex \
        reference
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
@@ -1561,7 +1561,7 @@ EXTRA_DIST = TODO certtool.cfg gnutls.pd
        doxygen/Doxyfile.in doxygen/Doxyfile.orig texinfo.css \
        gnutls-guile.pdf gnutls-guile.html stamp_enums stamp_functions \
        $(guile_texi) extract-guile-c-doc.scm
-SUBDIRS = examples cyclo scripts manpages credentials latex \
+SUBDIRS = cyclo scripts manpages credentials latex \
        $(am__append_1)
 SRC_DEF_CLI = $(am__append_2)
 SRC_DEF_CLI_DEBUG = $(am__append_3)
>How-To-Repeat:

>Fix:

>Release-Note:

>Audit-Trail:

Responsible-Changed-From-To: pkg-manager->solaris-pkg-people
Responsible-Changed-By: hauke@NetBSD.org
Responsible-Changed-When: Fri, 27 Jul 2012 09:59:29 +0000
Responsible-Changed-Why:
This is a Solaris issue.


From: Tim Zingelman <zingelman@gmail.com>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: pkg/46739 (security/gnutls does not build on Solaris 10)
Date: Fri, 27 Jul 2012 16:12:44 -0500

 On Fri, Jul 27, 2012 at 4:59 AM,  <hauke@netbsd.org> wrote:
 > Synopsis: security/gnutls does not build on Solaris 10
 >
 > Responsible-Changed-From-To: pkg-manager->solaris-pkg-people
 > Responsible-Changed-By: hauke@NetBSD.org
 > Responsible-Changed-When: Fri, 27 Jul 2012 09:59:29 +0000
 > Responsible-Changed-Why:
 > This is a Solaris issue.

 Can you try this again with the latest gnutls (updated 2 days ago,)
 because I could not reproduce this problem (using gcc46.)

From: =?ISO-8859-1?Q?J=F6rn_Clausen?= <joern.clausen@uni-bielefeld.de>
To: gnats-bugs@NetBSD.org
Cc: Tim Zingelman <zingelman@gmail.com>, solaris-pkg-people@NetBSD.org,
 gnats-admin@NetBSD.org, pkgsrc-bugs@NetBSD.org
Subject: Re: pkg/46739 (security/gnutls does not build on Solaris 10)
Date: Mon, 30 Jul 2012 09:57:33 +0200

 >   Can you try this again with the latest gnutls (updated 2 days ago,)
 >   because I could not reproduce this problem (using gcc46.)

 Nope, both problems are still present for me. You are using binutils?

 BTW: At least the first problem is not specific to Solaris. Everyone not 
 using the GNU assembler should be affected.

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

From: Tim Zingelman <zingelman@gmail.com>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: pkg/46739 (security/gnutls does not build on Solaris 10)
Date: Mon, 30 Jul 2012 07:18:40 -0500

 Hmmm... it appears my gcc46 build is using /usr/sfw/bin/gas I don't
 know how that happened.

 FWIW I do think you patch is reasonable and should be applied if we
 don't find another quick resolution.

From: =?ISO-8859-1?Q?J=F6rn_Clausen?= <joern.clausen@uni-bielefeld.de>
To: gnats-bugs@NetBSD.org
Cc: Tim Zingelman <zingelman@gmail.com>, solaris-pkg-people@NetBSD.org,
 gnats-admin@NetBSD.org, pkgsrc-bugs@NetBSD.org
Subject: Re: pkg/46739 (security/gnutls does not build on Solaris 10)
Date: Mon, 30 Jul 2012 14:42:05 +0200

 >   Hmmm... it appears my gcc46 build is using /usr/sfw/bin/gas I don't
 >   know how that happened.

 Because someone forced you to use it, see lang/gcc46/Makefile:

 # Determine whether to use binutils
 .if ${OPSYS} == "SunOS"
 CONFIGURE_ENV+=         OBJDUMP=/usr/sfw/bin/gobjdump
 CONFIGURE_ARGS+=        --without-gnu-ld --with-ld=/usr/ccs/bin/ld
 . if !exists(/usr/sfw/bin/gas)
 CONFIGURE_ARGS+=        --without-gnu-as --with-as=/usr/ccs/bin/as
 . else
 CONFIGURE_ARGS+=        --with-gnu-as --with-as=/usr/sfw/bin/gas
 . endif
 .endif

 >   FWIW I do think you patch is reasonable and should be applied if we
 >   don't find another quick resolution.

 Someone (i.e. someone with more knowledge about either assembler or TLS 
 than me) should probably take this upstream. Although this is a GNU 
 project, unconditionally confining it to one assembler is a little bit 
 shortsighted.

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

>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.