FYI: https://groups.google.com/forum/#!topic/fluentd/E9n2NX0Z0cE


On Thursday, July 9, 2015 at 5:19:40 PM UTC-7, M. Nunberg wrote:
>
> Perhaps it manipulates the compiler flags? I’m guessing there’s a lot 
> somewhere showing what compiler line it used.
> My knowledge with Ruby is rather limited (I only know about the C library 
> here..)
>
> On Jul 9, 2015, at 5:11 PM, Jesus Orosco <[email protected] <javascript:>> 
> wrote:
>
> 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]> 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].
>> 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