Last Comment Bug 291993 - Build using configure on Solaris fails to find NSPR libs
: Build using configure on Solaris fails to find NSPR libs
Status: RESOLVED FIXED
:
Product: Directory
Classification: Components
Component: LDAP C SDK (show other bugs)
: other
: Other Other
: -- major (vote)
: ---
Assigned To: Rich Megginson
:
Mentors:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2005-04-26 13:29 PDT by Rich Megginson
Modified: 2005-05-10 13:14 PDT (History)
0 users
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---


Attachments
Diffs for fix (2.34 KB, text/plain)
2005-04-26 13:36 PDT, Rich Megginson
no flags Details

Description Rich Megginson 2005-04-26 13:29:49 PDT
User-Agent:       Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.2) Gecko/20040805 Netscape/7.2
Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.2) Gecko/20040805 Netscape/7.2

This only happens with libprldap and libssldap.  It uses -L$(dist_libdir) to
find the NSPR libs but they are actually in dist/PLATFORM/lib.  I've changed it
to use -L$(DIST)/$(RELEASE_OBJDIR_NAME)/lib and it works, but I don't know if
that is the most appropriate macro to use.

Reproducible: Always
Comment 1 Rich Megginson 2005-04-26 13:36:01 PDT
Created attachment 181901 [details]
Diffs for fix

Uses $(DIST)/$(RELEASE_OBJDIR_NAME)/lib to find the NSPR shared libs.
Comment 2 Mark Smith (:mcs) 2005-04-27 10:14:52 PDT
Why is this only a problem on Solaris?
Comment 3 Rich Megginson 2005-04-27 10:23:07 PDT
I don't know.  I suspect that it will be a problem on other platforms that
require shared libraries to link against when building a shared libraries. 
Another way to do it would be to omit the NSPR libraries when linking
libprldap.so.  Are they really required?  It seems that linking libssldap.so
does not require the NSS libraries, only the NSPR libraries.  I'm not sure why.
Comment 4 Rich Megginson 2005-04-27 15:53:37 PDT
A little more digging reveals that Solaris builds just fine without building in
any dependencies to the NSPR shared libraries.

On Linux, libprldap.so and libssldap.so are built with no run time dependencies.

Other components do build in dependencies.  For example, NSS builds in run time
dependencies to NSPR.

It seems like the right thing to do is to build in run time dependencies to NSPR
and NSS on all platforms, to at least make it consistent.
Comment 5 Rich Megginson 2005-05-10 08:53:53 PDT
I'd like to go ahead and check in the fix listed in the diffs, to at least
enable building on Solaris using the configure build method.
Comment 6 Rich Megginson 2005-05-10 13:13:19 PDT
Checking in mozilla/directory/c-sdk/ldap/libraries/libprldap/Makefile.in;
/cvsroot/mozilla/directory/c-sdk/ldap/libraries/libprldap/Makefile.in,v  <-- 
Makefile.in
new revision: 5.11; previous revision: 5.10
done
Checking in mozilla/directory/c-sdk/ldap/libraries/libssldap/Makefile.in;
/cvsroot/mozilla/directory/c-sdk/ldap/libraries/libssldap/Makefile.in,v  <-- 
Makefile.in
new revision: 5.9; previous revision: 5.8

Note You need to log in before you can comment on or make changes to this bug.