X-Spam-Check-By: sourceware.org Message-ID: <1172127807.45dd403f54ad1@easymail-old.hol.gr> Date: Thu, 22 Feb 2007 09:03:27 +0200 From: moka AT hol DOT gr To: cygwin AT cygwin DOT com Cc: ""@hol.gr Subject: Re: gracebat runs in X, but not as a system call from a perl script References: <1172047813 DOT 45dc07c528fc4 AT easymail-old DOT hol DOT gr> In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-7 Content-Transfer-Encoding: 8bit User-Agent: Internet Messaging Program (IMP) 3.2.2 X-Virus-Status: Clean X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: 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 Note sure I understand what the bash solution is: I do startxwin to open an X-session, then I do bash and then run perl myscript.pl This stumbles on the same problem So if I understand you correctly, replacing "gracebat" by "C:\path_to_gracebat.exe\gracebat"(which cmd.exe would presumably understand) would work? > 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/ > > -- 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/