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 <traw...@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?