1. get files httpd, apr, apr-util

wget http://apache.mirror.cdnetworks.com//httpd/httpd-2.4.39.tar.gz

tar xzvf httpd-2.4.39.tar.gz

cd httpd-2.4.39/srclib

wget http://apache.tt.co.kr//apr/apr-1.7.0.tar.gz

tar xzvf apr-1.7.0.tar.gz

ln -s apr-1.7.0 apr

wget http://apache.tt.co.kr//apr/apr-util-1.6.1.tar.gz

tar xzvf apr-util-1.6.1.tar.gz

ln -s apr-util-1.6.1 apr-util

 

2. Perl-Compatible Regular Expressions Library (PCRE) This library is required but not longer bundled with httpd. Download the source code from http://www.pcre.org, or install a Port or Package. If your build system can't find the pcre-config script installed by the PCRE build, point to it using the --with-pcre parameter. On some platforms, you may have to install the corresponding -dev package to allow httpd to build against your installed copy of PCRE.

wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.43.tar.gz

tar xzvf pcre-8.43.tar.gz

cd pcre-8.43

./configure && make

 

3. apache build

cd ../..

./configure --with-included-apr --with-pcre=./srclib/pcre-8.43/pcre-config

configure: summary of build options:

    Server Version: 2.4.39
    Install prefix: /usr/local/apache2
    C compiler:     gcc -std=gnu99
    CFLAGS:          -g -O2 -pthread  
    CPPFLAGS:        -DLINUX -D_REENTRANT -D_GNU_SOURCE  
    LDFLAGS:           
    LIBS:             
    C preprocessor: gcc -E

make

Making all in srclib
make[1]: Entering directory `/work/httpd-2.4.39/srclib'
Making all in apr
make[2]: Entering directory `/work/httpd-2.4.39/srclib/apr-1.7.0'
make[3]: Entering directory `/work/httpd-2.4.39/srclib/apr-1.7.0'
sed 's,^\(location=\).*$,\1installed,' < apr-1-config > apr-config.out
sed -e 's,^\(apr_build.*=\).*$,\1/usr/local/apache2/build,' -e 's,^\(top_build.*=\).*$,\1/usr/local/apache2/build,' < build/apr_rules.mk > build/apr_rules.out
make[3]: Leaving directory `/work/httpd-2.4.39/srclib/apr-1.7.0'
make[2]: Leaving directory `/work/httpd-2.4.39/srclib/apr-1.7.0'
Making all in apr-util
make[2]: Entering directory `/work/httpd-2.4.39/srclib/apr-util-1.6.1'
make[3]: Entering directory `/work/httpd-2.4.39/srclib/apr-util-1.6.1'
/bin/bash /work/httpd-2.4.39/srclib/apr/libtool --silent --mode=compile gcc -g -O2 -pthread   -DHAVE_CONFIG_H  -DLINUX -D_REENTRANT -D_GNU_SOURCE   -I/work/httpd-2.4.39/srclib/apr-util/include -I/work/httpd-2.4.39/srclib/apr-util/include/private  -I/work/httpd-2.4.39/srclib/apr/include    -o xml/apr_xml.lo -c xml/apr_xml.c && touch xml/apr_xml.lo
xml/apr_xml.c:35:19: fatal error: expat.h: No such file or directory
 #include 
                   ^
compilation terminated.
make[3]: *** [xml/apr_xml.lo] Error 1
make[3]: Leaving directory `/work/httpd-2.4.39/srclib/apr-util-1.6.1'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/work/httpd-2.4.39/srclib/apr-util-1.6.1'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/work/httpd-2.4.39/srclib'
make: *** [all-recursive] Error 1

sudo apt-get install libexpat1-dev

make

/work/httpd-2.4.39/srclib/apr/libtool --silent --mode=compile gcc -std=gnu99  -g -O2 -pthread      -DLINUX -D_REENTRANT -D_GNU_SOURCE     -I. -I/work/httpd-2.4.39/os/unix -I/work/httpd-2.4.39/include -I/work/httpd-2.4.39/srclib/apr/include -I/work/httpd-2.4.39/srclib/apr-util/include -I/usr/local/include -I/work/httpd-2.4.39/modules/aaa -I/work/httpd-2.4.39/modules/cache -I/work/httpd-2.4.39/modules/core -I/work/httpd-2.4.39/modules/database -I/work/httpd-2.4.39/modules/filters -I/work/httpd-2.4.39/modules/ldap -I/work/httpd-2.4.39/modules/loggers -I/work/httpd-2.4.39/modules/lua -I/work/httpd-2.4.39/modules/proxy -I/work/httpd-2.4.39/modules/http2 -I/work/httpd-2.4.39/modules/session -I/work/httpd-2.4.39/modules/ssl -I/work/httpd-2.4.39/modules/test -I/work/httpd-2.4.39/server -I/work/httpd-2.4.39/modules/md -I/work/httpd-2.4.39/modules/arch/unix -I/work/httpd-2.4.39/modules/dav/main -I/work/httpd-2.4.39/modules/generators -I/work/httpd-2.4.39/modules/mappers  -prefer-non-pic -static -c util_pcre.c && touch util_pcre.lo
util_pcre.c:58:18: fatal error: pcre.h: No such file or directory
 #include "pcre.h"
                  ^
