$ uname -a
Darwin Molly.local 13.0.0 Darwin Kernel Version 13.0.0: Thu Sep 19 22:22:27 PDT 2013; root:xnu-2422.1.72~6/RELEASE_X86_64 x86_64
$ make
cc -Wall -Werror -c -o mp3_check.o mp3_check.c
cc -Wall -Werror -c -o mp3_check_misc.o mp3_check_misc.c
In file included from mp3_check_misc.c:11:
./support_functions.h:493:76: error: format specifies type 'long' but the argument has type 'int' [-Werror,-Wformat]
printf("%-20s%1ld.%02lds\n", "USER_TIME", process_usage.ru_utime.tv_sec, process_usage.ru_utime.tv_usec / 10000);
~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%02d
./support_functions.h:494:75: error: format specifies type 'long' but the argument has type 'int' [-Werror,-Wformat]
printf("%-20s%1ld.%02lds\n", "SYS_TIME", process_usage.ru_stime.tv_sec, process_usage.ru_stime.tv_usec / 10000);
~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%02d
./support_functions.h:683:32: error: format specifies type 'int' but the argument has type 'unsigned long' [-Werror,-Wformat]
printf("%-20s%d\n", "BinLen", strlen(mp3_i->BIN_STRING));
~~ ^~~~~~~~~~~~~~~~~~~~~~~~~
%lu
3 errors generated.
From all appearances the types of these arguments differ depending on your system. You can make those compiler errors go away by removing the -Wall and -Werror flags in the Makefile. That was enough to get it to compile for me on my linux box, but that won't allow it to compile on a mac.
With those flags removed it will then complain about what is apparently a linker error. This can be fixed by removing the "inline" in mp3_check_misc.c:673.