Quantcast
Channel: R.NET
Viewing all articles
Browse latest Browse all 1634

New Post: R multiple version exists in a machine - The procedure entry point R_Cstackdir - error

$
0
0
Suryansu,
I am able to reproduce the issue locally using the latest R.Net sources and R-3.0.2 by inappropriatly configuring R_HOME as a sytem environment variable.

1) If I do not set R_HOME, and I do not have any R folder paths in my system or user path (eg: C:\Program Files\R\R-3.0.2) then the application works correctly.
If I set R_HOME to a private path, such as C:\R\R-3.1.1\, the the R engine in the installed folder (R-3.0.2) attempts to load extension dlls from the C:\R\R-3.1.1 folder which is why the symbol for the stack direction cannot be found (CStackDir).

2) Yes, you can do this. Given I have an installed version of R-3.1.1 and a local build of R-3.0.2, I can cause R.Net to replace temporarily the default environment settings by using REngine.SetEnvironmentVariables as shown below.
class Program
{
    static void Main(string[] args)
    {
        //Thi first argument puts the bin folder on the path and the second sets R_HOME
        REngine.SetEnvironmentVariables(@"C:\R\R-3.0.2\bin\i386", @"C:\R\R-3.0.2");
        using (var engine = REngine.GetInstance())
        {
            engine.Evaluate("print('hello')");
            Console.ReadKey();
        }
    }
}


Viewing all articles
Browse latest Browse all 1634

Trending Articles