Care to speculate why this worked?

[email protected]:/opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/fluentd-0.10.60/bin#
 
./fluent-gem install ~/couchbase-1.3.13.gem
Building native extensions.  This could take a while...
Successfully installed couchbase-1.3.13
Parsing documentation for couchbase-1.3.13
Done installing documentation for couchbase after 2 seconds
1 gem installed



On Wednesday, July 8, 2015 at 2:13:39 PM UTC-7, M. Nunberg wrote:
>
> So it seems libruby.so uses its own *statically linked* openssl, and 
> exports those symbols so they are available to other applications. Maybe 
> modifying the linker commandline to provide *-lcouchbase before -lruby*
> would help? I’m not entirely sure. Your best bet is to build the library 
> without openssl (requires CMake, use ./cmake/configure —disable-ssl). 
> Follow the instructions for building from source on the README (
> https://github.com/couchbase/libcouchbase). Remember to *git checkout 
> 2.5.1* before building in order to get a stable release version.
>
> On Jul 8, 2015, at 1:49 PM, Jesus Orosco <[email protected] <javascript:>> 
> wrote:
>
> cbc version:
>
> [email protected]:/opt/td-agent/embedded/lib# cbc version
> cbc:
>   Runtime: Version=2.5.1, 
> Changeset=54ea1fa2e7bd5fef34450d09f2677bb53b6e62ea
>   Headers: Version=2.5.1, 
> Changeset=54ea1fa2e7bd5fef34450d09f2677bb53b6e62ea
>   IO: Default=libevent, Current=libevent
>   SSL: .. SUPPORTED
>
> ldd:
>
> [email protected]:/opt/td-agent/embedded/lib# ldd 
> /opt/td-agent/embedded/bin/ruby
> linux-vdso.so.1 =>  (0x00007fff02f72000)
> libruby.so.2.1 => /opt/td-agent/embedded/lib/libruby.so.2.1 
> (0x00007f0e98795000)
> libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f0e983c9000)
> libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 
> (0x00007f0e981aa000)
> libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f0e97fa6000)
> libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007f0e97d6d000)
> libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f0e97a66000)
> /lib64/ld-linux-x86-64.so.2 (0x00007f0e98c74000)
>
> On Wednesday, July 8, 2015 at 1:43:23 PM UTC-7, M. Nunberg wrote:
>>
>> So you’re using the correct system openssl, but for some reason I still 
>> suspect that the Ruby you are using isn’t using the correct one.
>>
>> Just to verify, download the libcouchbase command line tools 
>> (libcouchbase2-bin) and see if a simple command such as ‘cbc version’ works 
>> for you. If that does, your options are:
>>
>> 1) Rebuild libcouchbase without SSL support (you’d need to build it from 
>> source)
>> 2) Ensure your Ruby uses the system-available openssl
>>
>> Curious what an ‘ldd’ would yield on the Ruby binary being used. 
>>
>> On Jul 8, 2015, at 1:24 PM, Jesus Orosco <[email protected]> wrote:
>>
>> Openssl version as follows:
>>
>> [email protected]:~# dpkg -l | grep openssl
>> ii  libgnutls-openssl27:amd64           2.12.23-12ubuntu2.2             
>>  amd64        GNU TLS library - OpenSSL wrapper
>> ii  openssl                             1.0.1f-1ubuntu2.11               
>> amd64        Secure Sockets Layer toolkit - cryptographic utility
>>
>> I failed to mention this, my bad. Yes I am using the Ruby that is 
>> embedded with Treasure Data Fluent D package, the ultimate goal being to 
>> use the Couchbase plugin for fluentd:
>>
>> https://github.com/obieq/fluent-plugin-couchbase
>>
>> I have this working on Ubuntu 12 using a similar embedded version of Ruby.
>>
>> On Wednesday, July 8, 2015 at 1:16:25 PM UTC-7, M. Nunberg wrote:
>>>
>>> What version of openssl do you have installed? What does dpkg say? At 
>>> first glance it would seem that either libcouchase is linked against the 
>>> wrong openssl, or you have a different openssl installation.
>>>
>>> I’ve just downloaded the libssl deb for trusty and extracted it. Among 
>>> one of the symbols missing is SSL_get_ssl_method@OPENSSL_1.0.0 (from the 
>>> error log).
>>>
>>> It’s found inside the ssl package I just downloaded:
>>> *mnunberg@csure*:
>>> *~/repos/ubuntu/pool/trusty/main/libc/libcouchbase/tmp/lib/x86_64-linux-gnu*$
>>>  
>>> readelf -a libssl.so.1.0.0 | grep SSL_get_ssl_method
>>>    622: 0000000000038830     5 FUNC    GLOBAL DEFAULT   12 
>>> SSL_get_ssl_method@@OPENSSL_1.0.0
>>>
>>> I am seeing you are using a *non-system* Ruby installation. Perhaps 
>>> this Ruby version has its own openssl which is different than the system’s, 
>>> and in turn, is accidentally being picked up by libcouchbase?
>>>
>>> On Jul 8, 2015, at 1:05 PM, Jesus Orosco <[email protected]> wrote:
>>>
>>> I've installed the most recent C libraries via Couchbase repo:
>>>
>>> [email protected]:~# dpkg -l | grep couchbase
>>> ii  libcouchbase-dev:amd64              2.5.1-1                         
>>>  amd64        library for the Couchbase protocol, development files
>>> ii  libcouchbase2-bin                   2.5.1-1                         
>>>  amd64        library for the Couchbase protocol
>>> ii  libcouchbase2-core:amd64            2.5.1-1                         
>>>  amd64        library for the Couchbase protocol, core files
>>> ii  libcouchbase2-libev:amd64           2.5.1-1                         
>>>  amd64        library for the Couchbase protocol (libev backend)
>>> ii  libcouchbase2-libevent:amd64        2.5.1-1                         
>>>  amd64        library for the Couchbase protocol (libevent backend)
>>>
>>> Only find 1 library: 
>>>
>>> [email protected]:~# find / -name couchbase.h 2>/dev/null
>>> /usr/include/libcouchbase/couchbase.h
>>>
>>> gem install seems to fail to find the libcouchbase libraries:
>>>
>>> [email protected]:~# /opt/td-agent/embedded/bin/gem install couchbase 
>>> -v 1.3.13
>>> Building native extensions.  This could take a while...
>>> ERROR:  Error installing couchbase:
>>> ERROR: Failed to build gem native extension.
>>>
>>>     /opt/td-agent/embedded/bin/ruby extconf.rb
>>> checking for lcb_iops_wire_bsd_impl2(NULL, 0) in -lcouchbase... no
>>>
>>> **********************************************************************
>>> * You must install libcouchbase >= 2.4.0
>>> * See http://www.couchbase.com/communities/c/ for more details
>>> **********************************************************************
>>>
>>> *** extconf.rb failed ***
>>> Could not create Makefile due to some reason, probably lack of necessary
>>> libraries and/or headers.  Check the mkmf.log file for more details. 
>>>  You may
>>> need configuration options.
>>>
>>> Provided configuration options:
>>> --with-opt-dir
>>> --with-opt-include
>>> --without-opt-include=${opt-dir}/include
>>> --with-opt-lib
>>> --without-opt-lib=${opt-dir}/lib
>>> --with-make-prog
>>> --without-make-prog
>>> --srcdir=.
>>> --curdir
>>> --ruby=/opt/td-agent/embedded/bin/ruby
>>> --with-libcouchbase-dir
>>> --without-libcouchbase-dir
>>> --with-libcouchbase-include
>>> --without-libcouchbase-include=${libcouchbase-dir}/include
>>> --with-libcouchbase-lib
>>> --without-libcouchbase-lib=${libcouchbase-dir}/lib
>>> --with-couchbaselib
>>> --without-couchbaselib
>>>
>>> extconf failed, exit code 1
>>>
>>> Gem files will remain installed in 
>>> /opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/couchbase-1.3.13 for 
>>> inspection.
>>> Results logged to 
>>> /opt/td-agent/embedded/lib/ruby/gems/2.1.0/extensions/x86_64-linux/2.1.0/couchbase-1.3.13/gem_make.out
>>>
>>> mkmf.log:
>>>
>>> http://pastebin.com/PuNJVpdY
>>>
>>> -- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "Couchbase" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to [email protected].
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>>
>>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Couchbase" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected].
>> For more options, visit https://groups.google.com/d/optout.
>>
>>
>>
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Couchbase" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] <javascript:>.
> For more options, visit https://groups.google.com/d/optout.
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Couchbase" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to