Unable to load dynamic library '/usr/lib/php/modules/couchbase.so' - libcouchbase.so.7


#1

I got the following error:
Unable to load dynamic library ‘/usr/lib/php/modules/couchbase.so’ - libcouchbase.so.7: cannot open shared object file: No such file or directory in Unknown on line 0
I followed the instructions as follows:
couchbase.so is in /usr/lib/php/modules/ and in php.ini extension=couchbase.so
json is there and works, we use it in php all the time (built in, so extension=json.so is not needed)

yum install -y libcouchbase-devel --nogpgcheck
yum install -y libvbucket-devel --nogpgcheck

both worked, and libcouchbase.so is there, but not libcouchbase.so.7
I found:

/usr/lib/libcouchbase.so.1
/usr/lib/libcouchbase.so.1.2.2
/usr/lib/libcouchbase_libevent.so.1
/usr/lib/libcouchbase_libevent.so.1.0.0

… all soft links to libcouchbase.so, so I made another soft link to /usr/lib/libcouchbase.so.7 on the off chance that it would help, but no.

Couchbase 2.0 itself is installed and the samples work.


#2

It appears you’re trying to use the PHP 1.1 library with libcouchbase 1.0. You’ll need to use libcouchbase 1.1. For right, right now the best method of doing so would be to download the RPM from couchbase.com/develop/c/next

Apologies for the confusion. This is covered in the manuals and on the couchbase.com/develop page, but there can be confusion because there are two prominent releases.

Couchbase Server 1.8 which requires the 1.0 PHP extension which depends on libcouchbase 1.0
and
Couchbase Server 2.0 DP which requires 1.1DPx which depends on libcouchbase 1.1.x.

As of this writing, we’re prepping a new 1.1DP which will use libcouchbase 2.0.0beta. This should be available early next week. That’s why I’m recommending the use of a download, but you can certainly use yum as long as you install the specific version.