>Number:         2856
>Category:       mod_jserv
>Synopsis:       cannot build apache server including mod_jserv on Solaris
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    jserv
>State:          open
>Class:          sw-bug
>Submitter-Id:   apache
>Arrival-Date:   Fri Aug 14 13:40:00 PDT 1998
>Last-Modified:
>Originator:     [EMAIL PROTECTED]
>Organization:
apache
>Release:        1.3.1
>Environment:
Solaris 2.5.1/gcc
SunOS cooke 5.5 Generic sun4m sparc SUNW,SPARCstation-20
>Description:
I am attempting to add the mod_jserv module as explicitly defined
in the INSTALL document and also off the web site. I am running
on a Solaris 2.5.1 Sparc. 

As instructed I added the following line at the end of the Configuration file:
Module jserv_module mod_jserv.o

I ran ./Configure with the following result:

Using config file: Configuration
Creating Makefile
 + configured for Solaris 250 platform
 + setting C compiler to gcc
 + adding selected modules
 + checking for system header files
^[[B + doing sanity check on compiler and options
Creating Makefile in support
Creating Makefile in main
Creating Makefile in ap
Creating Makefile in regex
Creating Makefile in os/unix
Creating Makefile in modules/standard

I then performed the make to build the server:

===> os/unix
gcc -c  -I../../os/unix -I../../include   -DSOLARIS2=250  os.c
gcc -c  -I../../os/unix -I../../include   -DSOLARIS2=250  os-inline.c
rm -f libos.a
ar cr libos.a os.o os-inline.o
ranlib libos.a
<=== os/unix
===> ap
gcc -c  -I../os/unix -I../include   -DSOLARIS2=250  ap_execve.c
gcc -c  -I../os/unix -I../include   -DSOLARIS2=250  ap_cpystrn.c
gcc -c  -I../os/unix -I../include   -DSOLARIS2=250  ap_signal.c
gcc -c  -I../os/unix -I../include   -DSOLARIS2=250  ap_slack.c
gcc -c  -I../os/unix -I../include   -DSOLARIS2=250  ap_snprintf.c
rm -f libap.a
ar cr libap.a ap_execve.o ap_cpystrn.o ap_signal.o ap_slack.o ap_snprintf.o
ranlib libap.a
<=== ap
===> main
gcc -c  -I../os/unix -I../include   -DSOLARIS2=250  gen_test_char.c
gcc  -DSOLARIS2=250    -o gen_test_char gen_test_char.o  -lsocket -lnsl
./gen_test_char >test_char.h
gcc -c  -I../os/unix -I../include   -DSOLARIS2=250  alloc.c
gcc -c  -I../os/unix -I../include   -DSOLARIS2=250  buff.c
gcc -c  -I../os/unix -I../include   -DSOLARIS2=250  http_config.c
gcc -c  -I../os/unix -I../include   -DSOLARIS2=250  http_core.c
gcc -c  -I../os/unix -I../include   -DSOLARIS2=250  http_log.c
gcc -c  -I../os/unix -I../include   -DSOLARIS2=250  http_main.c
gcc -c  -I../os/unix -I../include   -DSOLARIS2=250  http_protocol.c
gcc -c  -I../os/unix -I../include   -DSOLARIS2=250  http_request.c
gcc -c  -I../os/unix -I../include   -DSOLARIS2=250  http_vhost.c
gcc -c  -I../os/unix -I../include   -DSOLARIS2=250  util.c
gcc -c  -I../os/unix -I../include   -DSOLARIS2=250  util_date.c
gcc -c  -I../os/unix -I../include   -DSOLARIS2=250  util_script.c
gcc -c  -I../os/unix -I../include   -DSOLARIS2=250  util_uri.c
gcc -c  -I../os/unix -I../include   -DSOLARIS2=250  util_md5.c
gcc -c  -I../os/unix -I../include   -DSOLARIS2=250  md5c.c
gcc -c  -I../os/unix -I../include   -DSOLARIS2=250  rfc1413.c
gcc -c  -I../os/unix -I../include   -DSOLARIS2=250  fnmatch.c
rm -f libmain.a
ar cr libmain.a alloc.o buff.o http_config.o http_core.o http_log.o http_main.o 
http_protocol.o http_request.o http_vhost.o util.o util_date.o util_script.o 
util_uri.o 
util_md5.o md5c.o rfc1413.o fnmatch.o
ranlib libmain.a
<=== main
===> modules
===> modules/standard
gcc -c  -I../../os/unix -I../../include   -DSOLARIS2=250  mod_env.c
gcc -c  -I../../os/unix -I../../include   -DSOLARIS2=250  mod_log_config.c
gcc -c  -I../../os/unix -I../../include   -DSOLARIS2=250  mod_mime.c
gcc -c  -I../../os/unix -I../../include   -DSOLARIS2=250  mod_negotiation.c
gcc -c  -I../../os/unix -I../../include   -DSOLARIS2=250  mod_include.c
gcc -c  -I../../os/unix -I../../include   -DSOLARIS2=250  mod_autoindex.c
gcc -c  -I../../os/unix -I../../include   -DSOLARIS2=250  mod_dir.c
gcc -c  -I../../os/unix -I../../include   -DSOLARIS2=250  mod_cgi.c
gcc -c  -I../../os/unix -I../../include   -DSOLARIS2=250  mod_asis.c
gcc -c  -I../../os/unix -I../../include   -DSOLARIS2=250  mod_imap.c
gcc -c  -I../../os/unix -I../../include   -DSOLARIS2=250  mod_actions.c
gcc -c  -I../../os/unix -I../../include   -DSOLARIS2=250  mod_userdir.c
gcc -c  -I../../os/unix -I../../include   -DSOLARIS2=250  mod_alias.c
gcc -c  -I../../os/unix -I../../include   -DSOLARIS2=250  mod_access.c
gcc -c  -I../../os/unix -I../../include   -DSOLARIS2=250  mod_auth.c
gcc -c  -I../../os/unix -I../../include   -DSOLARIS2=250  mod_setenvif.c
rm -f libstandard.a
ar cr libstandard.a mod_env.o mod_log_config.o mod_mime.o mod_negotiation.o 
mod_include.o mod_autoindex.o mod_dir.o mod_cgi.o mod_asis.o mod_imap.o 
mod_actions.o mod_userdir.o mod_alias.o mod_access.o mod_auth.o mod_setenvif.o 
ranlib libstandard.a
<=== modules/standard
<=== modules
gcc -c  -I./os/unix -I./include   -DSOLARIS2=250  modules.c
gcc -c  -I./os/unix -I./include   -DSOLARIS2=250  buildmark.c
gcc  -DSOLARIS2=250     \
      -o httpd buildmark.o modules.o mod_jserv.o modules/standard/libstandard.a 
main/libmain.a ./os/unix/libos.a ap/libap.a   -lsocket -lnsl
gcc: mod_jserv.o: No such file or directory
make: *** [target_static] Error 1


The build process is not picking up the dependancy for mod_jserv.o. If I modify
the makfile so that the mod_jserv.o is built I get symbol reference errors on
linking mod_jserv.o

HELP PLEASE!

If you know what the problem is I would appreciate enlightenment. I have
included the Makefile generated by ./Configure. 

Thanks...

Donald 

[EMAIL PROTECTED]

---------------------------------------------------------------
makefile follows:

##
##  Apache Makefile, automatically generated by Configure script.
##  Hand-edited changes will be lost if the Configure script is re-run.
##  Sources: - ./Makefile.config (via Configuration)
##           - ./Makefile.tmpl
##
 
MODULES= \
  mod_jserv.o \
  modules/standard/libstandard.a
 
TARGET=httpd
SUBDIRS=os/unix ap main modules
SUBTARGET=target_static
SHLIB_SUFFIX_LIST=
 
##
##  Inherited Makefile options from Configure script
##  (Begin of automatically generated section)
##
SRCDIR=.
EXTRA_CFLAGS=
EXTRA_LDFLAGS=
EXTRA_LIBS=
EXTRA_INCLUDES=
EXTRA_DEPS=
CC=gcc
OPTIM=
CFLAGS1= -DSOLARIS2=250
OSDIR=$(SRCDIR)/os/unix
INCDIR=$(SRCDIR)/include
INCLUDES0=-I$(OSDIR) -I$(INCDIR)
INCLUDES1=
LDFLAGS1=
MFLAGS_STATIC=--no-print-directory
REGLIB=
RANLIB=ranlib
SHELL=/bin/sh
LIBS1= -lsocket -lnsl
##
##  (End of automatically generated section)
##
 
 
CFLAGS=$(OPTIM) $(CFLAGS1) $(EXTRA_CFLAGS)
LIBS=$(EXTRA_LIBS) $(LIBS1)
INCLUDES=$(INCLUDES1) $(INCLUDES0) $(EXTRA_INCLUDES)
LDFLAGS=$(LDFLAGS1) $(EXTRA_LDFLAGS)
 
OBJS= \
  modules.o \
  $(MODULES) \
  main/libmain.a \
  $(OSDIR)/libos.a \
  ap/libap.a
 
.c.o:
        $(CC) -c $(INCLUDES) $(CFLAGS) $<
 
all: Configuration $(TARGET)

Configuration: Configuration.tmpl
        @echo "++ File 'Configuration' older than 'Configuration.tmpl',"
        @echo "++ or still doesn't exist. Please consider copying 'Configuration
.tmpl'"
        @echo "++ to 'Configuration', editing and rerunning 'Configure'."
        @echo "++ If not, you will at least have to touch 'Configuration'."
        @false
 
$(TARGET): $(EXTRA_DEPS) $(SUBTARGET)
 
target_static: subdirs modules.o
        $(CC) -c $(INCLUDES) $(CFLAGS) buildmark.c
        $(CC) $(CFLAGS) $(LDFLAGS) $(LDFLAGS_SHLIB_EXPORT) \
              -o $(TARGET) buildmark.o $(OBJS) $(REGLIB) $(LIBS)
 
target_shared: libhttpd.ep
        $(CC) $(INCLUDES) $(CFLAGS) $(LDFLAGS) $(LDFLAGS_SHLIB_EXPORT) \
              -o $(TARGET) -DSHARED_CORE_BOOTSTRAP main/http_main.c
 
libhttpd.ep: libhttpd.so
        $(CC) $(INCLUDES) $(CFLAGS) $(LDFLAGS) $(LDFLAGS_SHLIB_EXPORT) \
              -o libhttpd.ep -DSHARED_CORE_TIESTATIC main/http_main.c \
                  -L. -lhttpd $(LIBS)
 
libhttpd.so: subdirs modules.o
        $(CC) -c $(INCLUDES) $(CFLAGS) buildmark.c
        $(LD_SHLIB) $(LDFLAGS_SHLIB) -o libhttpd.so buildmark.o $(OBJS) $(REGLIB
)
        @if [ ".$(SHLIB_SUFFIX_LIST)" != . ]; then \
                rm -f libhttpd.so.*; \
                for suffix in $(SHLIB_SUFFIX_LIST) ""; do \
                        [ ".$$suffix" = . ] && continue; \
                    echo "ln libhttpd.so libhttpd.so.$$suffix"; \
                    ln libhttpd.so libhttpd.so.$$suffix; \
                done; \
        fi
 
subdirs:
        @for i in $(SUBDIRS); do \
                echo "===> $(SDP)$$i"; \
                ( cd $$i && $(MAKE) $(MFLAGS_STATIC) SDP='$(SDP)' CC='$(CC)' AUX
_CFLAGS='$(CFLAGS)' RANLIB='$(RANLIB)') || exit 1; \
                echo "<=== $(SDP)$$i"; \
        done
 
support: support-dir
 
support-dir:
        @echo "===> $(SDP)support"; \
        cd support; $(MAKE) $(MFLAGS_STATIC) SDP='$(SDP)' CC='$(CC)' AUX_CFLAGS=
'$(CFLAGS)' RANLIB='$(RANLIB)'; \
        echo "<=== $(SDP)support"
 
clean:
        rm -f $(TARGET) libhttpd.* *.o
        @for i in $(SUBDIRS); do \
                echo "===> $(SDP)$$i"; \
                ( cd $$i && $(MAKE) $(MFLAGS_STATIC) SDP='$(SDP)' $@ ) || exit 1
; \
                echo "<=== $(SDP)$$i"; \
        done

distclean:
        -rm -f $(TARGET) *.o
        @for i in $(SUBDIRS); do \
                echo "===> $(SDP)$$i"; \
                ( cd $$i && $(MAKE) $(MFLAGS_STATIC) SDP='$(SDP)' $@ ) || exit 1
; \
                echo "<=== $(SDP)$$i"; \
        done
        -rm -f include/ap_config_auto.h
        -rm -f modules.c
        -rm -f modules/Makefile
        -rm -f regex/Makefile
        -rm -f Makefile.config
        -rm -f Makefile
 
install:
        @echo "++ Sorry, no installation procedure available at this level."
        @echo "++ Go to the parent directory for an 'install' target."
 
# We really don't expect end users to use this rule.  It works only with
# gcc, and rebuilds Makefile.tmpl.  You have to re-run Configure after
# using it.
depend:
        cp Makefile.tmpl Makefile.tmpl.bak \
            && sed -ne '1,/^# DO NOT REMOVE/p' Makefile.tmpl > Makefile.new \
            && gcc -MM $(INCLUDES) $(CFLAGS) *.c >> Makefile.new \
            && sed -e '1,$$s: $(INCDIR)/: $$(INCDIR)/:g' \
                   -e '1,$$s: $(OSDIR)/: $$(OSDIR)/:g' Makefile.new \
                > Makefile.tmpl \
            && rm Makefile.new
        for i in $(SUBDIRS); do \
            ( cd $$i && $(MAKE) CC='$(CC)' AUX_CFLAGS='$(CFLAGS)' RANLIB='$(RANL
IB)' depend ) || exit 1; \
        done
 
#Dependencies
 
$(OBJS): Makefile
 
# DO NOT REMOVE
buildmark.o: buildmark.c include/ap_config.h include/ap_config_auto.h \
 os/unix/os.h include/ap_ctype.h include/hsregex.h include/httpd.h \
 include/alloc.h include/buff.h include/ap.h include/util_uri.h
modules.o: modules.c include/httpd.h include/ap_config.h \
 include/ap_config_auto.h os/unix/os.h include/ap_ctype.h \
 include/hsregex.h include/alloc.h include/buff.h include/ap.h \
 include/util_uri.h include/http_config.h



>How-To-Repeat:

>Fix:

>Audit-Trail:
>Unformatted:
[In order for any reply to be added to the PR database, ]
[you need to include <[EMAIL PROTECTED]> in the Cc line ]
[and leave the subject line UNCHANGED.  This is not done]
[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!         ]



Reply via email to