diff --git a/CMakeLists.txt b/CMakeLists.txt
old mode 100644
new mode 100755
index 8f689ded5668970b03b39fdce756a5027044298f..eb4b01fd89578a2f97d44cacc1d97f1b63908165
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -21,6 +21,12 @@ set(DAP_CHAIN_NET_HEADERS
         dap_chain_node_remote.h
     )
 
+#if (ANDROID)
+#    set(DAP_CHAIN_NET_HEADERS ${DAP_CHAIN_NET_HEADERS}
+#        android/ifaddrs-android.h
+#    )
+#endif()
+
 set(IPUTILS_INCLUDE_DIRS
      iputils/traceroute/
     )
@@ -45,8 +51,6 @@ if(WIN32)
   add_definitions ("-D_POSIX_THREAD_SAFE_FUNCTIONS")
   add_definitions ("-DNODE_NETNAME=\"cellframe\"")
   include_directories(../libdap/src/win32/)
-  include_directories(../3rdparty/libmemcached/)
-  include_directories(../3rdparty/libmemcached/win32/)
   include_directories(../3rdparty/wepoll/include/)
   include_directories(../3rdparty/uthash/src/)
   include_directories(../3rdparty/libjson-c/)
@@ -61,7 +65,7 @@ if(WIN32)
 endif()
 
 if(UNIX)
-  target_link_libraries(dap_chain_net dap_core dap_crypto dap_client dap_stream_ch_chain dap_chain_gdb dap_stream_ch_chain_net dap_chain dap_chain_crypto dap_chain_wallet dap_chain_net_srv dap_chain_net_srv_vpn dap_chain_mempool dap_chain_global_db -lresolv)
+  target_link_libraries(dap_chain_net dap_core dap_crypto dap_client dap_stream_ch_chain dap_chain_gdb dap_stream_ch_chain_net dap_chain dap_chain_crypto dap_chain_wallet dap_chain_net_srv dap_chain_net_srv_vpn dap_chain_mempool dap_chain_global_db)
 endif()
 
 target_include_directories(dap_chain_net INTERFACE . PUBLIC ${IPUTILS_INCLUDE_DIRS})
diff --git a/dap_chain_net.c b/dap_chain_net.c
old mode 100644
new mode 100755
index 54b24eb00d3565703f6be75ea435ae2ae96e32ef..9fda000d9d70f7cc7cc1972b4bebf59770eda358
--- a/dap_chain_net.c
+++ b/dap_chain_net.c
@@ -1247,7 +1247,7 @@ int s_net_load(const char * a_net_name)
 
                     l_node_info->hdr.address.uint64 = l_seed_node_addr->uint64;
                     if ( l_node_info->hdr.ext_addr_v4.s_addr ||
-                            l_node_info->hdr.ext_addr_v6.__in6_u.__u6_addr32[0] ){
+                            l_node_info->hdr.ext_addr_v6.s6_addr32[0] ){
                         int l_ret;
                         if ( (l_ret = dap_chain_node_info_save(l_net, l_node_info)) ==0 ){
                             if (dap_chain_node_alias_register(l_net,PVT(l_net)->seed_aliases[i],l_seed_node_addr))
diff --git a/dap_chain_node_cli.c b/dap_chain_node_cli.c
old mode 100644
new mode 100755
index fb50694a15f3f002d9580cb2ff5fcb38bcb976ff..d7cab8822a0ead75a85fdb43633ee7886424b7c1
--- a/dap_chain_node_cli.c
+++ b/dap_chain_node_cli.c
@@ -763,7 +763,7 @@ int dap_chain_node_cli_init(dap_config_t * g_config)
 #ifndef _WIN32
     struct sockaddr_un l_server_addr={0};
     l_server_addr.sun_family =  AF_UNIX;
-    snprintf(l_server_addr.sun_path,sizeof(l_server_addr.sun_path), dap_config_get_item_str( g_config, "conserver", "listen_unix_socket_path") );
+    snprintf(l_server_addr.sun_path,sizeof(l_server_addr.sun_path), "%s", dap_config_get_item_str( g_config, "conserver", "listen_unix_socket_path") );
 #else
    pthread_t threadId;
 #endif
diff --git a/iputils/iputils.c b/iputils/iputils.c
old mode 100644
new mode 100755
index 7d73d1a085a7ed2686740c4eb5f84e35b843a65b..263590139c76977ee7e4f7ce37800825fd27e542
--- a/iputils/iputils.c
+++ b/iputils/iputils.c
@@ -41,7 +41,7 @@ int log_printf(const char *format, ...)
         if(log_str)
         {
 
-            ret = printf(log_str);
+            ret = printf("%s", log_str);
             DAP_DELETE(log_str);
         }
     }
diff --git a/iputils/tracepath.c b/iputils/tracepath.c
old mode 100644
new mode 100755
index bb9d329a9ae94d6daeb7dc80f5a5e118af0c0b0d..2dce76420ca7396496ba18068819f85011b0a0a7
--- a/iputils/tracepath.c
+++ b/iputils/tracepath.c
@@ -12,6 +12,7 @@
 #include <arpa/inet.h>
 #include <errno.h>
 #include <limits.h>
+#include <time.h>
 #include <linux/errqueue.h>
 #include <linux/icmp.h>
 #include <linux/icmpv6.h>
diff --git a/iputils/traceroute/flowlabel.h b/iputils/traceroute/flowlabel.h
old mode 100644
new mode 100755
index af5a65ae28c349c193388ca719ee2563d579b591..e6241c4f8e9cdd00558ffd3494cfe1b5d40a1c80
--- a/iputils/traceroute/flowlabel.h
+++ b/iputils/traceroute/flowlabel.h
@@ -6,7 +6,7 @@
    conflicts with "netinet/in.h" .
 */
 
-struct in6_flowlabel_req
+struct in6_flowlabel_req_
 {
 	struct in6_addr	flr_dst;
 	__u32	flr_label;
diff --git a/iputils/traceroute/traceroute.c b/iputils/traceroute/traceroute.c
old mode 100644
new mode 100755
index 40a5d2489eb8bfd4885cd7313f80324b0a3e4445..8f0ec111330e3be9a0b8e42a365ed3eb4361584b
--- a/iputils/traceroute/traceroute.c
+++ b/iputils/traceroute/traceroute.c
@@ -1204,7 +1204,7 @@ void tune_socket(int sk) {
             error("setsockopt IPV6_MTU_DISCOVER");
 
         if(flow_label) {
-            struct in6_flowlabel_req flr;
+            struct in6_flowlabel_req_ flr;
 
             memset(&flr, 0, sizeof(flr));
             flr.flr_label = htonl(flow_label & 0x000fffff);