diff --git a/cellframe-sdk b/cellframe-sdk
index e79d51990e85a470b2bed6783c246d569682281e..afab14ca1306587aec29ecf03e8d808932c4d7e8 160000
--- a/cellframe-sdk
+++ b/cellframe-sdk
@@ -1 +1 @@
-Subproject commit e79d51990e85a470b2bed6783c246d569682281e
+Subproject commit afab14ca1306587aec29ecf03e8d808932c4d7e8
diff --git a/dap-sdk b/dap-sdk
index 9dcfc3fb330cb79e55c3753c23e5b41e6d8be294..39daa66fbe8cebb7aa87a0abe149239a54465524 160000
--- a/dap-sdk
+++ b/dap-sdk
@@ -1 +1 @@
-Subproject commit 9dcfc3fb330cb79e55c3753c23e5b41e6d8be294
+Subproject commit 39daa66fbe8cebb7aa87a0abe149239a54465524
diff --git a/sources/cellframe-node.c b/sources/cellframe-node.c
index 9f1ca536857fa8000b237490d0a75db9208c49be..0a37adbc51d1bbc0d5f73617d45805cf48f075db 100755
--- a/sources/cellframe-node.c
+++ b/sources/cellframe-node.c
@@ -126,17 +126,27 @@
 
 #define MEMPOOL_URL "/mempool"
 #define MAIN_URL "/"
-
+const char *dap_node_version();
 static int s_proc_running_check(const char *a_path);
 
-extern int errno;
-
 #ifdef DAP_OS_ANDROID
 #include "dap_app_cli.h"
 #include <android/log.h>
 #include <jni.h>
 #endif
 
+#ifndef BUILD_HASH
+#define BUILD_HASH "0000000" // 0000000 means uninitialized
+#endif
+
+#ifndef BUILD_TS
+#define BUILD_TS "undefined"
+#endif
+
+const char *dap_node_version() {
+    return "CellframeNode, " DAP_VERSION ", " BUILD_TS ", " BUILD_HASH;
+}
+
 void set_global_sys_dir(const char *dir)
 {
     g_sys_dir_path = dap_strdup(dir);
@@ -617,16 +627,4 @@ int s_proc_running_check(const char *a_path) {
     fflush(l_pidfile);
     return lockf(fileno(l_pidfile), F_TLOCK, sizeof(pid_t));
 #endif
-}
-
-#ifndef BUILD_HASH
-#define BUILD_HASH "0000000" // 0000000 means uninitialized
-#endif
-
-#ifndef BUILD_TS
-#define BUILD_TS "undefined"
-#endif
-
-const char *dap_node_version() {
-    return "CellframeNode, " DAP_VERSION ", " BUILD_TS ", " BUILD_HASH;
 }
\ No newline at end of file