diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/REnvVars.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/REnvVars.java index a90120dbf7e9fc3e698cc2e201be9b5de561422f..2ea960149f5af4f24c507ebb2f9feb5437d8b164 100644 --- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/REnvVars.java +++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/REnvVars.java @@ -125,9 +125,14 @@ public class REnvVars { // This can be called before initialize, "R RHOME" if (rHomePath == null) { File file = new File(System.getProperty("user.dir")); - if (file.getName().endsWith("r.test")) { - file = file.getParentFile(); - } + do { + File binR = new File(new File(file, "bin"), "R"); + if (binR.exists()) { + break; + } else { + file = file.getParentFile(); + } + } while (file != null); rHomePath = file.getAbsolutePath(); // Check any external setting is consistent String envRHomePath = getEnvVars().get("R_HOME");