Subject: pkg/36233: security/libgcrypt fails to build on NetBSD/hp700 (fix included)
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <dhgutteridge@sympatico.ca>
List: pkgsrc-bugs
Date: 04/28/2007 16:15:01
>Number:         36233
>Category:       pkg
>Synopsis:       security/libgcrypt fails to build on NetBSD/hp700 (fix included)
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Apr 28 16:15:00 +0000 2007
>Originator:     David H. Gutteridge
>Release:        NetBSD/hp700 4.99.17
>Organization:
>Environment:
NetBSD arcusiv.nonus-porta.net 4.99.17 NetBSD 4.99.17 (GENERIC) #0: Sun Apr 22 01:08:04 PDT 2007  builds@wb25:/home/builds/ab/HEAD/hp700/200704220002Z-obj/home/builds/ab/HEAD/src/sys/arch/hp700/compile/GENERIC hp700

>Description:
The security/libgcrypt package fails to build on NetBSD/hp700 because
the make file has assembly code inclusion disabled, and the build ends
up in a state where it's missing a function definition.

Making all in tests
if cc -DHAVE_CONFIG_H -I. -I. -I.. -I../src   -I/usr/pkg/include -I/usr/include -I/usr/pkg/include -O2 -march=1.1 -mschedule=7300 -pipe -I/usr/pkg/include -I/usr/include -Wall -MT prime.o -MD -MP -MF ".deps/prime.Tpo" -c -o prime.o prime.c;  then mv -f ".deps/prime.Tpo" ".deps/prime.Po"; else rm -f ".deps/prime.Tpo"; exit 1; fi
/bin/sh ../libtool --tag=CC --mode=link cc -I/usr/pkg/include -O2 -march=1.1 -mschedule=7300 -pipe -I/usr/pkg/include -I/usr/include -Wall   -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -L/usr/lib -Wl,-R/usr/lib -o prime  prime.o ../src/libgcrypt.la 
mkdir .libs
cc -I/usr/pkgsrc/security/libgcrypt/work/.buildlink/include -O2 -march=1.1 -mschedule=7300 -pipe -Wall -Wl,-R/usr/pkg/lib -o .libs/prime prime.o  -L/usr/pkgsrc/security/libgcrypt/work/.buildlink/lib ../src/.libs/libgcrypt.so /usr/pkgsrc/security/libgcrypt/work/.buildlink/lib/libgpg-error.so -lintl -Wl,--rpath -Wl,/usr/pkg/lib -Wl,--rpath -Wl,/usr/pkgsrc/security/libgcrypt/work/.buildlink/lib
../src/.libs/libgcrypt.so: undefined reference to `__udiv_qrnnd'

[wrapper.sh] note: The real command line, after the pkgsrc wrapper, was:
/usr/pkgsrc/security/libgcrypt/work/.gcc/bin/gcc -I/usr/pkgsrc/security/libgcrypt/work/.buildlink/include -O2 -march=1.1 -mschedule=7300 -pipe -Wall -Wl,-R/usr/pkg/lib -o .libs/prime prime.o -L/usr/pkgsrc/security/libgcrypt/work/.buildlink/lib ../src/.libs/libgcrypt.so -Wl,--rpath,/usr/pkg/lib  -lgpg-error -lintl

[wrapper.sh] note: The real command line, after the pkgsrc wrapper, was:
/usr/pkg/bin/libtool --tag=CC --mode=link cc -I/usr/pkgsrc/security/libgcrypt/work/.buildlink/include -O2 -march=1.1 -mschedule=7300 -pipe -Wall -L/usr/pkgsrc/security/libgcrypt/work/.buildlink/lib -Wl,-R/usr/pkg/lib -o prime prime.o ../src/libgcrypt.la 
*** Error code 1

Stop.
make: stopped in /usr/pkgsrc/security/libgcrypt/work/libgcrypt-1.2.4/tests
*** Error code 1


>How-To-Repeat:
Build security/libgcrypt on an hp700 machine.
>Fix:
There are at least two ways to fix this.  I suggest we make use of the
optimized PA-RISC assembly code they provide, like so:

--- Makefile.orig       2007-04-20 08:00:00.000000000 +0000
+++ Makefile    2007-04-26 04:32:10.000000000 +0000
@@ -24,7 +24,8 @@
 
 .if empty(MACHINE_PLATFORM:MNetBSD-*-i386) && \
     empty(MACHINE_PLATFORM:MNetBSD-*-alpha) && \
-    empty(MACHINE_PLATFORM:MNetBSD-*-sparc) 
+    empty(MACHINE_PLATFORM:MNetBSD-*-sparc) && \
+    empty(MACHINE_PLATFORM:MNetBSD-*-hppa)
 CONFIGURE_ARGS+=       --disable-asm
 .endif