Mac OS complied have more warning information...

My OS is : 
Darwin yuchaodeMacBook-Pro.local 13.3.0 Darwin Kernel Version 13.3.0: Tue Jun  3 21:27:35 PDT 2014; root:xnu-2422.110.17~1/RELEASE_X86_64 x86_64
=====================================================
GCC : Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn)
Target: x86_64-apple-darwin13.3.0
Thread model: posix
=====================================================
java version "1.7.0_60"
Java(TM) SE Runtime Environment (build 1.7.0_60-b19)
Java HotSpot(TM) 64-Bit Server VM (build 24.60-b09, mixed mode)
=====================================================

/Users/yuchao/Downloads/otp_src_17.1/lib/erl_interface/include/ei.h:495:32: note: passing argument to parameter
      'buf' here
int ei_decode_long(const char *buf, int *index, long *p);
                               ^
odbcserver.c:1728:24: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'const char *'
      converts between pointers to integer types with different sign [-Wpointer-sign]
            if(ei_decode_long(buffer, index, &l64)) {
                              ^~~~~~
/Users/yuchao/Downloads/otp_src_17.1/lib/erl_interface/include/ei.h:495:32: note: passing argument to parameter
      'buf' here
int ei_decode_long(const char *buf, int *index, long *p);
                               ^
odbcserver.c:1746:23: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'const char *'
      converts between pointers to integer types with different sign [-Wpointer-sign]
            ei_decode_double(buffer, index, &(param->values.floating[j]));
                             ^~~~~~
/Users/yuchao/Downloads/otp_src_17.1/lib/erl_interface/include/ei.h:497:34: note: passing argument to parameter
      'buf' here
int ei_decode_double(const char *buf, int *index, double *p);
                                 ^
odbcserver.c:2204:20: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'const char *'
      converts between pointers to integer types with different sign [-Wpointer-sign]
    ei_decode_long(buffer, index, &user_type);
                   ^~~~~~
/Users/yuchao/Downloads/otp_src_17.1/lib/erl_interface/include/ei.h:495:32: note: passing argument to parameter
      'buf' here
int ei_decode_long(const char *buf, int *index, long *p);
                               ^
odbcserver.c:2242:17: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'const char *'
      converts between pointers to integer types with different sign [-Wpointer-sign]
        ei_decode_long(buffer, index, &precision);
                       ^~~~~~
/Users/yuchao/Downloads/otp_src_17.1/lib/erl_interface/include/ei.h:495:32: note: passing argument to parameter
      'buf' here
int ei_decode_long(const char *buf, int *index, long *p);
                               ^
odbcserver.c:2243:17: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'const char *'
      converts between pointers to integer types with different sign [-Wpointer-sign]
        ei_decode_long(buffer, index, &scale);
                       ^~~~~~
/Users/yuchao/Downloads/otp_src_17.1/lib/erl_interface/include/ei.h:495:32: note: passing argument to parameter
      'buf' here
int ei_decode_long(const char *buf, int *index, long *p);
                               ^
odbcserver.c:2266:17: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'const char *'
      converts between pointers to integer types with different sign [-Wpointer-sign]
        ei_decode_long(buffer, index, &length);
                       ^~~~~~
/Users/yuchao/Downloads/otp_src_17.1/lib/erl_interface/include/ei.h:495:32: note: passing argument to parameter
      'buf' here
int ei_decode_long(const char *buf, int *index, long *p);
                               ^
odbcserver.c:2289:17: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'const char *'
      converts between pointers to integer types with different sign [-Wpointer-sign]
        ei_decode_long(buffer, index, &length);
                       ^~~~~~
/Users/yuchao/Downloads/otp_src_17.1/lib/erl_interface/include/ei.h:495:32: note: passing argument to parameter
      'buf' here
int ei_decode_long(const char *buf, int *index, long *p);
                               ^
odbcserver.c:2312:17: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'const char *'
      converts between pointers to integer types with different sign [-Wpointer-sign]
        ei_decode_long(buffer, index, &length);
                       ^~~~~~
/Users/yuchao/Downloads/otp_src_17.1/lib/erl_interface/include/ei.h:495:32: note: passing argument to parameter
      'buf' here
int ei_decode_long(const char *buf, int *index, long *p);
                               ^
odbcserver.c:2344:20: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'const char *'
      converts between pointers to integer types with different sign [-Wpointer-sign]
    ei_decode_long(buffer, index, &in_or_out);
                   ^~~~~~
/Users/yuchao/Downloads/otp_src_17.1/lib/erl_interface/include/ei.h:495:32: note: passing argument to parameter
      'buf' here
int ei_decode_long(const char *buf, int *index, long *p);
                               ^
odbcserver.c:2524:14: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'const char *'
      converts between pointers to integer types with different sign [-Wpointer-sign]
        ei_get_type(buffer, index, &erl_type, &size);
                    ^~~~~~
/Users/yuchao/Downloads/otp_src_17.1/lib/erl_interface/include/ei.h:483:29: note: passing argument to parameter
      'buf' here
int ei_get_type(const char *buf, const int *index, int *type, int *size);
                            ^
odbcserver.c:2528:28: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'const char *'
      converts between pointers to integer types with different sign [-Wpointer-sign]
            ei_decode_list_header(buffer, index, &size);
                                  ^~~~~~
/Users/yuchao/Downloads/otp_src_17.1/lib/erl_interface/include/ei.h:512:39: note: passing argument to parameter
      'buf' here
int ei_decode_list_header(const char *buf, int *index, int *arity);
                                      ^
odbcserver.c:2531:25: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'const char *'
      converts between pointers to integer types with different sign [-Wpointer-sign]
        ei_decode_tuple_header(buffer, index, &size);
                               ^~~~~~
/Users/yuchao/Downloads/otp_src_17.1/lib/erl_interface/include/ei.h:511:40: note: passing argument to parameter
      'buf' here
int ei_decode_tuple_header(const char *buf, int *index, int *arity);
                                       ^
odbcserver.c:2535:24: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'const char *'
      converts between pointers to integer types with different sign [-Wpointer-sign]
        ei_decode_list_header(buffer, index, &size);
                              ^~~~~~
/Users/yuchao/Downloads/otp_src_17.1/lib/erl_interface/include/ei.h:512:39: note: passing argument to parameter
      'buf' here
int ei_decode_list_header(const char *buf, int *index, int *arity);
                                      ^
odbcserver.c:2542:21: warning: passing 'byte *' (aka 'unsigned char *') to parameter of type 'const char *'
      converts between pointers to integer types with different sign [-Wpointer-sign]
            ei_decode_long(buffer, index, &dummy);
                           ^~~~~~
/Users/yuchao/Downloads/otp_src_17.1/lib/erl_interface/include/ei.h:495:32: note: passing argument to parameter
      'buf' here
int ei_decode_long(const char *buf, int *index, long *p);
                               ^
odbcserver.c:2672:16: warning: assigning to 'byte *' (aka 'unsigned char *') from 'char *' converts between
      pointers to integer types with different sign [-Wpointer-sign]
    msg.buffer = dynamic_buffer(state).buff;
               ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~
odbcserver.c:2703:29: warning: passing 'byte [1024]' to parameter of type 'char *' converts between pointers to
      integer types with different sign [-Wpointer-sign]
        msg = encode_error_message(diagnos.error_msg, extended_error(state, diagnos.sqlState), diagnos.n...
                                   ^~~~~~~~~~~~~~~~~
odbcserver.c:1017:49: note: passing argument to parameter 'reason' here
static db_result_msg encode_error_message(char *reason, char *errCode, SQLINTEGER nativeError )
                                                ^
odbcserver.c:2703:48: warning: passing 'SQLCHAR *' (aka 'unsigned char *') to parameter of type 'char *'
      converts between pointers to integer types with different sign [-Wpointer-sign]
        msg = encode_error_message(diagnos.error_msg, extended_error(state, diagnos.sqlState), diagnos.n...
                                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./odbcserver.h:204:45: note: expanded from macro 'extended_error'
#define extended_error(db_state, errorcode) ( extended_errors(state) ? errorcode : NULL )
                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
odbcserver.c:1017:63: note: passing argument to parameter 'errCode' here
static db_result_msg encode_error_message(char *reason, char *errCode, SQLINTEGER nativeError )
                                                              ^
69 warnings generated.