Closed Bug 78503 Opened 24 years ago Closed 23 years ago

liblber does not compile on Solaris WS6U2...

Categories

(Directory :: LDAP C SDK, defect, P4)

Sun
Solaris

Tracking

(Not tracked)

RESOLVED WORKSFORME
mozilla0.9.3

People

(Reporter: roland.mainz, Assigned: roland.mainz)

Details

Attachments

(2 files)

[as discussed on IRC #mozilla] liblber code does not compile on Solaris 7 SPARC using Sun Workshop 6 Update 2 EarlyAccess2 (http://access1.sun.com/fortedevprod/): -- snip -- % export CC=/opt/SUNWspro/bin/cc CXX=/opt/SUNWspro/bin/CC CFLAGS="-I/usr/include -I/usr/local/include" CXXFLAGS="-I/usr/include -I/usr/local/include" % configure --with-xprint --enable-mathml --enable-svg --enable-xsl --with-extensions --enable-optimize --enable-nspr-autoconf [snip] cd libraries; gmake install gmake[2]: Entering directory `/home/mozilla/builds/2001-05-01-08-trunk/objdir_ws6_gtk/directory/c-sdk/ldap/libraries' cd liblber; gmake install gmake[3]: Entering directory `/home/mozilla/builds/2001-05-01-08-trunk/objdir_ws6_gtk/directory/c-sdk/ldap/libraries/liblber' /opt/SUNWspro/bin/cc -xstrconst -o decode.o -c -I/usr/include -I/usr/local/include -O -g -KPIC -UNDEBUG -DUSE_AUTOCONF=1 -DDEBUG=1 -DDEBUG_mozilla=1 -DXP_UNIX=1 -DSVR4=1 -DSYSV=1 -D__svr4=1 -D__svr4__=1 -DSOLARIS=1 -D_PR_HAVE_OFF64_T=1 -DHAVE_LCHOWN=1 -DHAVE_STRERROR=1 -D_REENTRANT=1 -D_REENTRANT=1 -DHAVE_POINTER_LOCALTIME_R=1 -DFORCE_PR_LOG -D_PR_PTHREADS -UHAVE_CVAR_BUILT_ON_SEM -DUSE_WAITPID -DNEEDPROTOS -DLDAP_REFERRALS -DLDAP_LDBM -DLDAP_SHELL -DLDAP_PASSWD -DLDBM_USE_NDBM -I../../../../../../../../src/2001-05-01-08-trunk/mozilla/directory/c-sdk/ldap/include ../../../../../../../../src/2001-05-01-08-trunk/mozilla/directory/c-sdk/ldap/libraries/liblber/decode.c "/usr/include/lber.h", line 258: warning: macro redefined: SAFEMEMCPY "../../../../../../../../src/2001-05-01-08-trunk/mozilla/directory/c-sdk/ldap/libraries/liblber/lber-int.h", line 97: warning: macro redefined: OLD_LBER_SEQUENCE "../../../../../../../../src/2001-05-01-08-trunk/mozilla/directory/c-sdk/ldap/libraries/liblber/lber-int.h", line 98: warning: macro redefined: OLD_LBER_SET "../../../../../../../../src/2001-05-01-08-trunk/mozilla/directory/c-sdk/ldap/libraries/liblber/lber-int.h", line 102: syntax error before or at: LDAP_CALLBACK "../../../../../../../../src/2001-05-01-08-trunk/mozilla/directory/c-sdk/ldap/libraries/liblber/lber-int.h", line 102: warning: old-style declaration or incorrect type for: LDAP_CALLBACK "../../../../../../../../src/2001-05-01-08-trunk/mozilla/directory/c-sdk/ldap/libraries/liblber/lber-int.h", line 102: warning: old-style declaration or incorrect type for: IFP "../../../../../../../../src/2001-05-01-08-trunk/mozilla/directory/c-sdk/ldap/libraries/liblber/lber-int.h", line 102: warning: syntax error: empty declaration "../../../../../../../../src/2001-05-01-08-trunk/mozilla/directory/c-sdk/ldap/libraries/liblber/lber-int.h", line 107: (struct) tag redeclared: seqorset "../../../../../../../../src/2001-05-01-08-trunk/mozilla/directory/c-sdk/ldap/libraries/liblber/lber-int.h", line 113: identifier redeclared: Seqorset current : struct seqorset {unsigned long sos_clen, unsigned long sos_tag, pointer to char sos_first, pointer to char sos_ptr, pointer to struct seqorset {..} sos_next} previous: struct seqorset {pointer to struct berelement {..} sos_ber, unsigned int sos_clen, unsigned int sos_tag, pointer to char sos_first, pointer to char sos_ptr, pointer to struct seqorset {..} sos_next} : "/usr/include/lber.h", line 134 "../../../../../../../../src/2001-05-01-08-trunk/mozilla/directory/c-sdk/ldap/libraries/liblber/lber-int.h", line 118: (struct) tag redeclared: berelement "../../../../../../../../src/2001-05-01-08-trunk/mozilla/directory/c-sdk/ldap/libraries/liblber/lber-int.h", line 135: warning: macro redefined: NULLBER "../../../../../../../../src/2001-05-01-08-trunk/mozilla/directory/c-sdk/ldap/libraries/liblber/lber-int.h", line 137: (struct) tag redeclared: sockbuf "../../../../../../../../src/2001-05-01-08-trunk/mozilla/directory/c-sdk/ldap/libraries/liblber/lber-int.h", line 138: syntax error before or at: LBER_SOCKET "../../../../../../../../src/2001-05-01-08-trunk/mozilla/directory/c-sdk/ldap/libraries/liblber/lber-int.h", line 138: cannot recover from previous errors cc: acomp failed for ../../../../../../../../src/2001-05-01-08-trunk/mozilla/directory/c-sdk/ldap/libraries/liblber/decode.c gmake[3]: *** [decode.o] Error 2 gmake[3]: Leaving directory `/home/mozilla/builds/2001-05-01-08-trunk/objdir_ws6_gtk/directory/c-sdk/ldap/libraries/liblber' gmake[2]: *** [install] Error 2 gmake[2]: Leaving directory `/home/mozilla/builds/2001-05-01-08-trunk/objdir_ws6_gtk/directory/c-sdk/ldap/libraries' gmake[1]: *** [install] Error 2 gmake[1]: Leaving directory `/home/mozilla/builds/2001-05-01-08-trunk/objdir_ws6_gtk/directory/c-sdk/ldap' gmake: *** [install] Error 2 -- snip -- Known workarounds: - Compile with --disable-ldap - Step into directory and do a "gmake -t" to touch files instead of making them Going to attach full build logs...
Attached file Build logs (gzip compressed)... (deleted) —
Component: Browser-General → LDAP C SDK
Product: Browser → Directory
Assignee: asa → mhein
Since the immediate problem is on the branch, I'll take this for the moment.
Assignee: mhein → dmose
Setting priority to P4, TFV Mozilla1.0.
Priority: -- → P4
Target Milestone: --- → mozilla1.0
CC:'ing richb... Anyone working in this ? The problem is still present... ;-(
I've sent an email to the engineering manager in the compiler group letting him know of this problem. I suggest that you attach the -E output from trying to compile this file, to this bug report. This will help them tremendously in testing if this problem still exists with the latest Forte 6 U2 bits.
Issue still occurs with 2001-06-18-08-trunk: -- snip -- % gmake decode.o /opt/SUNWspro/bin/cc -xstrconst -o decode.o -c -I/usr/include -I/usr/local/include -O -g -KPIC -UNDEBUG -DUSE_AUTOCONF=1 -DDEBUG=1 -DDEBUG_mozilla=1 -DXP_UNIX=1 -DSVR4=1 -DSYSV=1 -D__svr4=1 -D__svr4__=1 -DSOLARIS=1 -D_PR_HAVE_OFF64_T=1 -DHAVE_LCHOWN=1 -DHAVE_STRERROR=1 -D_REENTRANT=1 -D_REENTRANT=1 -DHAVE_POINTER_LOCALTIME_R=1 -DFORCE_PR_LOG -D_PR_PTHREADS -UHAVE_CVAR_BUILT_ON_SEM -DUSE_WAITPID -DNEEDPROTOS -DLDAP_REFERRALS -DLDAP_LDBM -DLDAP_SHELL -DLDAP_PASSWD -DLDBM_USE_NDBM -I../../../../../../../../src/2001-06-18-08-trunk/mozilla/directory/c-sdk/ldap/include ../../../../../../../../src/2001-06-18-08-trunk/mozilla/directory/c-sdk/ldap/libraries/liblber/decode.c "/usr/include/lber.h", line 258: warning: macro redefined: SAFEMEMCPY "../../../../../../../../src/2001-06-18-08-trunk/mozilla/directory/c-sdk/ldap/libraries/liblber/lber-int.h", line 97: warning: macro redefined: OLD_LBER_SEQUENCE "../../../../../../../../src/2001-06-18-08-trunk/mozilla/directory/c-sdk/ldap/libraries/liblber/lber-int.h", line 98: warning: macro redefined: OLD_LBER_SET "../../../../../../../../src/2001-06-18-08-trunk/mozilla/directory/c-sdk/ldap/libraries/liblber/lber-int.h", line 102: syntax error before or at: LDAP_CALLBACK "../../../../../../../../src/2001-06-18-08-trunk/mozilla/directory/c-sdk/ldap/libraries/liblber/lber-int.h", line 102: warning: old-style declaration or incorrect type for: LDAP_CALLBACK "../../../../../../../../src/2001-06-18-08-trunk/mozilla/directory/c-sdk/ldap/libraries/liblber/lber-int.h", line 102: warning: old-style declaration or incorrect type for: IFP "../../../../../../../../src/2001-06-18-08-trunk/mozilla/directory/c-sdk/ldap/libraries/liblber/lber-int.h", line 102: warning: syntax error: empty declaration "../../../../../../../../src/2001-06-18-08-trunk/mozilla/directory/c-sdk/ldap/libraries/liblber/lber-int.h", line 107: (struct) tag redeclared: seqorset "../../../../../../../../src/2001-06-18-08-trunk/mozilla/directory/c-sdk/ldap/libraries/liblber/lber-int.h", line 113: identifier redeclared: Seqorset current : struct seqorset {unsigned long sos_clen, unsigned long sos_tag, pointer to char sos_first, pointer to char sos_ptr, pointer to struct seqorset {..} sos_next} previous: struct seqorset {pointer to struct berelement {..} sos_ber, unsigned int sos_clen, unsigned int sos_tag, pointer to char sos_first, pointer to char sos_ptr, pointer to struct seqorset {..} sos_next} : "/usr/include/lber.h", line 134 "../../../../../../../../src/2001-06-18-08-trunk/mozilla/directory/c-sdk/ldap/libraries/liblber/lber-int.h", line 118: (struct) tag redeclared: berelement "../../../../../../../../src/2001-06-18-08-trunk/mozilla/directory/c-sdk/ldap/libraries/liblber/lber-int.h", line 135: warning: macro redefined: NULLBER "../../../../../../../../src/2001-06-18-08-trunk/mozilla/directory/c-sdk/ldap/libraries/liblber/lber-int.h", line 137: (struct) tag redeclared: sockbuf "../../../../../../../../src/2001-06-18-08-trunk/mozilla/directory/c-sdk/ldap/libraries/liblber/lber-int.h", line 138: syntax error before or at: LBER_SOCKET "../../../../../../../../src/2001-06-18-08-trunk/mozilla/directory/c-sdk/ldap/libraries/liblber/lber-int.h", line 138: cannot recover from previous errors cc: acomp failed for ../../../../../../../../src/2001-06-18-08-trunk/mozilla/directory/c-sdk/ldap/libraries/liblber/decode.c gmake: *** [decode.o] Error 2 -- snip -- Going to attach output from: -- snip -- /home/mozilla/builds/2001-06-18-08-trunk/objdir_ws6_gtk/directory/c-sdk/ldap/libraries/liblber% /opt/SUNWspro/bin/cc -E -xstrconst -I/usr/include -I/usr/local/include -O -g -KPIC -UNDEBUG -DUSE_AUTOCONF=1 -DDEBUG=1 -DDEBUG_mozilla=1 -DXP_UNIX=1 - DSVR4=1 -DSYSV=1 -D__svr4=1 -D__svr4__=1 -DSOLARIS=1 -D_PR_HAVE_OFF64_T=1 -DHAVE_LCHOWN=1 -DHAVE_STRERROR=1 -D_REENTRANT=1 -D_REENT RANT=1 -DHAVE_POINTER_LOCALTIME_R=1 -DFORCE_PR_LOG -D_PR_PTHREADS -UHAVE_CVAR_BUILT_ON_SEM -DUSE_WAITPID -DNEEDPROTOS -DLD AP_REFERRALS -DLDAP_LDBM -DLDAP_SHELL -DLDAP_PASSWD -DLDBM_USE_NDBM -I../../../../../../../../src/2001-06-18-08-trunk/mozilla /directory/c-sdk/ldap/include ../../../../../../../../src/2001-06-18-08-trunk/mozilla/directory/c-sdk/ldap/libraries/liblber/decod e.c 2>&1 >xxx "/usr/include/lber.h", line 258: warning: macro redefined: SAFEMEMCPY "../../../../../../../../src/2001-06-18-08-trunk/mozilla/directory/c-sdk/ldap/libraries/liblber/lber-int.h", line 97: warning: macro redefined: OLD_LBER_SEQUENCE "../../../../../../../../src/2001-06-18-08-trunk/mozilla/directory/c-sdk/ldap/libraries/liblber/lber-int.h", line 98: warning: macro redefined: OLD_LBER_SET "../../../../../../../../src/2001-06-18-08-trunk/mozilla/directory/c-sdk/ldap/libraries/liblber/lber-int.h", line 135: warning: macro redefined: NULLBER "../../../../../../../../src/2001-06-18-08-trunk/mozilla/directory/c-sdk/ldap/libraries/liblber/lber-int.h", line 175: warning: macro redefined: LBER_HTONL "../../../../../../../../src/2001-06-18-08-trunk/mozilla/directory/c-sdk/ldap/libraries/liblber/lber-int.h", line 176: warning: macro redefined: LBER_NTOHL -- snip --
Attached file cc -E output of decode.c (deleted) —
Roland, add a .i file for this .cpp file as an attachment to this bug. The Sun compilers guys are ready and waiting for this before they can proceed. Thankyou.
Ahh, spoke to soon. Thankyou!
richb: What is a *.i file ?? Is that CC -E output file insufficient (http://bugzilla.mozilla.org/showattachment.cgi?attach_id=39153) ?
The output from -E is what the compiler group call a .i file. Yes, this is sufficient.
Fyi. This has been filed in Sun's Bugtraq database as #4472312.
richb: 1. Wanna quote/attach bug #4472312 here for those people who do not have access to the Sun database, please ? 2. Any ideas if there is a workaround for this issue ? Or will it be fixed in WS6U2FCS ?
1. No. 2. If there was, don't you think I would have added it to this bug report?
> If there was, don't you think I would have added it to this bug report? Ouch... yes... sorry... dumb question. More coffee, please... ;-((
Here's the evaluation from the Bugtraq bug: Compiler is absolutely right here. In your sources you have 2 different typedef's for Seqorset: System header /usr/include/lber.h ========= typedef struct seqorset { BerElement *sos_ber; unsigned int sos_clen; unsigned int sos_tag; char *sos_first; char *sos_ptr; struct seqorset *sos_next; } Seqorset; ========= Conflicts with user header ../../../../../../../../src/2001-06-18-08-trunk/mozilla/directory/c-sdk/ldap/libraries/liblber/lber-int.h ========= typedef struct seqorset { unsigned long sos_clen; unsigned long sos_tag; char *sos_first; char *sos_ptr; struct seqorset *sos_next; } Seqorset; ========= What is funny that compiler tells EXACTLY what happens here. xxxxx: , line 113: identifier redeclared: Seqorset current : struct seqorset {unsigned long sos_clen, unsigned long sos_tag, pointer to char sos_first, pointer to char sos_ptr, pointer to struct seqorset {..} sos_next} previous: struct seqorset {pointer to struct berelement {..} sos_ber, unsigned int sos_clen, unsigned int sos_tag, pointer to char sos_first, pointer to char sos_ptr, pointer to struct seqorset {..} sos_next} : "/usr/include/lber.h", line 134 Users could just trust compiler sometimes. Not a bug - user error.
> Users could just trust compiler sometimes. :-) WS 6 Update 1 and gcc 2.95.x seems to swallow this code without any problems... this makes people think "bug in EA version - fix it"... :-) > Not a bug - user error. :-))) --> dmose ?? ---- 1. richb: thanks for the infos... :-) 2. Setting target milestone to 0.9.3 - dmose: is that OK for you ?
Target Milestone: mozilla1.0 → mozilla0.9.3
You are mixing Solaris shipped header files with Netscape/iPlanet LDAP C SDK files. Do not rely on files in /usr/include for any ldap related header files.
dmose overburned, stealing this bug from him and hunt this xx!!@@@-issue myself...
Assignee: dmose → Roland.Mainz
Why are -I/usr/include & -I/usr/local/include being explicitly set in CFLAGs & CXXFLAGS when calling configure? The compiler should search those directories by default. It seems as though you're just asking for trouble there (and found it).
Good question... ...answer: Long long ago the build failed without that trick... maybe it's "gone" now... I'll try it later this day or tomorrow...
Status: NEW → ASSIGNED
xx@@!!xx... ;-( It was the 'export CFLAGS="-I/usr/include -I/usr/local/include" CXXFLAGS="-I/usr/include -I/usr/local/include"' stuff in my build script which caused this issue. Closing bug, marking it as "WORKS FOR ME"... Maybe this bug nominates me as the biggest i***t of the week... ;-( Sorry for the trouble I caused... ;-(
Status: ASSIGNED → RESOLVED
Closed: 23 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: