You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bugs@httpd.apache.org by bu...@apache.org on 2013/12/08 23:23:19 UTC

[Bug 55861] New: modules/slotmem/mod_slotmem_shm.c should include apr_md5.h to support function declaration apr_md5

https://issues.apache.org/bugzilla/show_bug.cgi?id=55861

            Bug ID: 55861
           Summary: modules/slotmem/mod_slotmem_shm.c should include
                    apr_md5.h to support function declaration apr_md5
           Product: Apache httpd-2
           Version: 2.4.7
          Hardware: Sun
                OS: Solaris
            Status: NEW
          Severity: normal
          Priority: P2
         Component: mod_slotmem_plain / mod_slotmem_shm
          Assignee: bugs@httpd.apache.org
          Reporter: dclarke@blastwave.org

Attempt to compile httpd 2.4.7 results in the following : 

.
.
.
gmake[3]: Entering directory
`/usr/local/build/httpd-2.4.7_SunOS5.10_sparcv9.001/modules/slotmem'
Building shared: mod_slotmem_shm.la
gmake[4]: Entering directory
`/usr/local/build/httpd-2.4.7_SunOS5.10_sparcv9.001/modules/slotmem'
/usr/local/build-1/libtool --silent --mode=compile
/opt/solarisstudio12.3/bin/cc -D_STDC_C99=    -errfmt=error -erroff=%none
-errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa
-xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy
-xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2
-xcache=8/16/4:4096/64/16 -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS
-D_LARGEFILE64_SOURCE    -DSOLARIS2=10 -D_REENTRANT  -I/usr/local/include
-I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS
-D_LARGEFILE64_SOURCE   -I.
-I/usr/local/build/httpd-2.4.7_SunOS5.10_sparcv9.001/os/unix
-I/usr/local/build/httpd-2.4.7_SunOS5.10_sparcv9.001/include
-I/usr/local/include/apr-1 -I/usr/local/ssl/include
-I/usr/local/build/httpd-2.4.7_SunOS5.10_sparcv9.001/modules/aaa
-I/usr/local/build/httpd-2.4.7_SunOS5.10_sparcv9.001/modules/cache
-I/usr/local/build/httpd-2.4.7_SunOS5.10_sparcv9.001/modules/core
-I/usr/local/build/httpd-2.4.7_SunOS5.10_sparcv9.001/modules/database
-I/usr/local/build/httpd-2.4.7_SunOS5.10_sparcv9.001/modules/filters
-I/usr/local/build/httpd-2.4.7_SunOS5.10_sparcv9.001/modules/ldap
-I/usr/local/build/httpd-2.4.7_SunOS5.10_sparcv9.001/server
-I/usr/local/build/httpd-2.4.7_SunOS5.10_sparcv9.001/modules/loggers
-I/usr/local/build/httpd-2.4.7_SunOS5.10_sparcv9.001/modules/lua
-I/usr/local/build/httpd-2.4.7_SunOS5.10_sparcv9.001/modules/proxy
-I/usr/local/build/httpd-2.4.7_SunOS5.10_sparcv9.001/modules/session
-I/usr/local/build/httpd-2.4.7_SunOS5.10_sparcv9.001/modules/ssl
-I/usr/local/build/httpd-2.4.7_SunOS5.10_sparcv9.001/modules/test
-I/usr/local/build/httpd-2.4.7_SunOS5.10_sparcv9.001/server
-I/usr/local/build/httpd-2.4.7_SunOS5.10_sparcv9.001/modules/arch/unix
-I/usr/local/build/httpd-2.4.7_SunOS5.10_sparcv9.001/modules/dav/main
-I/usr/local/build/httpd-2.4.7_SunOS5.10_sparcv9.001/modules/generators
-I/usr/local/build/httpd-2.4.7_SunOS5.10_sparcv9.001/modules/mappers
-I/usr/local/include -prefer-pic -c mod_slotmem_shm.c && touch
mod_slotmem_shm.slo
"mod_slotmem_shm.c", line 181: error: undefined symbol: APR_MD5_DIGESTSIZE
"mod_slotmem_shm.c", line 204: warning: implicit function declaration: apr_md5
"mod_slotmem_shm.c", line 223: error: undefined symbol: APR_MD5_DIGESTSIZE
cc: acomp failed for mod_slotmem_shm.c
gmake[4]: *** [mod_slotmem_shm.slo] Error 1
gmake[4]: Leaving directory
`/usr/local/build/httpd-2.4.7_SunOS5.10_sparcv9.001/modules/slotmem'
gmake[3]: *** [shared-build-recursive] Error 1
gmake[3]: Leaving directory
`/usr/local/build/httpd-2.4.7_SunOS5.10_sparcv9.001/modules/slotmem'
gmake[2]: *** [shared-build-recursive] Error 1
gmake[2]: Leaving directory
`/usr/local/build/httpd-2.4.7_SunOS5.10_sparcv9.001/modules'
gmake[1]: *** [shared-build-recursive] Error 1
gmake[1]: Leaving directory
`/usr/local/build/httpd-2.4.7_SunOS5.10_sparcv9.001'
gmake: *** [all-recursive] Error 1
node002$ 


