Subject: Re: XFree86-clients and :37:17: missing terminating " character
To: None <>
From: Klaus Heinz <>
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:


.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
"r:/" comes from line 971 of 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 is the correct solution. It sure helps with getting
gcc3-c compiled.