X-Spam-Check-By: sourceware.org Date: Wed, 21 Feb 2007 11:43:50 -0500 (EST) From: Igor Peshansky Reply-To: cygwin AT cygwin DOT com To: moka AT hol DOT gr cc: cygwin AT cygwin DOT com Subject: Re: gracebat runs in X, but not as a system call from a perl script In-Reply-To: <1172047813.45dc07c528fc4@easymail-old.hol.gr> Message-ID: References: <1172047813 DOT 45dc07c528fc4 AT easymail-old DOT hol DOT gr> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com On Wed, 21 Feb 2007, moka wrote: > I do startxwin to open X and then do > gracebat > this does what I want, namely produce a jpeg file > > Now if I try this for a perl script(run from X) > system(gracebat ) > > i.e. the exact same line that produced the right result > I get an error. > > I guess the reason is that I am using the activestate perl instead of the > cygwin > perl; anyway there were reasons for that, not sure if valid or not[the reason > was getting DBD::Oracle to work, which was a huge pain]. > So I guess "system" to perl is whatever system Activestate was installed for, > i.e. Windows. > The question is: > Is it possible to get around this? > Can I tweak the system command so that it executes gracebat(but > otherwise use Activestate, e.g. for Oracle DBI queries? As the package list shows (I don't have grace installed), gracebat is a symlink. A Windows program like ActiveState Perl will not understand Cygwin's symlinks (nor will it run a shell script, since it uses cmd as its shell). The easiest thing you can do is invoke a Cygwin shell (bash, sh, pdksh, etc) and let it run the command. That way, no matter what the command is (an executable, or a symlink, or a shell script), the shell will interpret it for you and invoke it properly. Be careful with quoting -- you may want to use the list form of system()... Igor -- http://cs.nyu.edu/~pechtcha/ |\ _,,,---,,_ pechtcha AT cs DOT nyu DOT edu | igor AT watson DOT ibm DOT com ZZZzz /,`.-'`' -. ;-;;,_ Igor Peshansky, Ph.D. (name changed!) |,4- ) )-,_. ,\ ( `'-' old name: Igor Pechtchanski '---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow! Freedom is just another word for "nothing left to lose"... -- Janis Joplin -- 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/