Ticket #111 (closed defect: fixed)
jabberd-2.1.9 source distribution contain platform specifi characters and C prototype mismatches
| Reported by: | plmogan | Owned by: | smoku |
|---|---|---|---|
| Priority: | major | Component: | c2s |
| Version: | 2.1.13 | Keywords: | |
| Cc: | Tracforge_linkmap: | ||
| Blocking: | Blocked By: |
Description (last modified by smoku) (diff)
In jabberd-2.1.9, many C header and source contains the MSDOS \r\n instead of just \n, thus choking the freely available SUN Studio 11 C compiler. We have to use the SUN Solaris dos2unix -ascii -iso in a shell script to clean up these extra end of line characters to proceed. Then, we ran into ANSI C prototype mismatching problems, as shown below:
"c2s.c", line 218: warning: argument #2 is incompatible with prototype:
prototype: pointer to const unsigned char : "../util/util.h", line 251
argument : pointer to char
"c2s.c", line 236: warning: argument #4 is incompatible with prototype:
prototype: pointer to const unsigned char : "../util/util.h", line 259
argument : pointer to char
"c2s.c", line 277: warning: argument #1 is incompatible with prototype:
prototype: pointer to const char : "/usr/include/iso/string_iso.h", line 69
argument : pointer to const unsigned char
"c2s.c", line 277: warning: argument #2 is incompatible with prototype:
prototype: pointer to const char : "../util/nad.h", line 158
argument : pointer to const unsigned char
"c2s.c", line 445: operands have incompatible types:
pointer to const unsigned char ":" pointer to char
"c2s.c", line 552: warning: argument #1 is incompatible with prototype:
prototype: pointer to const char : "/usr/include/iso/string_iso.h", line 64
argument : pointer to unsigned char
"c2s.c", line 891: warning: argument #2 is incompatible with prototype:
prototype: pointer to char : "unknown", line 0
argument : pointer to unsigned char
"c2s.c", line 941: warning: argument #3 is incompatible with prototype:
prototype: pointer to const char : "../sx/sx.h", line 172
argument : pointer to const unsigned char
cc: acomp failed for c2s.c
make[2]: *** [c2s-c2s.o] Error 2
make[2]: Leaving directory `/src/network/sources/jabberd-2.1.9/c2s'
The configure generated Makefiles for both c2s and sm seems to assume that everyone is using GCC, thus the GCC specific -export-dynamic is used in Makefiles for both. This again chocks the SUN Studio C compiler. Each time we build jabberd2 on SUN UltraSPARC Solaris 10 machines, we have to manually fix these. 2.1.6 built fine, but with the new prototype mismatch errors with 2.1.9, we will have to spend some time to look and see.
