* passing LC_ALL environment variable to org export call
@ 2014-09-26 9:14 Johannes Rainer
2014-09-26 13:56 ` Rasmus
0 siblings, 1 reply; 5+ messages in thread
From: Johannes Rainer @ 2014-09-26 9:14 UTC (permalink / raw)
To: emacs-orgmode
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!
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: passing LC_ALL environment variable to org export call
2014-09-26 9:14 passing LC_ALL environment variable to org export call Johannes Rainer
@ 2014-09-26 13:56 ` Rasmus
2014-09-29 10:54 ` Johannes Rainer
0 siblings, 1 reply; 5+ messages in thread
From: Rasmus @ 2014-09-26 13:56 UTC (permalink / raw)
To: emacs-orgmode
Hi Johannes,
Johannes Rainer <johannes.rainer@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.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: passing LC_ALL environment variable to org export call
2014-09-26 13:56 ` Rasmus
@ 2014-09-29 10:54 ` Johannes Rainer
2014-09-29 12:06 ` Rasmus
0 siblings, 1 reply; 5+ messages in thread
From: Johannes Rainer @ 2014-09-29 10:54 UTC (permalink / raw)
To: Rasmus; +Cc: emacs-orgmode
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 <rasmus@gmx.us> wrote:
> Hi Johannes,
>
> Johannes Rainer <johannes.rainer@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.
>
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: passing LC_ALL environment variable to org export call
2014-09-29 10:54 ` Johannes Rainer
@ 2014-09-29 12:06 ` Rasmus
2014-09-29 12:51 ` Johannes Rainer
0 siblings, 1 reply; 5+ messages in thread
From: Rasmus @ 2014-09-29 12:06 UTC (permalink / raw)
To: emacs-orgmode
Johannes Rainer <johannes.rainer@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?
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: passing LC_ALL environment variable to org export call
2014-09-29 12:06 ` Rasmus
@ 2014-09-29 12:51 ` Johannes Rainer
0 siblings, 0 replies; 5+ messages in thread
From: Johannes Rainer @ 2014-09-29 12:51 UTC (permalink / raw)
To: Rasmus; +Cc: emacs-orgmode
On 29 Sep 2014, at 14:06, Rasmus <rasmus@gmx.us> wrote:
> Johannes Rainer <johannes.rainer@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?
>
>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2014-09-29 12:52 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-09-26 9:14 passing LC_ALL environment variable to org export call Johannes Rainer
2014-09-26 13:56 ` Rasmus
2014-09-29 10:54 ` Johannes Rainer
2014-09-29 12:06 ` Rasmus
2014-09-29 12:51 ` Johannes Rainer
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).