php-ext-couchbase on Ubuntu 12-32bit Failed

Hi People.

I'm trying to install the php-ext-couchbase on Ubuntu 12 so far without success. I'm getting this error from PHP:

php -m | grep couchbase
Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20100525+lfs/couchbase.so' - libcouchbase.so.2: cannot open shared object file: No such file or directory in Unknown on line 0

Previously had installed php5-fpm and Nginx and both were working fine and I have other PHP modules running smoothly. Couchbase server is working fine, too.

bellow, I will describe all the steps used trying to install the SDK and dependencies:

First, libcouchbase build from source:
git clone https://github.com/couchbase/libcouchbase.git
./config/autorun.sh
./configure
make
make distcheck
make install

Confirmed, and all files (including libcouchbase.so.2 ) are present in:

/usr/local/lib
/usr/local/include/libcouchbase

Then, php-ext-couchbase build from source:
git clone https://github.com/couchbase/php-ext-couchbase.git
phpize
./configure
make
make install
make test

Confirmed, and couchbase.so is present in /usr/lib/php5/20100525+lfs/ php extension folder.

After that, the configuration file was set.
Contents of couchbase.ini in /etc/php5/conf.d :
extension=/usr/lib/php5/20100525+lfs/couchbase.so

Then, restarted Nginx and PHP-fpm:

sudo /etc/init.d/nginx restart
sudo /etc/init.d/php5-fpm restart

I followed all the instructions and after hours remaking the process, no luck..
Originally'm used to working on Windows and only a few months using linux Ubuntu,
but I'll have to get used since this is my project development platform from now on.

So, I really appreciate any help, looking forward to begin using Couchbase and PHP.
Thanks in advance!

System :
Linux - Linux abs-965P-DS3 3.5.0-30-generic #51-Ubuntu SMP Tue May 14 18:49:52 UTC 2013 i686
PHP_VERSION : 5.4.6-1ubuntu1.3
ZEND_VERSION: 2.4.0

1 Answer

« Back to question.

Output from: ldd /usr/lib/php5/20100525+lfs/couchbase.so

linux-gate.so.1 => (0xb76e1000)
libcouchbase.so.2 => not found
libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xb7688000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb74dd000)
/lib/ld-linux.so.2 (0xb76e2000)

With that information I just copied libcouchbase.so.2 from /usr/local/lib/
to /lib/i386-linux-gnu/ and now it seems to be loaded and working !

New output from: ldd /usr/lib/php5/20100525+lfs/couchbase.so
linux-gate.so.1 => (0xb7788000)
libcouchbase.so.2 => /usr/lib/i386-linux-gnu/libcouchbase.so.2 (0xb7712000)
libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xb76f9000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb754e000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb7522000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb751d000)
/lib/ld-linux.so.2 (0xb7789000)

phpinfo( ) is now showing:


COUCHBASE
version: 1.1.5
libcouchbase ver: 2.1.1
json support: yes
fastlz support: yes
zlib support: yes
igbinary support: no

couchbase.compression_factor: 1.3
couchbase.compression_threshold: 2000
couchbase.compressor: none
couchbase.config_cache: no value
couchbase.durability_default_poll_interval: 100000
couchbase.durability_default_timeout: 40000000
couchbase.instance.persistent: On On
couchbase.restflush: On On
couchbase.serializer: php php
couchbase.view_timeout: 75 75

Was it a PATH environment variable problem ?
By the way, if you have any additional configuration recommended for extension Couchbase, I would be glad to know. Thanks!