The required symbols are not defined anywhere in the sources : 

node002$ find . -type f | xargs grep "APR_MD5_DIGESTSIZE" | cut -f1 -d\: | sort
-u
./docs/manual/developer/modguide.html.en
./modules/aaa/mod_auth_digest.c
./modules/slotmem/mod_slotmem_shm.c
./modules/ssl/mod_ssl.c
./modules/ssl/ssl_engine_kernel.c
./server/util_md5.c

What we need is in apr_md5.h from apr-util-1.5.3 : 

node002$ find /usr/local/include -type f | xargs grep "APR_MD5_DIGESTSIZE" |
cut -f1 -d\: | sort -u
/usr/local/include/apr-1/apr_md5.h


This simple include solves the problem if we have -I/usr/local/include/apr-1
add to the compile : 

node002$ diff mod_slotmem_shm.c mod_slotmem_shm.c_backup
25d24
< #include  "apr_md5.h"


node002$ cd /usr/local/build/httpd-2.4.7_SunOS5.10_sparcv9.001/modules/slotmem
node002$ /opt/solarisstudio12.3/bin/cc -D_STDC_C99= -errfmt=error -erroff=%none
\
> -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 \
> -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf \
> -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS \                    
> -D_LARGEFILE64_SOURCE -DSOLARIS2=10 -D_REENTRANT -D_TS_ERRNO \
> -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/include/apr-1 \
> -I. -I/usr/local/build/httpd-2.4.7_SunOS5.10_sparcv9.001/os/unix \
> -I/usr/local/build/httpd-2.4.7_SunOS5.10_sparcv9.001/include -I/usr/local/include/apr-1 -I/usr/local/ssl/include \
> -I/usr/local/build/httpd-2.4.7_SunOS5.10_sparcv9.001/modules/aaa \
> -I/usr/local/build/httpd-2.4.7_SunOS5.10_sparcv9.001/modules/cache \
>  -I/usr/local/build/httpd-2.4.7_SunOS5.10_sparcv9.001/modules/core \
> -I/usr/local/build/httpd-2.4.7_SunOS5.10_sparcv9.001/modules/database \
> -I/usr/local/build/httpd-2.4.7_SunOS5.10_sparcv9.001/modules/filters \
> -I/usr/local/build/httpd-2.4.7_SunOS5.10_sparcv9.001/modules/ldap \
> -I/usr/local/build/httpd-2.4.7_SunOS5.10_sparcv9.001/server \
> -I/usr/local/build/httpd-2.4.7_SunOS5.10_sparcv9.001/modules/loggers \
> -I/usr/local/build/httpd-2.4.7_SunOS5.10_sparcv9.001/modules/lua \
> -I/usr/local/build/httpd-2.4.7_SunOS5.10_sparcv9.001/modules/proxy \
> -I/usr/local/build/httpd-2.4.7_SunOS5.10_sparcv9.001/modules/session \
> -I/usr/local/build/httpd-2.4.7_SunOS5.10_sparcv9.001/modules/ssl \
> -I/usr/local/build/httpd-2.4.7_SunOS5.10_sparcv9.001/modules/test \
> -I/usr/local/build/httpd-2.4.7_SunOS5.10_sparcv9.001/server \
> -I/usr/local/build/httpd-2.4.7_SunOS5.10_sparcv9.001/modules/arch/unix \
> -I/usr/local/build/httpd-2.4.7_SunOS5.10_sparcv9.001/modules/dav/main \
> -I/usr/local/build/httpd-2.4.7_SunOS5.10_sparcv9.001/modules/generators \
> -I/usr/local/build/httpd-2.4.7_SunOS5.10_sparcv9.001/modules/mappers \
> -I/usr/local/include -prefer-pic -H -c mod_slotmem_shm.c 
/usr/local/include/ap_slotmem.h
        /usr/local/include/httpd.h
                /usr/local/include/ap_config.h
                        /usr/local/include/ap_hooks.h
                                /usr/local/include/apr-1/apr.h
                                        /usr/include/sys/types.h
                                               
