pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pkg/31463: workaround for gcc optimizer problem with pkgsrc/security/gnupg



>Number:         31463
>Category:       pkg
>Synopsis:       workaround for gcc optimizer problem with pkgsrc/security/gnupg
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Oct 04 14:28:00 +0000 2005
>Originator:     Geert Hendrickx
>Release:        2.1_RC1
>Organization:
>Environment:
NetBSD cantine.cmi.ua.ac.be 2.1_RC1 NetBSD 2.1_RC1 (GENERIC.MP) #0: Fri Aug 26 
15:04:51 CEST 2005  geert@mantis:/cvs/obj/sys/arch/sparc/compile/GENERIC.MP 
sparc
>Description:
security/gnupg has a build problem on sparc when you use any -mcpu 
optimization flag, as was already described in this thread: 
http://mail-index.netbsd.org/port-sparc/2004/12/19/0001.html 
>How-To-Repeat:
with CFLAGS=-pipe -mcpu=supersparc set in /etc/mk.conf, the build breaks: 

Making all in checks
gmake[2]: Entering directory `/usr/pkgsrc/ghen/gnupg/work/gnupg-1.4.2/checks'
echo '#!/bin/sh' >./gpg_dearmor
echo "../g10/gpg --no-options --no-greeting \
             --no-secmem-warning --batch --dearmor" >>./gpg_dearmor
chmod 755 ./gpg_dearmor
./gpg_dearmor > ./pubring.gpg < ./pubring.asc
./gpg_dearmor > ./secring.gpg < ./secring.asc
./gpg_dearmor > ./plain-1 < ./plain-1o.asc
./gpg_dearmor > ./plain-2 < ./plain-2o.asc
./gpg_dearmor > ./plain-3 < ./plain-3o.asc
./gpg_dearmor > ./pubring.pkr < ./pubring.pkr.asc
./gpg_dearmor > ./secring.skr < ./secring.skr.asc
../tools/mk-tdata   500  >data-500
../tools/mk-tdata  9000  >data-9000
../tools/mk-tdata 32000  >data-32000
../tools/mk-tdata 80000  >data-80000
cat ./../doc/HACKING \
    ./../doc/DETAILS \
    ./../doc/FAQ         >plain-large
../g10/gpg --homedir . --quiet --yes --no-permission-warning --import 
./pubdemo.asc      
gpg: key 68697734: no valid user IDs
gpg: key 1AFDAB6C: no valid user IDs
gpg: key FAEF6D1B: no valid user IDs
gpg: key 8FC282E6: no valid user IDs
gpg: key 04259677: no valid user IDs
gpg: key 43C2D0C7: no valid user IDs
gpg: key A9E3B0B2: no valid user IDs
gpg: key EB9DC9E6: no valid user IDs
gpg: key 7372E243: no valid user IDs
gpg: key 34C6E3F1: no valid user IDs
gpg: key D2699313: no valid user IDs
gpg: key B79103F8: no valid user IDs
gpg: key BE5CF886: no valid user IDs
gpg: key 30CEC684: no valid user IDs
gpg: key 6D9732AC: no valid user IDs
gpg: key 3FF13206: no valid user IDs
gpg: key 3C661C84: no valid user IDs
gpg: key 777FBED3: no valid user IDs
gpg: key A3AE3EA1: no valid user IDs
gpg: key 85A81F38: no valid user IDs
gpg: key 653244D6: no valid user IDs
gpg: key 61F04784: no valid user IDs
gpg: key EC67DBDE: no valid user IDs
gpg: key 567FB34A: no valid user IDs
gpg: key 4B11B25F: no valid user IDs
gpg: key 54ACD246: no valid user IDs
gmake[2]: *** [prepared.stamp] Error 2
gmake[2]: Leaving directory `/usr/pkgsrc/ghen/gnupg/work/gnupg-1.4.2/checks'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/usr/pkgsrc/ghen/gnupg/work/gnupg-1.4.2'
gmake: *** [all] Error 2
*** Error code 2

Stop.
make: stopped in /usr/pkgsrc/ghen/gnupg
===> 
===> There was an error during the ``build'' phase.
===> Please investigate the following for more information:
===>      * log of the build
===>      * /usr/pkgsrc/ghen/gnupg/work/.work.log
===> 
*** Error code 1

Stop.
make: stopped in /usr/pkgsrc/ghen/gnupg


I.e. the build completed but the post-build tests fail.  If you skip the
"checks" step, the binaries can be properly installed but show the same
error all the time.  

I haven't verified this problem (nor its fix) on sparc64 yet.  
>Fix:
This security/gnupg/hacks.mk solves the problem: 

# $NetBS$

.ifndef GNUPG_HACKS_MK
GNUPG_HACKS_MK=         #defined

### workaround for a GCC optimizer bug on sparc:
### drop any -mcpu flag
###
.if ${MACHINE_ARCH} == "sparc"
PKG_HACKS+=             mcpu
BUILDLINK_TRANSFORM+=   rm:-mcpu=.*
.endif

.endif




Home | Main Index | Thread Index | Old Index