Cannot start apache2 with php5 due to missing sqlite3

Ryan Schmidt ryandesign at macports.org
Mon Mar 12 13:46:05 PDT 2007


On Mar 9, 2007, at 13:59, Tom Brice wrote:

> I am seeing the same thing on a machine running OS X 10.3.9.  I  
> have installed sqlite3 from MacPorts (sqlite3 is not included with  
> OS X 10.3.9).  Here is what I did on a new (empty) install of  
> MacPorts:
>
> $ sudo port install sqlite3
> $ sudo port isntall libiconv +darwin_7
> $ sudo port install apache2 +darwin_7

FYI: The darwin_7 variant is auto-selected on Mac OS X 10.3.x; you do  
not need to specify it yourself.

Also, the apache2 port depends on the apr-util port, which depends on  
the libiconv port, so you don't need to install libiconv yourself.  
MacPorts is here to handle all this for you.

> at this point I verified that Apache was functional.  No errors on  
> startup and served pages as expected.
>
> $ sudo port install php5 +apache2 +darwin_7 +pear +mysql5
>
> After this completed with no errors I get in error_log when trying  
> to start apache (/opt/local/apache2/bin/apachectl start):
>
> dyld: /opt/local/apache2/bin/httpd Undefined symbols:
> _sqlite3_bind_parameter_count
> _sqlite3_bind_text
> _sqlite3_changes
> _sqlite3_close
> _sqlite3_column_bytes
> _sqlite3_column_count
> _sqlite3_column_name
> _sqlite3_column_text
> _sqlite3_column_type
> _sqlite3_errmsg
> _sqlite3_finalize
> _sqlite3_free
> _sqlite3_mprintf
> _sqlite3_open
> _sqlite3_prepare
> _sqlite3_reset
> _sqlite3_step
>
> Same a original post.  Perhaps there is an option that should be  
> included in configure for darwin 7 that points to a MacPorts  
> install of sqlite3?  Any other ideas?

MacPorts philosophy is to not use the system's version of a software  
package unless absolutely necessary. See the FAQ on the web site.  
Therefore if software requires sqlite3 it should use the MacPorts  
version of sqlite3, not the system's version.

I see with "otool -L /opt/local/apache2/bin/httpd" that on my 10.4.8  
PPC system it depends on /usr/lib/libsqlite3.0.dylib. So the apache2  
port should be modified to depend on the sqlite3 port and to use that  
version of sqlite3 instead.

In the original thread on this topic to which you refer, I thought  
php5 was causing the problem. But "otool -L /opt/local/bin/php" and  
"otool -L /opt/local/apache2/modules/libphp5.so" make no mention of a  
dependency on sqlite3 so I'm now inclined to think it's the apache2  
port that needs to be changed, not the php5 port.

I'm CCing the apache2 port maintainer on this.




More information about the macports-users mailing list