Subject: Re: pkg/34677
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: Magnus Henoch <henoch@dtek.chalmers.se>
List: pkgsrc-bugs
Date: 12/25/2006 23:15:04
The following reply was made to PR pkg/34677; it has been noted by GNATS.
From: Magnus Henoch <henoch@dtek.chalmers.se>
To: gnats-bugs@netbsd.org
Cc:
Subject: Re: pkg/34677
Date: Tue, 26 Dec 2006 00:12:17 +0100
I have found a fix that doesn't involve libtool. The error message
was about relocation type 10, which is RELOC_REL24 according to
reloc.h. After compiling liboil, I find:
~/noarchive/src/liboil-0.3.10/liboil $ objdump -R .libs/liboil-0.3.so | grep -v R_PPC_RELATIVE
.libs/liboil-0.3.so: file format elf32-powerpc
DYNAMIC RELOCATION RECORDS
OFFSET TYPE VALUE
00044e34 R_PPC_REL24 _vec_memcpy
00044fe8 R_PPC_REL24 _vec_memset
00083e64 R_PPC_ADDR32 __cxa_finalize
00083e70 R_PPC_ADDR32 __deregister_frame_info
[...and much more...]
vec_memcpy and vec_memset are in the liboil/motovec subdirectory,
written in assembly language. Figuring out why this happens and how
to fix it is above me, but simply disabling compilation of the motovec
subdirectory seems to "fix" the problem.
New patch-ad:
---
$NetBSD$
--- liboil/Makefile.am.orig 2006-11-05 03:14:42.000000000 +0100
+++ liboil/Makefile.am
@@ -37,8 +37,8 @@ endif
if HAVE_POWERPC
if HAVE_GCC_ASM
-SUBDIRS += powerpc motovec
-libs += powerpc/libpowerpc.la motovec/libmotovec.la
+SUBDIRS += powerpc #motovec
+libs += powerpc/libpowerpc.la #motovec/libmotovec.la
if HAVE_ASM_BLOCKS
SUBDIRS += powerpc_asm_blocks
libs += powerpc/libpowerpc_asm_blocks.la
---
Patch to pkgsrc Makefile:
--- Makefile 25 Nov 2006 10:13:54 +0100 1.10
+++ Makefile 25 Dec 2006 23:36:04 +0100
@@ -30,4 +30,9 @@
SUBST_SED.solaris= -e 's,<stdint\.h>,<inttypes.h>,'
.endif
+USE_TOOLS+= automake autoconf
+
+pre-configure:
+ cd ${WRKSRC}; automake && autoconf
+
.include "../../mk/bsd.pkg.mk"
(automake is necessary; I'm not sure if autoconf is)