You are viewing a plain text version of this content. The canonical link for it is here.
Posted to apache-bugdb@apache.org by Andrej Borsenkow <An...@mow.siemens.ru> on 1999/12/07 17:39:06 UTC

os-other/5435: DSO build fails

>Number:         5435
>Category:       os-other
>Synopsis:       DSO build fails
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    apache
>State:          open
>Class:          sw-bug
>Submitter-Id:   apache
>Arrival-Date:   Tue Dec  7 08:40:00 PST 1999
>Last-Modified:
>Originator:     Andrej.Borsenkow@mow.siemens.ru
>Organization:
apache
>Release:        1.3.9
>Environment:
ReliantUNIX-N itsrm2 5.44 C2001 RM400 1/256 R4000
All current patches
Compiler CDS++ 2.0A00
>Description:
Attrempt to compile out-of-the-box:

configure --prefix=/u1/apache --enable-module=most --enable-shared=max

results in

        cc  -DSVR4 -D_XPG_IV -DHAS_DLFCN -DUSE_MMAP_FILES -DUSE_SYSVSEM_SERIALIZED_ACCEPT -DNEED_UNION_SEMUN -DUSE_HSREGEX -DUSE_EXPAT -I./lib/expat-lite `./apaci`   -Wl,-Blargedynsym \
              -o httpd buildmark.o modules.o  modules/standard/libstandard.a  main/libmain.a  ./os/unix/libos.a  ap/libap.a regex/libregex.a lib/expat-lite/libexpat.a  -lsocket -lnsl -lc
Undefined                       first referenced
 symbol                             in file
dlsym                               ./os/unix/libos.a(os.o)
ld: httpd: fatal error: Symbol referencing errors. No output written to httpd

The library -ldl is missing. 

The reason is, Configure tests only for dlopen(). Unfortunately, dlopen() exists in libc.so as well (I tend to call it a bug, actually), for this reason -ldl is not used. The same problem was with glib as well.
>How-To-Repeat:
See the problem description. You'll need the ReliantUNIX 5.44 though :-)
>Fix:
Patch to Configure follows. It simply tests for both dlopen() and dlsym().

--- apache_1.3.9/src/Configure.org      Mon Aug 16 04:49:08 1999
+++ apache_1.3.9/src/Configure  Tue Dec  7 19:21:13 1999
@@ -1981,7 +1981,7 @@
            fi
            ;;
        * )
-           if ./helpers/TestCompile func dlopen; then
+           if ./helpers/TestCompile func dlopen && ./helpers/TestCompile funcdlsym; then
                :
            else
                if ./helpers/TestCompile lib dl; then
>Audit-Trail:
>Unformatted:
[In order for any reply to be added to the PR database, you need]
[to include <ap...@Apache.Org> 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!     ]