Cannot start apache2 with php5 due to missing sqlite3

Tom Brice tomtoday at gmail.com
Tue Mar 13 18:20:57 PDT 2007


On Mar 12, 2007, at 3:46 PM, Ryan Schmidt wrote:

> 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.

I appreciate the advice.  adding the variant was the only way I could  
get libiconv to install.  I had to install libiconv separately  
because, for whatever reason, libiconv was not using the darwin7  
variant correctly when installing as a dependency.  Specifiying  
+darwin7 for liboconv explicitly let me compile/install.  I added the  
darwin7 variant to apache2 in a (weak) effort to debug this problem.

>
>> 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.

I appreciate your time on this.  I don't know much about how these  
things compile but I can tell you that apache2 seems to work fine.   
Removing the php module from httpd.conf allwos it to startup and  
server pages.

Please let me know if there is anything I can do on my end.  I  
imagine this may be somewhat difficult to nail down on your end if  
you don't have access to a 10.3.x machine.

Thanks again,
Tom





More information about the macports-users mailing list