Subject: pkg/36769: shells/zsh: malformed conditional in Makefile
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: Yakovetsky Vladimir <yx@x.ua>
List: pkgsrc-bugs
Date: 08/10/2007 18:30:00
>Number: 36769
>Category: pkg
>Synopsis: Subject: shells/zsh: malformed conditional in Makefile
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: pkg-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Fri Aug 10 18:30:00 +0000 2007
>Originator: Yakovetsky Vladimir
>Release:
>Environment:
System: Linux bres 2.6.21.5 #1 SMP Fri Jul 6 09:48:19 GMT 2007 i686 GNU/Linux
Architecture: i686
>Description:
if ZSH_STATIC=yes, and not defined MKDYNAMICROOT (default on non-netbsd system),
then shells/zsh fails to build.
(reason: malformed conditional in shells/zsh/Makefile.common:43)
>How-To-Repeat:
% uname -s
Linux
% cd /usr/pkgsrc/shells/zsh
% bmake ZSH_STATIC=yes
...
bmake: "../../shells/zsh/../../shells/zsh/Makefile.common" line 43: Malformed conditional (${OPSYS} == "NetBSD" && ${OBJECT_FMT} == "ELF" && defined(MKDYNAMICROOT) && !empty(MKDYNAMICROOT:M[Yy][Ee][Ss]) && exists(${NETBSD_SHLINKER}) && exists(${NETBSD_SHLIBDIR}))
bmake: "../../shells/zsh/../../shells/zsh/Makefile.common" line 57: if-less else
bmake: "../../shells/zsh/../../shells/zsh/Makefile.common" line 57: Need an operator
bmake: "../../shells/zsh/../../shells/zsh/Makefile.common" line 74: if-less endif
bmake: "../../shells/zsh/../../shells/zsh/Makefile.common" line 74: Need an operator
bmake: Fatal errors encountered -- cannot continue
bmake: stopped in /usr/pkgsrc/shells/zsh
>Fix:
--- shells/zsh/Makefile.common.orig
+++ shells/zsh/Makefile.common
@@ -39,8 +39,9 @@
NETBSD_SHLIBDIR= /lib
. if ${OPSYS} == "NetBSD" && ${OBJECT_FMT} == "ELF" && \
- defined(MKDYNAMICROOT) && !empty(MKDYNAMICROOT:M[Yy][Ee][Ss]) && \
+ defined(MKDYNAMICROOT) && \
exists(${NETBSD_SHLINKER}) && exists(${NETBSD_SHLIBDIR})
+. if !empty(MKDYNAMICROOT:M[Yy][Ee][Ss])
#
# Built a dynamically linked "zsh" binary on NetBSD systems which use
# dynamically linked binaries on the root filesystem. The binary will
@@ -51,6 +52,9 @@
BUILDLINK_PASSTHRU_RPATHDIRS+= ${NETBSD_SHLIBDIR}
LDFLAGS+= -Wl,-dynamic-linker=${NETBSD_SHLINKER} -Wl,-R${NETBSD_SHLIBDIR}
+. else
+LDFLAGS+= -static
+. endif
. else
LDFLAGS+= -static
. endif