Unix C code transplant to Linux
<p>I have a C program that is compiled and run successfully on the Unix .Now I need to compile it in Suse(a kind of Linux).Unfortunately,it have many errors when compile as following lists:</p>

<pre><code>In file included from /usr/include/stdio.h:37,
                 from /si/usr/hrl/gdetsdev/include/arch/err.h:24,
                 from err.c:52:
/usr/lib64/gcc/x86_64-suse-linux/4.3/include/stddef.h:214: error：expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘typedef’
In file included from /usr/include/stdio.h:78,
                 from /si/usr/hrl/gdetsdev/include/arch/err.h:24,
                 from err.c:52:
/usr/include/libio.h:332: error：expected specifier-qualifier-list before ‘size_t’
/usr/include/libio.h:364: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/libio.h:373: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/libio.h:495: error：expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘_IO_sgetn’
In file included from /si/usr/hrl/gdetsdev/include/arch/err.h:24,
                 from err.c:52:
/usr/include/stdio.h:301: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/stdio.h:307: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/stdio.h:319: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/stdio.h:326: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/stdio.h:368: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/stdio.h:372: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/stdio.h:644: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/stdio.h:647: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/stdio.h:657: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/stdio.h:687: error：expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘fread’
/usr/include/stdio.h:693: error：expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘fwrite’
/usr/include/stdio.h:715: error：expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘fread_unlocked’
/usr/include/stdio.h:717: error：expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘fwrite_unlocked’
In file included from /si/usr/hrl/gdetsdev/include/arch/err.h:25,
                 from err.c:52:
/usr/include/stdlib.h:140: error：expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘__ctype_get_mb_cur_max’
In file included from /si/usr/hrl/gdetsdev/include/arch/err.h:25,
                 from err.c:52:
/usr/include/stdlib.h:337: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/stdlib.h:367: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/stdlib.h:471: error：expected ‘)’ before ‘__size’
/usr/include/stdlib.h:473: error：expected ‘)’ before ‘__nmemb’
/usr/include/stdlib.h:485: error：expected declaration specifiers or ‘...’ before ‘size_t’
In file included from /usr/include/stdlib.h:497,
                 from /si/usr/hrl/gdetsdev/include/arch/err.h:25,
                 from err.c:52:
/usr/include/alloca.h:33: error：expected ‘)’ before ‘__size’
In file included from /si/usr/hrl/gdetsdev/include/arch/err.h:25,
                 from err.c:52:
/usr/include/stdlib.h:502: error：expected ‘)’ before ‘__size’
/usr/include/stdlib.h:507: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/stdlib.h:507: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/stdlib.h:751: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/stdlib.h:751: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/stdlib.h:756: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/stdlib.h:756: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/stdlib.h:834: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/stdlib.h:837: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/stdlib.h:841: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/stdlib.h:845: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/stdlib.h:854: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/stdlib.h:858: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/stdlib.h:865: error：expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘mbstowcs’
/usr/include/stdlib.h:868: error：expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘wcstombs’
In file included from /si/usr/hrl/gdetsdev/include/arch/err.h:26,
                 from err.c:52:
/usr/include/string.h:44: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/string.h:48: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/string.h:57: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/string.h:64: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/string.h:67: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/string.h:94: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/string.h:131: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/string.h:139: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/string.h:145: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/string.h:152: error：expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘strxfrm’
In file included from /si/usr/hrl/gdetsdev/include/arch/err.h:26,
                 from err.c:52:
/usr/include/string.h:167: error：expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘strxfrm_l’
/usr/include/string.h:181: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/string.h:282: error：expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘strcspn’
/usr/include/string.h:286: error：expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘strspn’
/usr/include/string.h:397: error：expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘strlen’
/usr/include/string.h:404: error：expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘strnlen’
/usr/include/string.h:425: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/string.h:449: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/string.h:453: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/string.h:457: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/string.h:460: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/string.h:538: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/string.h:575: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/string.h:578: error：expected declaration specifiers or ‘...’ before ‘size_t’
In file included from /si/usr/hrl/gdetsdev/include/arch/err.h:27,
                 from err.c:52:
/usr/include/unistd.h:357: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/unistd.h:363: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/unistd.h:507: error：expected declaration specifiers or ‘...’ before ‘size_t’
In file included from /si/usr/hrl/gdetsdev/include/arch/err.h:27,
                 from err.c:52:
/usr/include/unistd.h:618: error：expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘confstr’
/usr/include/unistd.h:790: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/unistd.h:826: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/unistd.h:837: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/unistd.h:873: error：expected declaration specifiers or ‘...’ before ‘size_t’
In file included from /si/usr/hrl/gdetsdev/include/arch/err.h:27,
                 from err.c:52:
/usr/include/unistd.h:895: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/unistd.h:902: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/unistd.h:913: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/unistd.h:915: error：expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/unistd.h:933: error：expected declaration specifiers or ‘...’ before ‘size_t‘
......
</code></pre>

<p>It also remained that there are too many arguments to function(like 'memset','strncpy'and so on).
I don't kown does is caused by the different between UNIX and Linux.Does anybody tell me what should I take attentions where I try to compile a C program on the Linux?
Thanks.</p>