Cannot start apache2 with php5 due to missing sqlite3

Ryan Schmidt ryandesign at macports.org
Sat Jan 27 02:17:37 PST 2007


On Jan 26, 2007, at 23:59, Mark Duling wrote:

> Well check this out.  So I have Apache 2.4.2 installed on a clean OS X
> box, but a port I have during configure does a 'apxs -q CC' (I  
> patched it
> to find ${prefix}/apache2/bin/apxs) but it looks for a MacPorts  
> mysqlite
> library.
>
>  /opt/local/apache2/bin/apxs -q CC
> dyld: Library not loaded: /opt/local/lib/libsqlite3.0.dylib
>   Referenced from: /opt/local/apache2/bin/httpd
>   Reason: image not found
> apxs:Error: Sorry, no shared object support for Apache.
> apxs:Error: available under your platform. Make sure.
> apxs:Error: the Apache module mod_so is compiled into.
> apxs:Error: your server binary `/opt/local/apache2/bin/httpd'..
>
> So the test fails.  But after I install MacPorts mysqlite3, it is  
> fine.
>
> /opt/local/apache2/bin/apxs -q CC
> gcc
>
> So should mysqlite3 be a dependency of Apache?

I wouldn't have thought that would be generally necessary. I have  
apache 2.2.4 installed on my Mac OS X 10.4.8 box and it works  
correctly, yet I do not have the sqlite3 port installed. otool shows  
that my apache is linking against sqlite3 provided by Mac OS X:

$ otool -L /opt/local/apache2/bin/httpd
/opt/local/apache2/bin/httpd:
         /opt/local/lib/libpcre.0.dylib (compatibility version 1.0.0,  
current version 1.1.0)
         /opt/local/lib/libaprutil-1.0.dylib (compatibility version  
3.0.0, current version 3.8.0)
         /usr/lib/libsqlite3.0.dylib (compatibility version 9.0.0,  
current version 9.6.0)
         /opt/local/lib/libexpat.1.dylib (compatibility version  
7.0.0, current version 7.0.0)
         /opt/local/lib/libiconv.2.dylib (compatibility version  
7.0.0, current version 7.0.0)
         /opt/local/lib/libapr-1.0.dylib (compatibility version  
3.0.0, current version 3.8.0)
         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0,  
current version 88.1.7)

Note that sqlite has nothing to do with mysql.

So, both php5 and apache2 require sqlite3. So the question from my  
last mail remains: Is /usr/lib/libsqlite3.0.dylib in existence on the  
systems that are having these problems? Perhaps we should add a  
dependency line that says "we require libsqlite3, and if there isn't  
one, then install the sqlite3 port" since obviously some systems have  
it already installed as part of the OS, and some don't.

Or is this a case of where we would want to follow the general  
MacPorts policy of using our own builds of everything even when the  
system provides something? If so, then apache2 and php5 should both  
depend on the sqlite3 port.





More information about the macports-users mailing list