Closed Bug 599615 Opened 10 years ago Closed 6 years ago

--disable-ldap breaks thunderbird build

Categories

(MailNews Core :: Build Config, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: wsheets, Unassigned)

References

Details

User-Agent:       Mozilla/5.0 (X11; Linux x86_64; rv:2.0b7pre) Gecko/20100925 Firefox/4.0b7pre
Build Identifier: Recent comm-central

Build of comm-central stops with the error below if .mozconfig contains --disable-ldap.  (Removing --disable-ldap fixes the breakage.)

Reproducible: Always

Steps to Reproduce:
1.Add --disable-ldap to .mozconfig and build
2.
3.
Actual Results:  
make: Entering an unknown directory
make: *** ./../directory/c-sdk: No such file or directory.  Stop.
make: Leaving an unknown directory
make[3]: *** [tier_platform] Error 2
make[3]: Leaving directory `/U/wa1ter/src/thunderbird/obj/mozilla'



This build problem started in the last week or so (~Sep 20).  I haven't yet bisected the responsible commit because I hope the cause will be obvious to you.
Component: General → Build Config
QA Contact: general → build-config
The basic cause was the switch to libxul and the new configuration doesn't easily support --disable-ldap at the moment. I'm considering just removing it or disabling that option for libxul builds.

Why do you need to have that option in your mozconfig?
OS: Linux → All
Product: Thunderbird → MailNews Core
QA Contact: build-config → build-config
Hardware: x86_64 → All
Just because I don't use ldap.  No big deal either way -- I removed that option
from mozconfig already.
--disable-ldap not working is a problem for me on one of my systems (admittedly an edge case), since the authentication system essentially relies on LDAP, and ends up attempting to use the LDAP library compiled for Mozilla instead of the system LDAP library, which causes test runs to crash.
(In reply to comment #3)
> --disable-ldap not working is a problem for me on one of my systems (admittedly
> an edge case), since the authentication system essentially relies on LDAP, and
> ends up attempting to use the LDAP library compiled for Mozilla instead of the
> system LDAP library, which causes test runs to crash.

Auth issue is bug 292127. This bug probably needs bug 648979 fixing first.
Depends on: ccrework
Duplicate of this bug: 680901
Duplicate of this bug: 686277
The error message has changed in current tree, but it still fails:
In file included from /usr/local/TB-hg/ldap/xpcom/src/nsLDAPProtocolModule.cpp:58:0:
../../../mozilla/dist/system_wrappers/ldappr.h:3:25: fatal error: ldappr.h: Directory or file does not exist
compilation terminated.
gmake[6]: *** [nsLDAPProtocolModule.o] Error 1
gmake[6]: *** Waiting for unfinished jobs....
/usr/local/TB-hg/ldap/xpcom/src/nsLDAPMessage.cpp: In destructor 'virtual nsLDAPMessage::~nsLDAPMessage()':
/usr/local/TB-hg/ldap/xpcom/src/nsLDAPMessage.cpp:129:35: error: 'ldap_value_free' was not declared in this scope
/usr/local/TB-hg/ldap/xpcom/src/nsLDAPMessage.cpp: In member function 'nsresult nsLDAPMessage::IterateAttrErrHandler(PRInt32, PRUint32*, char***, BerElement*)':
/usr/local/TB-hg/ldap/xpcom/src/nsLDAPMessage.cpp:282:34: error: 'ldap_ber_free' was not declared in this scope
/usr/local/TB-hg/ldap/xpcom/src/nsLDAPMessage.cpp: In member function 'nsresult nsLDAPMessage::IterateAttributes(PRUint32*, char***, bool)':
/usr/local/TB-hg/ldap/xpcom/src/nsLDAPMessage.cpp:371:78: error: 'ldap_get_lderrno' was not declared in this scope
/usr/local/TB-hg/ldap/xpcom/src/nsLDAPMessage.cpp:410:71: error: 'ldap_get_lderrno' was not declared in this scope
/usr/local/TB-hg/ldap/xpcom/src/nsLDAPMessage.cpp:445:34: error: 'ldap_ber_free' was not declared in this scope
/usr/local/TB-hg/ldap/xpcom/src/nsLDAPMessage.cpp: In member function 'virtual nsresult nsLDAPMessage::GetDn(nsACString_internal&)':
/usr/local/TB-hg/ldap/xpcom/src/nsLDAPMessage.cpp:457:67: error: 'ldap_get_lderrno' was not declared in this scope
/usr/local/TB-hg/ldap/xpcom/src/nsLDAPMessage.cpp: In member function 'virtual nsresult nsLDAPMessage::GetValues(const char*, PRUint32*, PRUnichar***)':
/usr/local/TB-hg/ldap/xpcom/src/nsLDAPMessage.cpp:495:66: error: 'ldap_get_values' was not declared in this scope
/usr/local/TB-hg/ldap/xpcom/src/nsLDAPMessage.cpp:500:67: error: 'ldap_get_lderrno' was not declared in this scope
/usr/local/TB-hg/ldap/xpcom/src/nsLDAPMessage.cpp:523:48: error: 'ldap_count_values' was not declared in this scope
/usr/local/TB-hg/ldap/xpcom/src/nsLDAPMessage.cpp:529:31: error: 'ldap_value_free' was not declared in this scope
/usr/local/TB-hg/ldap/xpcom/src/nsLDAPMessage.cpp:545:35: error: 'ldap_value_free' was not declared in this scope
/usr/local/TB-hg/ldap/xpcom/src/nsLDAPMessage.cpp:552:27: error: 'ldap_value_free' was not declared in this scope
/usr/local/TB-hg/ldap/xpcom/src/nsLDAPMessage.cpp: In member function 'virtual nsresult nsLDAPMessage::GetBinaryValues(const char*, PRUint32*, nsILDAPBERValue***)':
/usr/local/TB-hg/ldap/xpcom/src/nsLDAPMessage.cpp:578:67: error: 'ldap_get_lderrno' was not declared in this scope
gmake[6]: *** [nsLDAPMessage.o] Error 1
/usr/local/TB-hg/ldap/xpcom/src/nsLDAPConnection.cpp: In member function 'void nsLDAPConnection::Close()':
/usr/local/TB-hg/ldap/xpcom/src/nsLDAPConnection.cpp:226:41: error: 'ldap_unbind' was not declared in this scope
/usr/local/TB-hg/ldap/xpcom/src/nsLDAPConnection.cpp: In member function 'virtual nsresult nsLDAPConnection::GetLdErrno(nsACString_internal&, nsACString_internal&, PRInt32*)':
/usr/local/TB-hg/ldap/xpcom/src/nsLDAPConnection.cpp:328:64: error: 'ldap_get_lderrno' was not declared in this scope
/usr/local/TB-hg/ldap/xpcom/src/nsLDAPConnection.cpp: In member function 'virtual nsresult nsLDAPConnection::GetErrorString(PRUnichar**)':
/usr/local/TB-hg/ldap/xpcom/src/nsLDAPConnection.cpp:346:72: error: 'ldap_get_lderrno' was not declared in this scope
/usr/local/TB-hg/ldap/xpcom/src/nsLDAPConnection.cpp: In constructor 'nsOnLDAPInitMessageRunnable::nsOnLDAPInitMessageRunnable(nsILDAPMessageListener*, nsILDAPConnection*, nsresult)':
/usr/local/TB-hg/ldap/xpcom/src/nsLDAPConnection.cpp:452:36: warning: 'nsOnLDAPInitMessageRunnable::m_listener' will be initialized after
/usr/local/TB-hg/ldap/xpcom/src/nsLDAPConnection.cpp:451:31: warning:   'nsCOMPtr<nsILDAPConnection> nsOnLDAPInitMessageRunnable::m_conn'
/usr/local/TB-hg/ldap/xpcom/src/nsLDAPConnection.cpp:456:1: warning:   when initialized here
/usr/local/TB-hg/ldap/xpcom/src/nsLDAPConnection.cpp: In member function 'virtual nsresult nsLDAPConnection::OnLookupComplete(nsICancelable*, nsIDNSRecord*, nsresult)':
/usr/local/TB-hg/ldap/xpcom/src/nsLDAPConnection.cpp:599:65: error: 'ldap_init' was not declared in this scope
/usr/local/TB-hg/ldap/xpcom/src/nsLDAPConnection.cpp:636:56: error: 'LDAP_OPT_SSL' was not declared in this scope
gmake[6]: *** [nsLDAPConnection.o] Error 1
Status: UNCONFIRMED → NEW
Ever confirmed: true
Version: unspecified → Trunk
Until this is fixed, please make the top-level configure output a helpful error message:
"--disable-ldap is not yet supported. Please remove the option. See bug 559615".
Having configure options that break in the middle of the build with a cryptic "file not found" is no good.
I tried it now and the build didn't fail for me (TB15, Linux). Has anything changed?
No longer depends on: ccrework
Depends on: ccrework
I was compiling the trunk daily for a month now with --disable-ldap and it does not seem to cause problems.
BenB, walter, what do you see?
Standard8, have you changed anything?
--disable-ldap definitely works for me now.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.