diff --git a/ui/build/sandbox_linux.go b/ui/build/sandbox_linux.go index 4c3bac307..98eb028a8 100644 --- a/ui/build/sandbox_linux.go +++ b/ui/build/sandbox_linux.go @@ -19,6 +19,7 @@ import ( "os" "os/exec" "os/user" + "path/filepath" "strings" "sync" ) @@ -75,9 +76,20 @@ func (c *Cmd) sandboxSupported() bool { sandboxConfig.group = "nobody" } + // These directories will be bind mounted + // so we need full non-symlink paths sandboxConfig.srcDir = absPath(c.ctx, ".") + if derefPath, err := filepath.EvalSymlinks(sandboxConfig.srcDir); err == nil { + sandboxConfig.srcDir = absPath(c.ctx, derefPath) + } sandboxConfig.outDir = absPath(c.ctx, c.config.OutDir()) + if derefPath, err := filepath.EvalSymlinks(sandboxConfig.outDir); err == nil { + sandboxConfig.outDir = absPath(c.ctx, derefPath) + } sandboxConfig.distDir = absPath(c.ctx, c.config.DistDir()) + if derefPath, err := filepath.EvalSymlinks(sandboxConfig.distDir); err == nil { + sandboxConfig.distDir = absPath(c.ctx, derefPath) + } sandboxArgs := []string{ "-H", "android-build",