You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by Anthony Rutledge <an...@yahoo.com.INVALID> on 2015/06/27 16:53:34 UTC

[users@httpd] Help. DSOs not being built from source? Apache 2.4.12 & CentOS 7 (x86_64)

DSOs not being built from source? Apache 2.4.12 & CentOS 7 (x86_64)
This is a good question for those who are experts at installing Apache 2.4.12 from source.
First, no errors are being generated. My "configure, make, make install" sequence successfully creates a /usr/local/apache2/ directory.Second, I have read the manual, poured over ./configure -h, searched the web, and no where does there seem to be anyone experiencing the same problem as me.No matter what  "configure --foo-bar" sequence/combination I use, the shared modules are never built, or I cannot find them. I expect them to be under /usr/local/modules/, but all I get are *.a and *.la files. Alright, gurus, what am I missing?
Again, no matter what configure sequence/combination I try, *.so (DSO) files are never built, or I cannot find them.
apachectl -l does list mod_so as being compiled in statically. 
(P.S. Also posted on: ServerFault at http://serverfault.com/questions/701992/apache-2-4-12-centos-7-dso-shared-modules-not-being-built-during-compile )
Can someone explain why no DSO's are being built, or how to build at least one? Very strange.

Re: [users@httpd] Help. DSOs not being built from source? Apache 2.4.12 & CentOS 7 (x86_64)

Posted by Anthony Rutledge <an...@yahoo.com.INVALID>.
Thanks for the reply, Jeff.
My source install is 100% scripted (bash), from using wget to download tarballs, extracting the tarballs with tar, copying apr and apr-utils under ../srclib, and so on. However, the first very  thing it does is delete all previous files that were installed. Would I still need to do "make distclean". Here's my opening sequence (without decision logic or checking the hash signature). 

#!/usr/bin/bash
#
#Apache 2.4.12 Installer
#

echo -e "Changing to the downloads directory!\n\n"
cd ../downloads/
echo -e "Removing all previous tarballs, extracted sources, and main install directory.!\n\n"
rm -rfv httpd* apr* /usr/local/apache2

echo -e "Downloading APR (Apache Portable Runtime) 1.5.2\n\n"
wget http://ftp.wayne.edu/apache//apr/apr-1.5.2.tar.bz2

echo -e "Downloading APR-UTIL (Apache Portable Runtime Utilities) 1.5.4\n\n"
wget http://ftp.wayne.edu/apache//apr/apr-util-1.5.4.tar.bz2

echo -e "Downloading Apache HTTP Server 2.4.12\n\n"
wget http://ftp.wayne.edu/apache//httpd/httpd-2.4.12.tar.bz2

echo -e "Extracting APR 1.5.2\n\n"
tar -xjvf apr-1.5.2.tar.bz2

echo -e "Extracting APR-UTILS 1.5.4\n\n"
tar -xjvf apr-util-1.5.4.tar.bz2

echo -e "Extracting httpd-2.4.12\n\n"
tar -xjvf httpd-2.4.12.tar.bz2
echo -e "Compiling Apache HTTP Server 2.4.12\n\n"mkdir -v srclib/apr/ srclib/apr-util/
mv -v ../apr-1.5.2/* srclib/apr/
mv -v ../apr-util-1.5.4/* srclib/apr-util/

###Now, I'll try your configure combo./configure --enable-mods-shared=few --prefix=/tmp/test-config > cfgout 2>&1 && make >makeout 2>&1 && make install > installout 2>&1 && ./httpd -l && ./httpd -M
[running as I type]..
[Nothing yet]..
The output produced was the buttom half of a listing from httpd -M. Looks good,because there are lines like
so_module (static)
unixd_module (shared)status_module(shared)

...which is great! The only significant difference between your configure sequence and mine is the use of the --prefix=  option. I tried ./configure --enable-mods-shared=all (etc...), but that did not work. 
Could it be the --prefix option is that important?
Let's check for DSOs 

ls -l /tmp/test-config//modules/*.so
Bada-bing, bada-boom. Alright, looks good.I'll do my regular configure stuff with --prefix=/usr/local/apache2 and follow up.
Thank you.
Anthony



     From: Jeff Trawick <tr...@gmail.com>
 To: users@httpd.apache.org 
 Sent: Saturday, June 27, 2015 4:43 PM
 Subject: Re: [users@httpd] Help. DSOs not being built from source? Apache 2.4.12 & CentOS 7 (x86_64)
   
 

On 06/27/2015 10:53 AM, Anthony Rutledge wrote:
  
  DSOs not being built from source? Apache 2.4.12 & CentOS 7 (x86_64) 
  This is a good question for those who are experts at installing Apache 2.4.12 from source. 
  First, no errors are being generated. My "configure, make, make install" sequence successfully creates a /usr/local/apache2/ directory. Second, I have read the manual, poured over ./configure -h, searched the web, and no where does there seem to be anyone experiencing the same problem as me. No matter what  "configure --foo-bar" sequence/combination I use, the shared modules are never built, or I cannot find them. I expect them to be under /usr/local/modules/, but all I get are *.a and *.la files. Alright, gurus, what am I missing? 
  Again, no matter what configure sequence/combination I try, *.so (DSO) files are never built, or I cannot find them.
  apachectl -l does list mod_so as being compiled in statically.  
  (P.S. Also posted on: ServerFault at http://serverfault.com/questions/701992/apache-2-4-12-centos-7-dso-shared-modules-not-being-built-during-compile ) 
  Can someone explain why no DSO's are being built, or how to build at least one? Very strange.
   
 Maybe you didn't "make distclean" between attempts at different configure invocations in the same dirty source tree?
 
 Here's one simple recipe to try:
 
 (change /tmp/test-config if you don't have sufficient space there)
 
 unpack source again 
 cd httpd-2.4.12
 ./configure --enable-mods-shared=few --prefix=/tmp/test-config > cfgout 2>&1 && make >makeout 2>&1 && make install > installout 2>&1 && ./httpd -l && ./httpd -M
 
 Does it finish?  What is the output?  
 

  

Re: [users@httpd] Help. DSOs not being built from source? Apache 2.4.12 & CentOS 7 (x86_64)

Posted by Anthony Rutledge <an...@yahoo.com.INVALID>.
I do not think the --prefix option is the key. They key is probably the order of the options.My final ./configure line (broken up line by line).
cd httpd-2.4.12/
mkdir -v srclib/apr/ srclib/apr-util/
mv -v ../apr-1.5.2/* srclib/apr/
mv -v ../apr-util-1.5.4/* srclib/apr-util/
./configure --enable-mods-shared=all \     <---Perhaps the most important position of all.
                --prefix=/usr/local/apache2
                --with-mpm=prefork \
                --with-pcre=/usr/local/bin/pcre-config \
                --with-included-apr \
                --with-z=/usr/local/lib \ 
                --with-ssl=/usr/local/ssl \
                --with-sslport=443 \
                --with-port=80

make && make install && ./httpd -l && ./httpd -M 
cd ~/downloads/
sleep 5

[Install PHP 5.6.9][Install Bind 9.10.2]

etc ...

It works. 
      From: Jeff Trawick <tr...@gmail.com>
 To: users@httpd.apache.org 
 Sent: Saturday, June 27, 2015 4:43 PM
 Subject: Re: [users@httpd] Help. DSOs not being built from source? Apache 2.4.12 & CentOS 7 (x86_64)
   
 

On 06/27/2015 10:53 AM, Anthony Rutledge wrote:
  
  DSOs not being built from source? Apache 2.4.12 & CentOS 7 (x86_64) 
  This is a good question for those who are experts at installing Apache 2.4.12 from source. 
  First, no errors are being generated. My "configure, make, make install" sequence successfully creates a /usr/local/apache2/ directory. Second, I have read the manual, poured over ./configure -h, searched the web, and no where does there seem to be anyone experiencing the same problem as me. No matter what  "configure --foo-bar" sequence/combination I use, the shared modules are never built, or I cannot find them. I expect them to be under /usr/local/modules/, but all I get are *.a and *.la files. Alright, gurus, what am I missing? 
  Again, no matter what configure sequence/combination I try, *.so (DSO) files are never built, or I cannot find them.
  apachectl -l does list mod_so as being compiled in statically.  
  (P.S. Also posted on: ServerFault at http://serverfault.com/questions/701992/apache-2-4-12-centos-7-dso-shared-modules-not-being-built-during-compile ) 
  Can someone explain why no DSO's are being built, or how to build at least one? Very strange.
   
 Maybe you didn't "make distclean" between attempts at different configure invocations in the same dirty source tree?
 
 Here's one simple recipe to try:
 
 (change /tmp/test-config if you don't have sufficient space there)
 
 unpack source again 
 cd httpd-2.4.12
 ./configure --enable-mods-shared=few --prefix=/tmp/test-config > cfgout 2>&1 && make >makeout 2>&1 && make install > installout 2>&1 && ./httpd -l && ./httpd -M
 
 Does it finish?  What is the output?  
 

  

Re: [users@httpd] Help. DSOs not being built from source? Apache 2.4.12 & CentOS 7 (x86_64)

Posted by Jeff Trawick <tr...@gmail.com>.
On 06/27/2015 10:53 AM, Anthony Rutledge wrote:
> DSOs not being built from source? Apache 2.4.12 & CentOS 7 (x86_64)
>
> This is a good question for those who are experts at installing Apache 
> 2.4.12 from source.
>
> First, no errors are being generated. My "configure, make, make 
> install" sequence successfully creates a /usr/local/apache2/ directory.
> Second, I have read the manual, poured over ./configure -h, searched 
> the web, and no where does there seem to be anyone experiencing the 
> same problem as me.
> No matter what "configure --foo-bar" sequence/combination I use, the 
> shared modules are never built, or I cannot find them. I expect them 
> to be under /usr/local/modules/, but all I get are *.a and *.la files. 
> Alright, gurus, what am I missing?
>
> Again, no matter what configure sequence/combination I try, *.so (DSO) 
> files are never built, or I cannot find them.
> apachectl -l does list mod_so as being compiled in statically.
>
> (P.S. Also posted on: ServerFault at 
> http://serverfault.com/questions/701992/apache-2-4-12-centos-7-dso-shared-modules-not-being-built-during-compile 
> )
>
> Can someone explain why no DSO's are being built, or how to build at 
> least one? Very strange.
Maybe you didn't "make distclean" between attempts at different 
configure invocations in the same dirty source tree?

Here's one simple recipe to try:

(change /tmp/test-config if you don't have sufficient space there)

unpack source again
cd httpd-2.4.12
./configure --enable-mods-shared=few --prefix=/tmp/test-config > cfgout 
2>&1 && make >makeout 2>&1 && make install > installout 2>&1 && ./httpd 
-l && ./httpd -M

Does it finish?  What is the output?