:37:17: missing terminating " character
To: None <tech-pkg@NetBSD.org>
From: Klaus Heinz <k.heinz.apr.vier@onlinehome.de>
List: tech-pkg
Date: 04/26/2004 00:47:58
grant beattie wrote:
> On Sun, Apr 25, 2004 at 02:18:34AM +0200, Klaus Heinz wrote:
>
> > The problem is "-DLINK_LIBGCC_SPEC=\"%D "". I haven't yet found where this
> > goes wrong,
>
> it is caused by mk/buildlink3/logic rev 1.6, which, imo, should be
> backed out until it is fixed properly - it is breaking many packages.
My findings so far (for the build of gcc3-c):
The macro definition
-DLINK_LIBGCC_SPEC="%D -R/usr/pkg/gcc3/lib"
gets transformed by the execution of $BUILDLINK_DIR/bin/.logic-trans.
This calls $BUILDLINK_DIR/bin/.quotearg
"-DLINK_LIBGCC_SPEC=\"%D -R/usr/pkg/gcc3/lib\""
and then applies all the sed expressions in $BUILDLINK_DIR/bin/.transform.sed,
with the (wrong) result:
"-DLINK_LIBGCC_SPEC=\"%D ""
^^^
.transform.sed contains the expressions
s|-I/[^ `"':;,]*||g
s|-L/[^ `"':;,]*||g
s|-Wl,--rpath-link,/[^ `"':;,]*||g
s|-Wl,--rpath,/[^ `"':;,]*||g
s|-Wl,-rpath-link,/[^ `"':;,]*||g
s|-Wl,-rpath,/[^ `"':;,]*||g
s|-Wl,-R/[^ `"':;,]*||g
s|-R/[^ `"':;,]*||g
which are most likely the result of "r:/" in the variable
${_BLNK_TRANSFORM} when $BUILDLINK_DIR/bin/.gen-transform is called in
bsd.buildlink3.mk.
"r:/" comes from line 971 of bsd.buildlink3.mk rev 1.140.
Since there is no backslash in the character class [...] the \ in front of "
is removed.
I am unsure whether adding \\ to the list of separator characters (_sep)
in gen-transform.sh is the correct solution. It sure helps with getting
gcc3-c compiled.
ciao
Klaus