Re: [O] passing LC_ALL environment variable to org export call

2014-09-29 Thread Johannes Rainer
hi Rasmus,

thanks for your hint. I checked Sys.getenv before and after the failing code, 
but LC_ALL was always properly set. I’m afraid my problem relates to some Mac 
LLVM and GCC gfortran compiler thing, since I’m using a R version compiled 
against the Mac Accelerate framework (vecLib)… it is just so strange that I 
only get the error in Emacs org-mode upon exporting the org file, but not, if I 
evaluate each code chunk separately.

to set all environment variables I’m using the “exec-path-from-shell” 
extension, so, all environment settings from the shell are available in Emacs.


 
On 26 Sep 2014, at 15:56, Rasmus ras...@gmx.us wrote:

 Hi Johannes,
 
 Johannes Rainer johannes.rai...@gmail.com writes:
 
 I stumbled across a strange problem. I’m using org-mode to perform
 analyses in R and I have one block of R-code in which I use mclapply
 to perform parallel calculations. evaluating this code block using C-c
 C-c works fine, but I get a segfault error when I export the org file.
 
 This has to do something with the LC_ALL environment variable as I can
 reproduce the same error above in R in a terminal after “unset
 LC_ALL”.
 
 Is there a way to pass environment variables to the export call?
 
 Check the two functions `getenv' and `setenv' and the variable
 `org-export-async-init-file'.  You should be able to cook something
 up.
 
 It sound like there's an issue with your system-setup.  I'd look into
 that before.
 
 Hope it helps,
 Rasmus
 
 -- 
 Lasciate ogni speranza, voi che leggete questo.
 
 




Re: [O] passing LC_ALL environment variable to org export call

2014-09-29 Thread Rasmus
Johannes Rainer johannes.rai...@gmail.com writes:

 thanks for your hint. I checked Sys.getenv before and after the
 failing code, but LC_ALL was always properly set. I’m afraid my
 problem relates to some Mac LLVM and GCC gfortran compiler thing,
 since I’m using a R version compiled against the Mac Accelerate
 framework (vecLib)… it is just so strange that I only get the error in
 Emacs org-mode upon exporting the org file, but not, if I evaluate
 each code chunk separately.

But are you using .C, .Fortran or Rcpp in your code-block?  If not,
why would your compilers matter?  (I'm not an expert on R internals,
so my comment may be naïve).

As a short turn solution try to add this to the top of your file

#+PROPERTY: session *R*

These days you might even get away with just 

#+PROPERTY: session

I'm not sure.  This should run your code from the same session.

[This should be equivalent to adding :session to babel blocks, but
 check the manual if it ain't working]

 to set all environment variables I’m using the “exec-path-from-shell”
 extension, so, all environment settings from the shell are available
 in Emacs.

Are you exporting async or normally?  If async, do you get the error
when exporting normally?

—Rasmus

-- 
Hvor meget poesi tror De kommer ud af et glas isvand?




Re: [O] passing LC_ALL environment variable to org export call

2014-09-29 Thread Johannes Rainer

On 29 Sep 2014, at 14:06, Rasmus ras...@gmx.us wrote:

 Johannes Rainer johannes.rai...@gmail.com writes:
 
 thanks for your hint. I checked Sys.getenv before and after the
 failing code, but LC_ALL was always properly set. I’m afraid my
 problem relates to some Mac LLVM and GCC gfortran compiler thing,
 since I’m using a R version compiled against the Mac Accelerate
 framework (vecLib)… it is just so strange that I only get the error in
 Emacs org-mode upon exporting the org file, but not, if I evaluate
 each code chunk separately.
 
 But are you using .C, .Fortran or Rcpp in your code-block?  If not,
 why would your compilers matter?  (I'm not an expert on R internals,
 so my comment may be naïve).
 

no I’m not using .C in the code-block, the code block contains only R-code, 
however, one of the R functions is using (like most R functions) either C or 
fortran code to do the actual calculation. I suspect the loess function in R 
causing the problem and that this function uses some code from the optimized 
BLAS (i.e. library for numeric calculation) library from Apple (i.e. the 
Accelerate, or vecLib framework). 
So, if I run the code (exporting the org buffer to latex) in parallel 
processing mode I get a segfault. the same without parallel processing is fine. 
Strangely enough, the code block evaluated (C-c C-c) in parallel processing 
mode runs also fine. also, if I tangle the R-code and run the R-code in R it 
also works fine. It just doesn’t with org-mode export...

so, in the end I give up. I think there is some very mystic thing going on. I 
also tried to understand what the difference between org-mode export and 
org-mode eval is... without success. I thought that the R-process is somehow 
started differently, but that doesn’t seem to be the case.


 As a short turn solution try to add this to the top of your file
 
 #+PROPERTY: session *R*
 
 These days you might even get away with just 
 
 #+PROPERTY: session
 
 I'm not sure.  This should run your code from the same session.
 
 [This should be equivalent to adding :session to babel blocks, but
 check the manual if it ain't working]
 
 to set all environment variables I’m using the “exec-path-from-shell”
 extension, so, all environment settings from the shell are available
 in Emacs.
 
 Are you exporting async or normally?  If async, do you get the error
 when exporting normally?
 
 —Rasmus
 
 -- 
 Hvor meget poesi tror De kommer ud af et glas isvand?
 
 




[O] passing LC_ALL environment variable to org export call

2014-09-26 Thread Johannes Rainer
dear all,

I stumbled across a strange problem. I’m using org-mode to perform analyses in 
R and I have one block of R-code in which I use mclapply to perform parallel 
calculations. evaluating this code block using C-c C-c works fine, but I get a 
segfault error when I export the org file.

This has to do something with the LC_ALL environment variable as I can 
reproduce the same error above in R in a terminal after “unset LC_ALL”.

Is there a way to pass environment variables to the export call?

thanks!


Re: [O] passing LC_ALL environment variable to org export call

2014-09-26 Thread Rasmus
Hi Johannes,

Johannes Rainer johannes.rai...@gmail.com writes:

 I stumbled across a strange problem. I’m using org-mode to perform
 analyses in R and I have one block of R-code in which I use mclapply
 to perform parallel calculations. evaluating this code block using C-c
 C-c works fine, but I get a segfault error when I export the org file.

 This has to do something with the LC_ALL environment variable as I can
 reproduce the same error above in R in a terminal after “unset
 LC_ALL”.

 Is there a way to pass environment variables to the export call?

Check the two functions `getenv' and `setenv' and the variable
`org-export-async-init-file'.  You should be able to cook something
up.

It sound like there's an issue with your system-setup.  I'd look into
that before.

Hope it helps,
Rasmus

-- 
Lasciate ogni speranza, voi che leggete questo.