Bug 233607 - 1.1.0: libns_dshttpd wrong linkage
Summary: 1.1.0: libns_dshttpd wrong linkage
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: 389
Classification: Retired
Component: Directory Server
Version: 7.1
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Rich Megginson
QA Contact: Viktor Ashirov
URL:
Whiteboard:
Depends On:
Blocks: FDS1.1.0
TreeView+ depends on / blocked
 
Reported: 2007-03-23 13:08 UTC by Stanislav Ievlev
Modified: 2015-12-07 16:35 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-12-07 16:35:46 UTC
Embargoed:


Attachments (Terms of Use)
patch to fix this problem (566 bytes, patch)
2007-03-23 13:08 UTC, Stanislav Ievlev
no flags Details | Diff

Description Stanislav Ievlev 2007-03-23 13:08:53 UTC
Description of problem:
lins_dshttpd has unresolved symbols

Version-Release number of selected component (if applicable):
1.1.0 from CVS ...

How reproducible: always

Steps to Reproduce:
1. ldd -r libns-dshttpd.so.0.0.0

  
Actual results:

$ ldd -r libns-dshttpd.so.0.0.0 
undefined symbol: PL_CompareValues      (./libns-dshttpd.so.0.0.0)
undefined symbol: PR_EnterMonitor       (./libns-dshttpd.so.0.0.0)
undefined symbol: PR_DestroyMonitor     (./libns-dshttpd.so.0.0.0)
....

Comment 1 Stanislav Ievlev 2007-03-23 13:08:53 UTC
Created attachment 150747 [details]
patch to fix this problem

Comment 2 Rich Megginson 2007-03-23 14:38:56 UTC
Does this cause a problem at runtime?  When this shared lib is loaded into the
server, it will just use the ldap, nss, and nspr symbols already linked into the
executable.

Comment 3 Stanislav Ievlev 2007-03-26 05:50:08 UTC
All linkage problems that I've report you are not a runtime problems.
Your package only failed with our (altlinux) QA tests ...

It's a possible problem in the future.
It's not a problem to fix it now ....


Comment 4 Rich Megginson 2007-03-26 14:52:02 UTC
The reason I'm asking is that you will find a problem with every shared library
and plugin that gets linked into the server: libslapd.so and lib*-plugin.so. 
The reason we build it that way is because, historically, on some platforms, if
you turn on the linker option to complain about missing symbols, it becomes very
difficult to satisfy all of the linker dependencies in a platform independent
way, which leads to makefiles that are hard to maintain.  Platforms we have
supported in the past were aix, tru64, hpux 10, and sgi.  It may be that all
modern linkers make this easy to do without lots of kludges in makefiles.

Comment 5 Rich Megginson 2007-05-16 20:12:40 UTC
Fixed in version 1.39 (HEAD) of Makefile.am:
+libns_dshttpd_la_LIBADD = $(LDAPSDK_LINK) $(NSS_LINK) $(NSPR_LINK)


Comment 6 Michael Gregg 2007-11-19 22:45:31 UTC
ldd -r /usr/lib/dirsrv/libns-dshttpd.so.0.0.0
        linux-gate.so.1 =>  (0x00583000)
        libssldap60.so => /usr/lib/libssldap60.so (0x00be9000)
        libprldap60.so => /usr/lib/libprldap60.so (0x00911000)
        libldap60.so => /usr/lib/libldap60.so (0x00dbd000)
        libldif60.so => /usr/lib/libldif60.so (0x006ef000)
        libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0x007bc000)
        libssl3.so => /usr/lib/libssl3.so (0x005d5000)
        libnss3.so => /usr/lib/libnss3.so (0x00b61000)
        libsoftokn3.so => /usr/lib/libsoftokn3.so (0x00110000)
        libplc4.so => /usr/lib/libplc4.so (0x0085b000)
        libplds4.so => /usr/lib/libplds4.so (0x00166000)
        libnspr4.so => /usr/lib/libnspr4.so (0x00f2d000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x003a3000)
        libm.so.6 => /lib/libm.so.6 (0x00169000)
        libc.so.6 => /lib/libc.so.6 (0x00190000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x002cd000)
        libsmime3.so => /usr/lib/libsmime3.so (0x002d9000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x0031e000)
        libdl.so.2 => /lib/libdl.so.2 (0x00a16000)
        libresolv.so.2 => /lib/libresolv.so.2 (0x00335000)
        libcrypt.so.1 => /lib/libcrypt.so.1 (0x00eb0000)
        /lib/ld-linux.so.2 (0x00303000)
undefined symbol: XP_AccLangList        (/usr/lib/dirsrv/libns-dshttpd.so.0.0.0)

The undefined symbol isn't related to this bug. 
A new bug has been opened for the new undefined symbol:
https://bugzilla.redhat.com/show_bug.cgi?id=391171

This was verified aginst:
1195508960 redhat-ds-base-8.0.0-11.el5dsrv Mon Nov 19 2007 
1195508963 redhat-ds-admin-8.0.0-1.15.el5dsrv Mon Nov 19 2007 
1195508965 redhat-ds-console-8.0.0-8.el5dsrv Mon Nov 19 2007 
1195508966 redhat-admin-console-8.0.0-9.el5dsrv Mon Nov 19 2007 


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