From mboxrd@z Thu Jan 1 00:00:00 1970 From: Richard Stanton Subject: Re: Problems running C code in org-mode under Windows Date: Tue, 27 Mar 2012 13:43:16 -0700 Message-ID: <40C7B1BFC291ED4E9D10436D07736A334702EB988A@EXMAIL7.haas.uc.berkeley.edu> References: <40C7B1BFC291ED4E9D10436D07736A334702B60A32@EXMAIL7.haas.uc.berkeley.edu> <87bonikeaw.fsf@gmx.com> <40C7B1BFC291ED4E9D10436D07736A334702B60B3A@EXMAIL7.haas.uc.berkeley.edu> <87r4wec9lg.fsf@gmx.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([208.118.235.92]:53618) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SCdEk-0003P1-Ha for emacs-orgmode@gnu.org; Tue, 27 Mar 2012 16:43:28 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SCdEi-0005yA-5X for emacs-orgmode@gnu.org; Tue, 27 Mar 2012 16:43:26 -0400 Received: from gateway-a.haas.berkeley.edu ([128.32.222.29]:42195) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SCdEh-0005xj-Sq for emacs-orgmode@gnu.org; Tue, 27 Mar 2012 16:43:24 -0400 In-Reply-To: <87r4wec9lg.fsf@gmx.com> Content-Language: en-US List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Eric Schulte Cc: "emacs-orgmode@gnu.org" I think the "Access is denied" problem is probably the same as that listed = here: http://lists.gnu.org/archive/html/help-gnu-emacs/2010-04/msg00247.html Unfortunately, when I switch to using bash as my shell under Windows, this = causes problems with python-mode (though this is not really your problem...= ) This change does get the compilation to work on my machine, however, and = a .exe file is created. So far so good... However, the output still appears blank in the org buffer. More tracing req= uired... > -----Original Message----- > From: Eric Schulte [mailto:eric.schulte@gmx.com] > Sent: Tuesday, March 27, 2012 9:06 AM > To: Richard Stanton > Cc: emacs-orgmode@gnu.org > Subject: Re: [O] Problems running C code in org-mode under Windows >=20 > Thanks for tracking down the source of this problem. Unfortunately this = is > beyond my abilities to address. It would be interesting to hear if other= s on > this list are having issues compiling C code blocks on windows. To the e= xtent > that this appears to be a problem with the Emacs `call-process' and the > cmdproxy executable maybe a bug report to Emacs would be appropriate. >=20 > Best, >=20 > Richard Stanton writes: >=20 > > I've been tracing through, and a problem occurs when the compilation > > gets run, which is at about line 155 in file ob-eval.el, inside > > function org-babel-shell-command-on-region, where call-process region > > is called. > > > > As far as I can see, at this point the command being called is > > > > C:/emacs/emacs-24.0.94/bin/cmdproxy -c "gcc -o \"c:/users/stanton[...]C= - > bin-10700opx\" \"c:/users/Stanton[...]C-src-10700bfr.c\"" > > > > (where [...] just means I deleted some more path information, but it's = all > valid). > > > > If I execute this exact command at the command line, the compilation > > works fine, and creates an executable file C-bin-10700opx.exe (note > > that gcc on Windows automatically adds the .exe extension if you omit > > it). However, after running the call-process-region command in the .el > > file, no executable file is produced, and error-file has the contents > > > > Access is denied > > > > Not sure why this should be, but the compilation is not happening. > > > > > > > > > > > >> -----Original Message----- > >> From: Eric Schulte [mailto:eric.schulte@gmx.com] > >> Sent: Monday, March 26, 2012 6:45 PM > >> To: Richard Stanton > >> Cc: emacs-orgmode@gnu.org > >> Subject: Re: [O] Problems running C code in org-mode under Windows > >> > >> Richard Stanton writes: > >> > >> > Here's a simple org file that's supposed to run some C code and > >> > print the > >> result: > >> > > >> > ---------------------- > >> > > >> > * Sample C code > >> > > >> > #+name: RHS.c > >> > #+begin_src C :noweb yes :tangle RHS.c > >> > #include > >> > <
> > >> > #+end_src > >> > > >> > #+name: main > >> > #+begin_src C > >> > int main(int argc, char *argv[]) { > >> > int lst[argc-1]; > >> > int i; > >> > for(i=3D1;i >> > lst[i-1] =3D atoi(argv[i]); > >> > for(i=3D1;i >> > printf("%d ", lst[i-1] + 1); > >> > printf("\n"); > >> > } > >> > #+end_src > >> > > >> > #+call: RHS.c[:cmdline 8 7 6]() > >> > > >> > ------------------------- > >> > > >> > It works fine on my Mac, producing the result: > >> > > >> > #+RESULTS: RHS.c[:cmdline 8 7 6]() > >> > : 9 8 7 > >> > > >> > On my PC, however, running Windows Vista, the output is blank and > >> > there's a *Org-babel-error-output* buffer containing the message > >> > > >> > Access is denied. > >> > 'c:/Users/stanton/AppData/Local/Temp/babel-11948MQP/C-bin- > 11948Nln' > >> is > >> > not recognized as an internal or external command, operable program > >> > or batch file. > >> > > >> > There is a file called C-bin-11948Nln in that directory, but it has > >> > length 0, suggesting that something is going wrong in the > >> > compilation process. However, I can also see potential problems > >> > with the fact that the file name does not end in .exe, so the > >> > Windows shell is not easily going to recognize it as an executable > anyway. > >> > > >> > Does anyone have this running OK under Windows? Alternatively, how > >> > can I track down what's going wrong in more detail? > >> > > >> > Thanks. > >> > > >> > Richard Stanton > >> > > >> > >> I don't have access to a windows machine so I can't debug this > >> myself, but I would suggest stepping through the execution of the `org= - > babel-C-execute' > >> function using edebug. This is done by first placing the cursor > >> inside the `org- babel-C-execute' function, evaluating the function > >> with C-u C-M-x, then executing a C code block. This should give you > >> some idea of what is going wrong where. > >> > >> Best, > >> > >> -- > >> Eric Schulte > >> http://cs.unm.edu/~eschulte/ >=20 > -- > Eric Schulte > http://cs.unm.edu/~eschulte/