* 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).