Subject: pkg/29986: lang/ezm3 fails to install on NetBSD/i386 -current
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <mikawa@terra.dti.ne.jp>
List: pkgsrc-bugs
Date: 04/16/2005 08:39:00
>Number: 29986
>Category: pkg
>Synopsis: lang/ezm3 fails to install on NetBSD/i386 -current
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: pkg-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sat Apr 16 08:39:00 +0000 2005
>Originator: Masanori Mikawa
>Release: NetBSD 3.99.3
>Organization:
>Environment:
System: NetBSD raven 3.99.3 NetBSD 3.99.3 (RAVEN) #5: Tue Apr 12 03:10:46 JST 2005 root@raven:/a/usr.obj/sys/arch/i386/compile/RAVEN i386
Architecture: i386
Machine: i386
>Description:
I tried to installing lang/ezm3 package, but it failed at
linking m3bundle program.
>How-To-Repeat:
Do 'make install' on lang/ezm3 pkgsrc subdirectory.
# make install
[ ... ]
---------- building m3bundle in language/modula3/m3tools ----------
/usr/pkgsrc/lang/ezm3/work/ezm3-1.1/src/../boot-NetBSDi386/m3build/NetBSDi386/m3build -T /usr/pkgsrc/lang/ezm3/work/ezm3-1.1/src/../m3config/src -F /usr/pkgsrc/lang/ezm3/work/ezm3-1.1/src/../NetBSDi386/config.tmpl -DUSE_M3DOC=
mkdir NetBSDi386
--- building in NetBSDi386 ---
new source -> compiling ../src/m3bundle.m3
-> linking m3bundle
ld: cannot find -lm3
/usr/pkgsrc/lang/ezm3/work/ezm3-1.1/src/../boot-NetBSDi386/m3ship/NetBSDi386/m3ship -T /usr/pkgsrc/lang/ezm3/work/ezm3-1.1/src/../m3config/src
install: m3bundle: stat: No such file or directory
--- shipping from NetBSDi386 ---
/usr/pkg/ezm3/lib/m3/pkg/m3bundle/NetBSDi386
.M3EXPORTS
.M3IMPTAB
.M3WEB
/usr/pkg/ezm3/bin
m3bundle
m3ship: quake error: quake error: runtime error: install failed with error code: 1
--procedure-- -line- -file---
error -- <builtin>
install_file 501 /usr/pkgsrc/lang/ezm3/work/ezm3-1.1/m3config/src/COMMON
6 /usr/pkgsrc/lang/ezm3/work/ezm3-1.1/language/modula3/m3tools/m3bundle/NetBSDi386/.M3SHIP
m3build: quake error: quake error: runtime error: m3ship failed with error code: 1
--procedure-- -line- -file---
error -- <builtin>
BuildChunk 170 /usr/pkgsrc/lang/ezm3/work/ezm3-1.1/src/m3makefile
PkgInfo 240 /usr/pkgsrc/lang/ezm3/work/ezm3-1.1/src/m3makefile
44 /usr/pkgsrc/lang/ezm3/work/ezm3-1.1/src/PACKAGES
gmake: *** [packages] Error 1
*** Error code 2
Stop.
make: stopped in /usr/pkgsrc/lang/ezm3
*** Error code 1
Stop.
make: stopped in /usr/pkgsrc/lang/ezm3
*** Error code 1
Stop.
make: stopped in /usr/pkgsrc/lang/ezm3
*** Error code 1
Stop.
make: stopped in /usr/pkgsrc/lang/ezm3
>Fix:
The problem occurs so that buildlink system may transform
linkage option.
When m3bundle is installed, m3build starts linking
m3 and m3core libraries from the EZM3ROOT/lib subdirectories
(EZM3ROOT directory is PREFIX/ezm3). But the libraries is
part of the ezm3 package, it doesn't become the object of buildlink.
Therefore, it fails in the link because the libraries doesn't exist
in the WRKSRC/.buildlink directory.
Protects -LEZM3ROOT/lib option from the buildlink transforming.
Apply following patch to lang/ezm3/Makefile.
--- lang/ezm3/Makefile.orig 2004-06-05 02:34:36.000000000 +0900
+++ lang/ezm3/Makefile
@@ -21,6 +21,8 @@ PLIST_SUBST+= TARGET=${TARGET} TARGETDI
.include "../../mk/bsd.prefs.mk"
CFLAGS:=
EZM3ROOT= ${PREFIX}/ezm3
+WRAPPER_TRANSFORM_CMDS+=\
+ transform:L:${EZM3ROOT}/lib:${_BLNK_MANGLE_DIR.${PREFIX}}/${DIST_SUBDIR}/lib
# XXX: This may well work for some others.
ONLY_FOR_PLATFORM= FreeBSD-*-i386 NetBSD-*-i386 Linux-*-i386