/usr/include/sys/feature_tests.h
                                                       
/usr/include/sys/ccompile.h
                                                       
/usr/include/sys/isa_defs.h
                                                /usr/include/sys/machtypes.h
                                                /usr/include/sys/int_types.h
                                                /usr/include/sys/select.h
                                                       
/usr/include/sys/time_impl.h
                                                        /usr/include/sys/time.h
                                                               
/usr/include/sys/types.h
                                                               
/usr/include/time.h
                                                                       
/usr/include/iso/time_iso.h
                                                               
/usr/include/sys/select.h
                                        /usr/include/sys/socket.h
                                                /usr/include/sys/uio.h
                                                /usr/include/sys/socket_impl.h
                                                        /usr/include/sys/un.h
                                                       
/usr/include/net/if_dl.h
                                                /usr/include/sys/netconfig.h
                                                /usr/include/netinet/in.h
                                                       
/usr/include/sys/stream.h
                                                               
/usr/include/sys/vnode.h
                                                                       
/usr/include/sys/t_lock.h
                                                                               
/usr/include/sys/machlock.h
                                                                               
/usr/include/sys/param.h
                                                                               
        /usr/include/sys/unistd.h
                                                                               
/usr/include/sys/mutex.h
                                                                               
/usr/include/sys/rwlock.h
                                                                               
/usr/include/sys/semaphore.h
                                                                               
/usr/include/sys/condvar.h
                                                                       
/usr/include/sys/rwstlock.h
                                                                               
/usr/include/sys/ksynch.h
                                                                       
/usr/include/sys/cred.h
                                                                       
/usr/include/sys/resource.h
                                                                       
/usr/include/vm/seg_enum.h
                                                                       
/usr/include/sys/kstat.h
                                                                       
/usr/include/sys/kmem.h
                                                                               
/usr/include/sys/vmem.h
                                                               
/usr/include/sys/poll.h
                                                               
/usr/include/sys/strmdep.h
                                                               
/usr/include/sys/model.h
                                                               
/usr/include/sys/strft.h
                                                       
/usr/include/sys/byteorder.h
                                        /usr/include/stdint.h
                                                /usr/include/sys/stdint.h
                                                       
/usr/include/sys/int_limits.h
                                                       
/usr/include/sys/int_const.h
                                        /usr/include/sys/wait.h
                                                /usr/include/sys/siginfo.h
                                                       
/usr/include/sys/machsig.h
                                                /usr/include/sys/procset.h
                                                       
/usr/include/sys/signal.h
                                                               
/usr/include/sys/iso/signal_iso.h
                                        /usr/include/limits.h
                                                /usr/include/iso/limits_iso.h
                                /usr/local/include/apr-1/apr_hooks.h
                                        /usr/local/include/apr-1/apu.h
                                        /usr/local/include/apr-1/apr_tables.h
                                               
/usr/local/include/apr-1/apr_pools.h
                                                       
/usr/local/include/apr-1/apr_errno.h
                                                               
/usr/include/errno.h
                                                                       
/usr/include/sys/errno.h
                                                       
/usr/local/include/apr-1/apr_general.h
                                                               
