[CCBC-126] Failed to create IO Instance error. Created: 27/Oct/12  Updated: 21/Nov/12  Resolved: 20/Nov/12

Status: Closed
Project: Couchbase C client library libcouchbase
Component/s: library
Affects Version/s: 2.0.0beta2
Fix Version/s: 2.0.0beta3
Security Level: Public

Type: Bug Priority: Critical
Reporter: Paul B Assignee: Sergey Avseyev
Resolution: Won't Fix Votes: 0
Labels: php
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment: - CentOS release 5.4 (Final)
- PHP 5.3.18

and

Latest Basic Amazon AMI 64 bit (3.2.30-49.59.amzn1.x86_64) --> http://aws.amazon.com/amazon-linux-ami/


 Description   
This is the php used when getting the error:

<?php
$cb = new Couchbase("localhost:8091", "Administrator", "password", "default");
$cb->set("a", 1);
var_dump($cb->get("a"));
?>



---------------------------
ERROR
----------------------------

PHP Warning: Couchbase::__construct(): failed to create IO instance in /var/www/test_couchbase.php on line 3


 Comments   
Comment by Matt Ingenthron [ 28/Oct/12 ]
Sergey: I believe this is caused by a problem with the new packaging. Amazon Linux doesn't install an event backend by default for libcouchbase. Can you look into this?
Comment by Jeff Minard [ 29/Oct/12 ]
I had the same in centos5. Base on your suggestion Matt, I ran

    sudo yum install libcouchbase2-libevent.x86_64


and the error went away.
Comment by Paul B [ 30/Oct/12 ]
Jeff Minard:

I currently have
libevent-2.0.18-1.9.amzn1.x86_64
libevent-devel-2.0.18-1.9.amzn1.x86_64

 when I try install that I get this error:

Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package libcouchbase2-libevent.x86_64 0:2.0.0beta2-1 will be installed
--> Processing Dependency: libevent-1.4.so.2()(64bit) for package: libcouchbase2-libevent-2.0.0beta2-1.x86_64
--> Finished Dependency Resolution
Error: Package: libcouchbase2-libevent-2.0.0beta2-1.x86_64 (couchbase)
           Requires: libevent-1.4.so.2()(64bit)
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

Does anyone know where to get this file as I cannot seem to locate it.


Comment by Sergey Avseyev [ 30/Oct/12 ]
Could you please point where amazon said that amazon latest ami is centos 5.5? We doesn't build RPMs for amazon AMI. You should install libcouchbase from sources.
Comment by Sergey Avseyev [ 30/Oct/12 ]
You should use only official centos packages (5.5 for example has only libevent1)

[root@ip-10-28-193-82 ~]# yum install libcouchbase2-libevent
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.us.leaseweb.net
 * extras: mirror.cogentco.com
 * updates: mirror.cogentco.com
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package libcouchbase2-libevent.i386 0:2.0.0beta2-1 set to be updated
--> Processing Dependency: libcouchbase2 for package: libcouchbase2-libevent
--> Running transaction check
---> Package libcouchbase2.i386 0:2.0.0beta2-1 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

=========================================================================================================================================================================
 Package Arch Version Repository Size
=========================================================================================================================================================================
Installing:
 libcouchbase2-libevent i386 2.0.0beta2-1 couchbase 28 k
Installing for dependencies:
 libcouchbase2 i386 2.0.0beta2-1 couchbase 81 k

Transaction Summary
=========================================================================================================================================================================
Install 2 Package(s)
Upgrade 0 Package(s)

Total download size: 109 k
Is this ok [y/N]: y
Downloading Packages:
(1/2): libcouchbase2-libevent-2.0.0beta2-1.i386.rpm | 28 kB 00:00
(2/2): libcouchbase2-2.0.0beta2-1.i386.rpm | 81 kB 00:00
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 374 kB/s | 109 kB 00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : libcouchbase2-libevent 1/2
  Installing : libcouchbase2 2/2

Installed:
  libcouchbase2-libevent.i386 0:2.0.0beta2-1

Dependency Installed:
  libcouchbase2.i386 0:2.0.0beta2-1

Complete!
Comment by Sergey Avseyev [ 30/Oct/12 ]
curl -s http://vault.centos.org/5.5/os/i386/CentOS/ | grep libevent
Comment by Matt Ingenthron [ 16/Nov/12 ]
Sergey: you marked this one as resolved, but did not indicate what the resolution was. Is the resolution "workaround, please use libevent1?".

Please clarify and change the state.
Comment by Sergey Avseyev [ 20/Nov/12 ]
Yes, all RPM systems where we are building _binary_ packages have only libevent1, therefore if someone decided to install libevent2, he should either install libcouchbase from tarball, or make his own RPM packages using 'make dist-rpm' target
Generated at Fri Oct 31 00:44:42 CDT 2014 using JIRA 5.2.4#845-sha1:c9f4cc41abe72fb236945343a1f485c2c844dac9.