You are viewing a plain text version of this content. The canonical link for it is here.
Posted to apache-bugdb@apache.org by Ronald Record <rr...@sco.com> on 1998/06/30 23:23:43 UTC

os-sco/2533: Apache 1.3.0 won't build with Dynamic Shared Object (DSO) support

>Number:         2533
>Category:       os-sco
>Synopsis:       Apache 1.3.0 won't build with Dynamic Shared Object (DSO) support
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    apache
>State:          open
>Class:          change-request
>Submitter-Id:   apache
>Arrival-Date:   Tue Jun 30 14:30:01 PDT 1998
>Last-Modified:
>Originator:     rr@sco.com
>Organization:
apache
>Release:        1.3.0
>Environment:
SCO OpenServer 5.0.4 using gcc 2.7.2.3 and GNU make 3.76.1
>Description:
Dynamic Shared Object (DSO) support for the SCO OpenServer platform
is missing. When given the --enable-shared=max the configure
script tries to guess what shared flags to use by how Perl was
built but gets it wrong as Perl was built with cc not gcc.
Anyway, it shouldn't have to guess.

I found i also needed to add some function prototype declarations
to satisfy the compiler. None of the changes should impact builds
on other platforms.

If the copy/paste of the patch below got fudged, send e-mail to rr@sco.com
and i will e-mail you the patches.
>How-To-Repeat:
Attempt to configure and build Apache 1.3.0 on OpenServer 5 using
./configure --enable-module=most --enable-shared=max
make
>Fix:
Apply the following with "patch -p 1 -c ..." :

*** ./src/helpers/find-dbm-lib.00       Tue Jun 30 00:00:55 1998
--- ./src/helpers/find-dbm-lib  Tue Jun 30 11:15:09 1998
***************
*** 23,28 ****
--- 23,33 ----
                    found_dbm=1
                fi
                ;;
+           *-sco5*)
+               DBM_LIB="-lndbm"
+               LIBS="$LIBS $DBM_LIB"
+               found_dbm=1
+               ;;
            *)
                if [ "X$DBM_LIB" != "X" ]; then
                    oldLIBS="$LIBS"
*** ./src/include/conf.h.00     Mon Jun 29 20:20:53 1998
--- ./src/include/conf.h        Mon Jun 29 20:20:56 1998
***************
*** 432,438 ****
  #elif defined(SCO5)

  #define HAVE_SYS_SELECT_H 1
! #define USE_FCNTL_SERIALIZED_ACCEPT
  #define HAVE_MMAP 1
  #define USE_MMAP_SCOREBOARD
  #define USE_MMAP_FILES
--- 432,441 ----
  #elif defined(SCO5)

  #define HAVE_SYS_SELECT_H 1
! /*
!  * No longer need this work-around old kernel bug
!  * #define USE_FCNTL_SERIALIZED_ACCEPT
!  */
  #define HAVE_MMAP 1
  #define USE_MMAP_SCOREBOARD
  #define USE_MMAP_FILES
*** ./src/main/http_main.c.00   Mon Jun 29 20:23:21 1998
--- ./src/main/http_main.c      Mon Jun 29 20:23:24 1998
***************
*** 3228,3234 ****
   * some of it is #ifdef'd but was duplicated before anyhow.  This stuff
   * is still a mess.
   */
! static void common_init(void)
  {
      INIT_SIGLIST()
  #ifdef AUX3
--- 3228,3234 ----
   * some of it is #ifdef'd but was duplicated before anyhow.  This stuff
   * is still a mess.
   */
! static void common_init(int argc, char *argv[])
  {
      INIT_SIGLIST()
  #ifdef AUX3
***************
*** 4211,4217 ****

      MONCONTROL(0);

!     common_init();

      ap_server_argv0 = argv[0];
      ap_cpystrn(ap_server_root, HTTPD_ROOT, sizeof(ap_server_root));
--- 4211,4217 ----

      MONCONTROL(0);

!     common_init(argc, argv);

      ap_server_argv0 = argv[0];
      ap_cpystrn(ap_server_root, HTTPD_ROOT, sizeof(ap_server_root));
***************
*** 5350,5356 ****
      int run_as_service = 1;
      int install = 0;

!     common_init();

      ap_server_argv0 = argv[0];

--- 5350,5356 ----
      int run_as_service = 1;
      int install = 0;

!     common_init(argc, argv);

      ap_server_argv0 = argv[0];

*** ./src/os/unix/os.h.00       Tue Jun 30 00:23:36 1998
--- ./src/os/unix/os.h  Tue Jun 30 00:23:38 1998
***************
*** 94,100 ****
  #if defined(LINUX) || defined(__FreeBSD__) ||\
      defined(__OpenBSD__) || defined(__NetBSD__) || \
      defined(SOLARIS2) || defined(__bsdi__) || \
!     defined(IRIX) || defined(SVR4) || defined(OSF1)
  #define HAVE_DLFCN_H 1
  #endif

--- 94,100 ----
  #if defined(LINUX) || defined(__FreeBSD__) ||\
      defined(__OpenBSD__) || defined(__NetBSD__) || \
      defined(SOLARIS2) || defined(__bsdi__) || \
!     defined(IRIX) || defined(SVR4) || defined(OSF1) || defined(SCO5)
  #define HAVE_DLFCN_H 1
  #endif

*** ./src/Configure.00  Tue Jun 30 13:41:39 1998
--- ./src/Configure     Tue Jun 30 11:42:24 1998
***************
*** 523,529 ****
      *-sco5*)
        OS='SCO 5'
        CFLAGS="$CFLAGS -DSCO5"
!       LIBS="$LIBS -lsocket -lmalloc -lprot"
        DEF_WANTHSREGEX=no
        ;;
      *-sco_sv*)
--- 523,530 ----
      *-sco5*)
        OS='SCO 5'
        CFLAGS="$CFLAGS -DSCO5"
!       LIBS="$LIBS -lsocket -lmalloc -lprot -ltinfo -lx -lm"
!       DBM_LIB="-lndbm"
        DEF_WANTHSREGEX=no
        ;;
      *-sco_sv*)
***************
*** 828,833 ****
--- 829,843 ----
              LDFLAGS_SHLIB="-Bshareable"
              LDFLAGS_SHLIB_EXPORT=""
              SHLIB_SUFFIX_DEPTH=2
+             ;;
+         *-sco5*)
+             case $CC in
+                 */gcc*|gcc* ) CFLAGS_SHLIB="-fpic" ;;
+                 */cc*|cc*   ) CFLAGS_SHLIB="-KPIC" ;;
+             esac
+             LDFLAGS_SHLIB="-G"
+             LDFLAGS_SHLIB_EXPORT="-Wl,-Bexport"
+             SHLIB_SUFFIX_DEPTH=1
              ;;
          *-solaris2*)
              case $CC in

>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 leave the subject line UNCHANGED.  This is not done]
[automatically because of the potential for mail loops. ]