/usr/local/include/apr-1/apr_pools.h
                                                               
/usr/include/signal.h
                                                                       
/usr/include/iso/signal_iso.h
                                                       
/usr/local/include/apr-1/apr_want.h
                                                               
/usr/include/string.h
                                                                       
/usr/include/iso/string_iso.h
                                                       
/usr/local/include/apr-1/apr_allocator.h
                                                               
/usr/local/include/apr-1/apr_want.h
                                                               
/usr/local/include/apr-1/apr_thread_mutex.h
                                                /usr/include/stdarg.h
                                                       
/usr/include/iso/stdarg_iso.h
                                                               
/usr/include/sys/va_impl.h
                                                                       
/usr/include/sys/va_list.h
                                                       
/usr/include/iso/stdarg_c99.h
                                /usr/local/include/apr-1/apr_optional_hooks.h
                        /usr/local/include/os.h
                                /usr/local/include/ap_config.h
                        /usr/local/include/ap_config_auto.h
                        /usr/local/include/ap_config_layout.h
                        /usr/local/include/apache_noprobes.h
                /usr/local/include/ap_mmn.h
                /usr/local/include/ap_release.h
                /usr/local/include/apr-1/apr_time.h
                /usr/local/include/apr-1/apr_network_io.h
                        /usr/local/include/apr-1/apr_file_io.h
                                /usr/local/include/apr-1/apr_file_info.h
                                        /usr/local/include/apr-1/apr_user.h
                                /usr/local/include/apr-1/apr_inherit.h
                                /usr/local/include/apr-1/apr_want.h
                                        /usr/include/stdio.h
                                                /usr/include/iso/stdio_iso.h
                                                       
/usr/include/stdio_tag.h
                                                       
/usr/include/stdio_impl.h
                                                /usr/include/iso/stdio_c99.h
                /usr/local/include/apr-1/apr_buckets.h
                        /usr/local/include/apr-1/apr_mmap.h
                                /usr/local/include/apr-1/apr_ring.h
                /usr/local/include/apr-1/apr_poll.h
                /usr/local/include/apr-1/apr_thread_proc.h
                /usr/local/include/ap_regex.h
                /usr/include/stdlib.h
                        /usr/include/iso/stdlib_iso.h
                        /usr/include/iso/stdlib_c99.h
                /usr/local/include/apr-1/apr_uri.h
        /usr/local/include/http_config.h
                /usr/local/include/util_cfgtree.h
        /usr/local/include/http_log.h
                /usr/include/syslog.h
                        /usr/include/sys/syslog.h
        /usr/local/include/ap_provider.h
        /usr/local/include/apr-1/apr_strings.h
                /usr/local/include/apr-1/apr_want.h
        /usr/local/include/apr-1/apr_shm.h
        /usr/local/include/apr-1/apr_global_mutex.h
                /usr/local/include/apr-1/apr_proc_mutex.h
        /usr/include/unistd.h
/usr/local/include/apr-1/apr_md5.h
        /usr/local/include/apr-1/apr_xlate.h
/usr/local/include/http_main.h
        /usr/local/include/apr-1/apr_optional.h
/usr/local/include/unixd.h
        /usr/local/include/ap_listen.h
        /usr/include/pwd.h
        /usr/include/grp.h
        /usr/include/sys/ipc.h
/usr/include/sys/shm.h
node002$ 

Perhaps I missed a configure option or I need to manually ensure that 
the apr headers from /usr/local/include/apr-1 are found ? 

Dennis

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org


[Bug 55861] modules/slotmem/mod_slotmem_shm.c should include apr_md5.h to support function declaration apr_md5

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=55861

Dennis Clarke <dc...@blastwave.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |INVALID

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org


[Bug 55861] modules/slotmem/mod_slotmem_shm.c should include apr_md5.h to support function declaration apr_md5

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=55861

--- Comment #1 from Dennis Clarke <dc...@blastwave.org> ---
well now I feel silly ... turns out all we need is this : 

node002$ echo $CPPFLAGS
-I/usr/local/include -I/usr/local/ssl/include -I/usr/local/include/apr-1
-D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE

everything just compiles as expected.

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org