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: joernc@gmail.com
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: Tue Jan 29 06:46:53 +0000 2019
>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:
(Contact us)
$NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2007
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.