compilation terminated.
make[2]: *** [util_pcre.lo] Error 1
make[2]: Leaving directory `/work/httpd-2.4.39/server'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/work/httpd-2.4.39/server'
make: *** [all-recursive] Error 1

make CFLAGS=-I`pwd`/srclib/pcre-8.43/

/work/httpd-2.4.39/srclib/apr/libtool --silent --mode=link gcc -std=gnu99  -g -O2 -pthread  -I/work/httpd-2.4.39/srclib/pcre-8.43/       -o htpasswd  htpasswd.lo passwd_common.lo       /work/httpd-2.4.39/srclib/apr-util/libaprutil-1.la /work/httpd-2.4.39/srclib/apr/libapr-1.la -lrt -lcrypt -lpthread -ldl -lcrypt
/work/httpd-2.4.39/srclib/apr-util/.libs/libaprutil-1.so: undefined reference to `XML_GetErrorCode'
/work/httpd-2.4.39/srclib/apr-util/.libs/libaprutil-1.so: undefined reference to `XML_SetEntityDeclHandler'
/work/httpd-2.4.39/srclib/apr-util/.libs/libaprutil-1.so: undefined reference to `XML_ParserCreate'
/work/httpd-2.4.39/srclib/apr-util/.libs/libaprutil-1.so: undefined reference to `XML_SetCharacterDataHandler'
/work/httpd-2.4.39/srclib/apr-util/.libs/libaprutil-1.so: undefined reference to `XML_ParserFree'
/work/httpd-2.4.39/srclib/apr-util/.libs/libaprutil-1.so: undefined reference to `XML_SetUserData'
/work/httpd-2.4.39/srclib/apr-util/.libs/libaprutil-1.so: undefined reference to `XML_StopParser'
/work/httpd-2.4.39/srclib/apr-util/.libs/libaprutil-1.so: undefined reference to `XML_Parse'
/work/httpd-2.4.39/srclib/apr-util/.libs/libaprutil-1.so: undefined reference to `XML_ErrorString'
/work/httpd-2.4.39/srclib/apr-util/.libs/libaprutil-1.so: undefined reference to `XML_SetElementHandler'
collect2: error: ld returned 1 exit status
make[2]: *** [htpasswd] Error 1
make[2]: Leaving directory `/work/httpd-2.4.39/support'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/work/httpd-2.4.39/support'
make: *** [all-recursive] Error 1

cd srclib

wget expat-2.2.7.tar.lz

tar  -xzf expat-2.2.7.tar.lz 

gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
tar --lzip -xf expat-2.2.7.tar.lz 

tar (child): lzip: Cannot exec: No such file or directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now
sudo apt install lzip
tar --lzip -xf expat-2.2.7.tar.lz 

cd expat-2.2.7 && ./configure && make

cd ../..

./configure --with-included-apr --with-pcre=./srclib/pcre-8.43/pcre-config --with-expat=./srclib/expat-2.2.7

make

/work/httpd-2.4.39/srclib/apr/libtool --silent --mode=link gcc -std=gnu99  -g -O2 -pthread      -L./srclib/expat-2.2.7/lib   -o libmain.la -static  config.lo log.lo main.lo vhost.lo util.lo util_fcgi.lo util_script.lo util_md5.lo util_cfgtree.lo util_ebcdic.lo util_time.lo connection.lo listen.lo util_mutex.lo mpm_common.lo mpm_unix.lo mpm_fdqueue.lo util_charset.lo util_cookies.lo util_debug.lo util_xml.lo util_filter.lo util_pcre.lo util_regex.lo exports.lo scoreboard.lo error_bucket.lo protocol.lo core.lo request.lo provider.lo eoc_bucket.lo eor_bucket.lo core_filters.lo util_expr_parse.lo util_expr_scan.lo util_expr_eval.lo  
/work/httpd-2.4.39/srclib/apr/libtool: line 7475: cd: ./srclib/expat-2.2.7/lib: No such file or directory
libtool:   error: cannot determine absolute directory name of './srclib/expat-2.2.7/lib'
make[2]: *** [libmain.la] Error 1
make[2]: Leaving directory `/work/httpd-2.4.39/server'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/work/httpd-2.4.39/server'
make: *** [all-recursive] Error 1

./configure --with-included-apr --with-pcre=./srclib/pcre-8.43/pcre-config --with-expat=`pwd`/srclib/expat-2.2.7

make

/work/httpd-2.4.39/srclib/apr/libtool --silent --mode=link gcc -std=gnu99  -g -O2 -pthread      -L/work/httpd-2.4.39/srclib/expat-2.2.7/lib   -o httpd  modules.lo buildmark.o -export-dynamic server/libmain.la modules/core/libmod_so.la modules/http/libmod_http.la server/mpm/event/libevent.la os/unix/libos.la -L/usr/local/lib -lpcre     /work/httpd-2.4.39/srclib/apr-util/libaprutil-1.la -lexpat /work/httpd-2.4.39/srclib/apr/libapr-1.la -lrt -lcrypt -lpthread -ldl 
/usr/bin/ld: cannot find -lpcre
collect2: error: ld returned 1 exit status
make[1]: *** [httpd] Error 1
make[1]: Leaving directory `/work/httpd-2.4.39'
make: *** [all-recursive] Error 1

 

make CFLAGS=-I`pwd`/srclib/pcre-8.43/ LDFLAGS=-L`pwd`/srclib/pcre-8.43

./httpd

lt-httpd: Could not open configuration file /usr/local/apache2/conf/httpd.conf: No such file or directory



-end-

 

 

 

+ Recent posts