Here is a patch which can fix the issue.

>From e42b22f74c2f04a4d8e7eec0a6bdacbd08bebf12 Mon Sep 17 00:00:00 2001
From: Chunyang Xu <m...@xuchunyang.me>
Date: Mon, 3 Apr 2017 14:46:51 +0800
Subject: [PATCH] ob-C: Fix remote executing

* lisp/ob-C.el (org-babel-C-execute): Process remote bin file.

TINYCHANGE
---
 lisp/ob-C.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lisp/ob-C.el b/lisp/ob-C.el
index 795bcb2b7..e54e17492 100644
--- a/lisp/ob-C.el
+++ b/lisp/ob-C.el
@@ -161,7 +161,7 @@ or `org-babel-execute:C++' or `org-babel-execute:D'."
 	   (org-babel-eval
 	    (pcase org-babel-c-variant
 	      ((or `c `cpp)
-	       (concat tmp-bin-file cmdline))
+	       (concat (org-babel-process-file-name tmp-bin-file) cmdline))
 	      (`d
 	       (format "%s %s %s %s"
 		       org-babel-D-compiler
-- 
2.12.0

Chunyang Xu writes:

> Hi.
>
> My computer is running Mac OS, I would like to run some C code from my
> VPS which is running GNU/Linux Ubuntu. For example,
>
> #+BEGIN_SRC C :dir /ssh:xuchunyang.me:
> puts("Hello, World!");
> #+END_SRC
>
> but when I execute this code block with C-c C-c, it popups *Org-Babel
> Error Output* and here is its contents
>
> /bin/sh: 1: /ssh:xuchunyang.me:/tmp/C-bin-18285iKe: not found
>
> However, the file does exist and produce the desired output
>
> #+BEGIN_SRC sh :dir /ssh:xuchunyang.me:
> /tmp/C-bin-18285U4c
> #+END_SRC
>
> #+RESULTS:
> | Hello | World! |

Reply via email to