diff --git a/python/tvm/_ffi/_cython/base.pxi b/python/tvm/_ffi/_cython/base.pxi
index b84391648f356d19fed2a6ab9a6f314220f777aa..c027c723de0872371e2889685b8febd86e742fcd 100644
--- a/python/tvm/_ffi/_cython/base.pxi
+++ b/python/tvm/_ffi/_cython/base.pxi
@@ -64,8 +64,8 @@ ctypedef int (*TVMPackedCFunc)(
 ctypedef void (*TVMPackedCFuncFinalizer)(void* resource_handle)
 
 cdef extern from "tvm/runtime/c_runtime_api.h":
-    void TVMAPISetLastError(const char* msg);
-    const char *TVMGetLastError();
+    void TVMAPISetLastError(const char* msg)
+    const char *TVMGetLastError()
     int TVMFuncCall(TVMFunctionHandle func,
                     TVMValue* arg_values,
                     int* type_codes,
diff --git a/python/tvm/_ffi/_cython/function.pxi b/python/tvm/_ffi/_cython/function.pxi
index 7cadf22a1cc79f1ccf043750ae60c493b57bc786..50f89a5f4aaac927b93dcfa7770647dd813a8092 100644
--- a/python/tvm/_ffi/_cython/function.pxi
+++ b/python/tvm/_ffi/_cython/function.pxi
@@ -74,10 +74,10 @@ def convert_to_tvm_func(object pyfunc):
     return ret
 
 
-cdef inline void make_arg(object arg,
-                          TVMValue* value,
-                          int* tcode,
-                          list temp_args):
+cdef inline int make_arg(object arg,
+                         TVMValue* value,
+                         int* tcode,
+                         list temp_args) except -1:
     """Pack arguments into c args tvm call accept"""
     cdef unsigned long long ptr
     if isinstance(arg, NodeBase):
@@ -152,6 +152,7 @@ cdef inline void make_arg(object arg,
         temp_args.append(arg)
     else:
         raise TypeError("Don't know how to handle type %s" % type(arg))
+    return 0
 
 cdef inline bytearray make_ret_bytes(void* chandle):
     handle = ctypes_handle(chandle)