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.
