[MacPorts] #13182: Apache2 failure to start due to mod_ssl loading problem under Mac OS X 10.5 Leopard

MacPorts trac at macosforge.org
Mon Jan 7 02:48:42 PST 2008


#13182: Apache2 failure to start due to mod_ssl loading problem under Mac OS X 10.5
Leopard
-------------------------------+--------------------------------------------
  Reporter:  zach at copley.name  |       Owner:  imajes at macports.org           
      Type:  defect            |      Status:  new                           
  Priority:  Normal            |   Milestone:  Port Bugs                     
 Component:  ports             |     Version:  1.5.0                         
Resolution:                    |    Keywords:  apache2, ssl, mod_ssl, Leopard
-------------------------------+--------------------------------------------
Comment (by tabithamc at gmail.com):

 This bug report was initially filed under MacPorts version 1.5.0 but I am
 adding amendments for:



 MacPorts 1.6.0 (fresh copy) running on Mac OS X Server 10.5.1 (Leopard
 Server) and installation of Apache 2.2.6 (the, as of the time I submitted
 this information, current version attached to the "apache2" MacPort).



 Per Guido Soranzio, mod_ssl.so most definitely can be built as part of the
 Apache2 installation process against OpenSSL 0.9.8 (tested on my machine
 with the MacPort "openssl" which installs OpenSSL version 0.9.8g --
 '''not''' the openssl97 port). The sequence for installing per Guido's
 suggestions which he has tested on his Leopard-based machine and I have
 tested independently on my machine running Leopard Server are:


 (1) The apache2 port should first be uninstalled


 (2) Extract the apache2 source:


 {{{
 # port extract apache2
 --->  Fetching apache2
 --->  Verifying checksum(s) for apache2
 --->  Extracting apache2
 }}}


 (3) Search (recursive grep) where in the source the option "-export-
 symbols-regex" is defined to confirm the problem that this ticket on
 Leopard exists:

 {{{

 bash-3.2# grep -r "-export-symbols-regex"
 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_apache2/
 [SNIP]
 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_apache2/work/httpd-2.2.6/configure:
 test "x$silent" != "xyes" && echo "  setting MOD_SSL_LDADD to \"-export-
 symbols-regex ssl_module\""
 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_apache2/work/httpd-2.2.6/configure:
 MOD_SSL_LDADD="-export-symbols-regex ssl_module"
 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_apache2/work/httpd-2.2.6/configure:
 apr_addto_bugger="-export-symbols-regex ssl_module"
 [SNIP]
 }}}


 (4) Manually patch the apache2 Portfile with regard to the configure
 script in the section specific to Leopard (Darwin 9) by changing:


 {{{
 platform darwin 9 {
         depends_build-append port:gawk
 }
 }}}


 to:


 {{{
 platform darwin 9 {
         depends_build-append port:gawk
         post-extract {
                 reinplace "s|-export-symbols-regex ssl_module||g"
 ${worksrcpath}/configure
         }
 }
 }}}

 (5) Clean the apache2 port:


 {{{
 # port clean apache2
 }}}

 (6) Build and '''install''' the apache2 port:


 {{{
 $ sudo port -v install apache2
 }}}


 Tail of the expected output looks like this —>


 {{{
 --->  Archive apache2-2.2.6_0.powerpc.tgz packaged
 --->  Archive for apache2 2.2.6_0 packaged
 --->  Installing apache2 2.2.6_0
 --->  Activating apache2 2.2.6_0
 --->  Cleaning apache2
 --->  Removing workpath for apache2
 }}}

 (7) Read object information from mod_ssl with the otool tool, confirming
 that mod_ssl was built against the MacPort installation of OpneSSL (such
 as OpenSSL version 0.9.8g):

 {{{

 $ cd /opt/local/apache2/modules
 $ otool -L mod_ssl.so
 }}}


 Expect output quite similar to if not the same as —>

 {{{

 mod_ssl.so:
         /opt/local/lib/libssl.0.9.8.dylib (compatibility version 0.9.8,
 current version 0.9.8)
         /opt/local/lib/libcrypto.0.9.8.dylib (compatibility version 0.9.8,
 current version 0.9.8)
         /opt/local/lib/libz.1.dylib (compatibility version 1.0.0, current
 version 1.2.3)
         /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current
 version 1.0.0)
         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
 version 111.0.0)
 }}}

 (8) Run apache2 and expect the once mod_ssl.so error regarding symbols to
 '''vanish''':


 {{{
 $ /opt/local/apache2/bin/apachectl start
 }}}

 Thank you to Guido especially for his testing this on his Leopard client
 system which gave me the opportunity to further test on Leopard Server
 10.5.1

-- 
Ticket URL: <http://trac.macosforge.org/projects/macports/ticket/13182#comment:9>
MacPorts </projects/macports>
Ports system for Mac OS


More information about the macports-tickets mailing list