Received: (qmail 4304 invoked by uid 501); 20 Sep 2001 09:41:52 -0000 Message-Id: <20010920094152.4303.qmail@apache.org> Date: 20 Sep 2001 09:41:52 -0000 From: Nick Lindridge Reply-To: nick@macaw.demon.co.uk To: submit@bugz.apache.org Subject: Compiler/Environment incompatabilities X-Send-Pr-Version: 3.110 >Number: 8369 >Category: build >Synopsis: Compiler/Environment incompatabilities >Confidential: no >Severity: non-critical >Priority: medium >Responsible: apache >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: apache >Arrival-Date: Thu Sep 20 02:50:00 PDT 2001 >Closed-Date: >Last-Modified: >Originator: nick@macaw.demon.co.uk >Release: 1.3.20 >Organization: apache >Environment: Solaris 2.7 or 2.8, CC 5 or Forte (CC6) vanilla or -compat=5 or -compat=4 >Description: I spent time trawling the Google groups (it changed from dejanews months ago btw.) and the faq/bugs list and nothing, so here goes. Quite simply, apache doesn't build and bails out early on with the errors below. I've never had problems on other platforms, but then I've used gcc. CC is preferable, and I think that building with the native compiler should work. I was suspicious that the configure process was so 'light' - it didn't really figure out anything about the system installation, and making assumptions is error prone. PHP, for example, builds fine. CC -c -I../os/unix -I../include -DSOLARIS2=280 -DUSE_EXPAT -I../lib/expat-lite -DNO_DL_NEEDED `../apaci` alloc.c "../include/multithread.h", line 12: Error: Multiple declaration for mutex. "alloc.c", line 794: Error: Cannot assign void* to char*. "alloc.c", line 795: Warning: The variable res has not yet been assigned a value. "alloc.c", line 805: Error: Cannot assign void* to char*. "alloc.c", line 806: Warning: The variable res has not yet been assigned a value. "alloc.c", line 965: Warning (Anachronism): Formal argument flush_func of type extern "C" int(*)(ap_vformatter_buff*) in call to ap_vformatter(extern "C" int(*)(ap_vformatter_buff*), ap_vformatter_buff*, const char*, void*) is being passed int(*)(ap_vformatter_buff*). "alloc.c", line 1012: Error: Cannot assign void* to char*. "alloc.c", line 1034: Error: Cannot assign void* to char*. "alloc.c", line 1056: Error: Cannot assign void* to char*. "alloc.c", line 1204: Error: Cannot use void* to initialize table*. "alloc.c", line 1215: Error: Unexpected type name "table" encountered. "alloc.c", line 1215: Error: Type name expected instead of "=". "alloc.c", line 1226: Error: Type name expected instead of "->". "alloc.c", line 1226: Error: int is not a structure type. "alloc.c", line 1227: Error: Type name expected instead of "->". "alloc.c", line 1227: Error: int is not a structure type. "alloc.c", line 1228: Error: Type name expected instead of "->". "alloc.c", line 1228: Error: int is not a structure type. "alloc.c", line 1229: Error: Type name expected instead of ";". "alloc.c", line 1229: Error: Cannot return int* from a function that should return table*. "alloc.c", line 1452: Error: Cannot assign void* to table*. "alloc.c", line 1485: Warning: function void(int(*)(void*,const char*,const char*),void*,const table*, ...) overloads extern "C" void(extern "C" int(*)(void*,const char*,const char*),void*,const table*, ...) because of different language linkages. "alloc.c", line 1522: Error: Cannot use const void* to initialize const overlap_key*. "alloc.c", line 1523: Error: Cannot use const void* to initialize const overlap_key*. "alloc.c", line 1557: Error: Cannot assign void* to overlap_key*. "alloc.c", line 1585: Warning (Anachronism): Formal argument 4 of type extern "C" int(*)(const void*,const void*) in call to std::qsort(void*, unsigned, unsigned, extern "C" int(*)(const void*,const void*)) is being passed int(*)(const void*,const void*). "alloc.c", line 1592: Error: Cannot assign void* to char*. "alloc.c", line 1634: Error: Cannot assign void* to char*. "alloc.c", line 1635: Warning: The variable value has not yet been assigned a value. "alloc.c", line 1677: Warning: function void(pool*,void*,void(*)(void*),void(*)(void*)) overloads extern "C" void(pool*,void*,extern "C" void(*)(void*),extern "C" void(*)(void*)) because of different language linkages. "alloc.c", line 1687: Warning: function void(pool*,void*,void(*)(void*)) overloads extern "C" void(pool*,void*,extern "C" void(*)(void*)) because of different language linkages. "alloc.c", line 1703: Warning: function void(pool*,void*,void(*)(void*)) overloads extern "C" void(pool*,void*,extern "C" void(*)(void*)) because of different language linkages. "alloc.c", line 2028: Error: Cannot use void* to initialize regex_t*. "alloc.c", line 2066: Error: There must be an identifier to declare. Compilation aborted, too many Error messages. make[3]: *** [alloc.o] Error 1 make[2]: *** [subdirs] Error 1 >How-To-Repeat: Well, trying to build with CC on Solaris would probably do it ;-) >Fix: Sure - if you don't use full autoconfiguration, at least provide documentation and directives that can be set for a Solaris build with CC. >Release-Note: >Audit-Trail: >Unformatted: [In order for any reply to be added to the PR database, you need] [to include in the Cc line and make sure the] [subject line starts with the report component and number, with ] [or without any 'Re:' prefixes (such as "general/1098:" or ] ["Re: general/1098:"). If the subject doesn't match this ] [pattern, your message will be misfiled and ignored. The ] ["apbugs" address is not added to the Cc line of messages from ] [the database automatically because of the potential for mail ] [loops. If you do not include this Cc, your reply may be ig- ] [nored unless you are responding to an explicit request from a ] [developer. Reply only with text; DO NOT SEND ATTACHMENTS! ]