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