delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2007/02/21/15:24:51

X-Spam-Check-By: sourceware.org
X-YMail-OSG: H7lhJ70VM1nnXUpiym8hy0_NMsew7FfnaCK_hs47bDjBQAMCpuYmmFDbuPj5LxRdk1xKZCnli3LFqUGHKryjOo.hQRk.fAJep5hRZWMptdmq68fg07WAlxyakjhy9gtWFckXGTky9uuYR4E-
X-Mailer: YahooMailRC/368.8 YahooMailWebService/0.6.132.8
Date: Wed, 21 Feb 2007 12:24:17 -0800 (PST)
From: Mark Charney <mark_charney AT yahoo DOT com>
Subject: parens in PATH break tcsh /etc/profile.d init for xorg and lapack
To: cygwin AT cygwin DOT com
MIME-Version: 1.0
Message-ID: <472946.24106.qm@web51012.mail.yahoo.com>
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id l1LKOak7003454

Hello,

Having parentheses in the PATH environment variable appears to confuse 2 of the scripts that get run during tcsh initialization:



              /etc/profile.d/00xorg-x11-base.csh    and

              /etc/profile.d/lapack.csh

This comes up when, for example,  one uses MSVS8 x64. It includes PATH environment variable components that have parentheses in the PATH, such as:

    /cygdrive/c/Program Files (x86)/Microsoft Visual Studio 8/VC/bin/amd64

 

If one sources either of the above mentioned  /etc/profile.d files when the PATH environment variable contains a left parenthesis, then one gets the following error:

     Badly placed ()'s

These /etc/profile.d scripts get sourced in a for-loop by /etc/csh.cshrc when tcsh starts up.

The offending idiom in both of these files uses double quotes. I think the fix is to use single quotes instead.

For example in the 00xorg-x11-base.csh file:
Bad:
  # Check if path is already in PATH
  eval "/bin/echo ${PATH} | /bin/grep -q /usr/X11R6/bin"

Good:
  eval '/bin/echo ${PATH} | /bin/grep -q /usr/X11R6/bin'

And similarly in the lapack.csh file:
Bad:
  eval "/bin/echo ${PATH} | /bin/grep -q ${LA_BINDIR}"
Good:
  eval '/bin/echo ${PATH} | /bin/grep -q ${LA_BINDIR}'

This is not a new problem. It has been around for at least a year, I think. I just got sufficiently motivated to mention it when I had to install cygwin on a bunch of machines.

----

More detail on the above:


% setenv PATH /bin
% source 00xorg-x11-base.csh 
% echo $PATH
/usr/X11R6/bin:/bin

% setenv PATH '/bin:/:/cygdrive/c/Program Files (x86)/Microsoft Visual Studio 8/VC/bin/amd64'
% echo $PATH
/bin:/:/cygdrive/c/Program Files (x86)/Microsoft Visual Studio 8/VC/bin/amd64
% source 00xorg-x11-base.csh                     
Badly placed ()'s.
 




 
____________________________________________________________________________________
Do you Yahoo!?
Everyone is raving about the all-new Yahoo! Mail beta.
http://new.mail.yahoo.com

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019