sensu-plugins / sensu-plugins-memcached

This plugin provides native memcached instrumentation for monitoring and metrics collection, including: service health and metrics via the memcached stats command.
http://sensu-plugins.io
MIT License
2 stars 9 forks source link

plugin install fails on first run #4

Closed envintus closed 6 years ago

envintus commented 7 years ago

This plugin fails on the first run, but a subsequent attempt to install is always successful. All dependencies are installed, like libsasl, etc.

The following output is from sensu-install: `ERROR: Error installing sensu-plugins-memcached: ERROR: Failed to build gem native extension.

                  current directory: /opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/memcached-1.8.0/ext
              /opt/sensu/embedded/bin/ruby -r ./siteconf20170512-2359-1g55r1s.rb extconf.rb
              checking for sasl/sasl.h... yes
              Touching all files so autoconf doesn't run.
              find . | xargs touch -t 201705121450.45
              Configuring libmemcached.
              env CFLAGS='-fPIC -I/opt/sensu/embedded/include -O2 -O3 -g -pipe -fPIC -I/opt/sensu/embedded/include -O2 -O3 -g -pipe -fPIC' LDFLAGS='-fPIC -L. -Wl,-rpath,/opt/sensu/embedded/lib -fstack-protector -L/opt/sensu/embedded/lib -rdynamic -Wl,-export-dynamic -L/opt/sensu/embedded/lib  -Wl,-R/opt/sensu/embedded/lib -L. -Wl,-rpath,/opt/sensu/embedded/lib -fstack-protector -L/opt/sensu/embedded/lib -rdynamic -Wl,-export-dynamic -L/opt/sensu/embedded/lib  -Wl,-R/opt/sensu/embedded/lib -L/opt/sensu/embedded/lib' ./configure --prefix=/opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/memcached-1.8.0/ext --libdir=/opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/memcached-1.8.0/ext/lib --without-memcached --disable-shared --disable-utils --disable-dependency-tracking CC="gcc"  2>&1
              checking build system type... x86_64-unknown-linux-gnu
              checking host system type... x86_64-unknown-linux-gnu
              checking target system type... x86_64-unknown-linux-gnu
              checking for a BSD-compatible install... /usr/bin/install -c
              checking whether build environment is sane... yes
              /opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/memcached-1.8.0/ext/libmemcached-0.32/config/missing: Unknown `--is-lightweight' option
              Try `/opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/memcached-1.8.0/ext/libmemcached-0.32/config/missing --help' for more information
              configure: WARNING: 'missing' script is too old or missing
              checking for a thread-safe mkdir -p... /bin/mkdir -p
              checking for gawk... no
              checking for mawk... mawk
              checking whether make sets $(MAKE)... yes
              checking whether make supports nested variables... yes
              checking for style of include used by make... GNU
              checking for gcc... gcc
              checking whether the C compiler works... yes
              checking for C compiler default output file name... a.out
              checking for suffix of executables... 
              checking whether we are cross compiling... no
              checking for suffix of object files... o
              checking whether we are using the GNU C compiler... yes
              checking whether gcc accepts -g... yes
              checking for gcc option to accept ISO C89... none needed
              checking whether gcc understands -c and -o together... yes
              checking dependency style of gcc... none
              checking for isainfo... no
              checking how to run the C preprocessor... gcc -E
              checking for grep that handles long lines and -e... /bin/grep
              checking for egrep... /bin/grep -E
              checking for ANSI C header files... yes
              checking for sys/types.h... yes
              checking for sys/stat.h... yes
              checking for stdlib.h... yes
              checking for string.h... yes
              checking for memory.h... yes
              checking for strings.h... yes
              checking for inttypes.h... yes
              checking for stdint.h... yes
              checking for unistd.h... yes
              checking minix/config.h usability... no
              checking minix/config.h presence... no
              checking for minix/config.h... no
              checking whether it is safe to define __EXTENSIONS__... yes
              checking how to print strings... printf
              checking for a sed that does not truncate output... /bin/sed
              checking for fgrep... /bin/grep -F
              checking for ld used by gcc... /usr/bin/ld
              checking if the linker (/usr/bin/ld) is GNU ld... yes
              checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
              checking the name lister (/usr/bin/nm -B) interface... BSD nm
              checking whether ln -s works... yes
              checking the maximum length of command line arguments... 1572864
              checking whether the shell understands some XSI constructs... yes
              checking whether the shell understands "+="... yes
              checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
              checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
              checking for /usr/bin/ld option to reload object files... -r
              checking for objdump... objdump
              checking how to recognize dependent libraries... pass_all
              checking for dlltool... no
              checking how to associate runtime and link libraries... printf %s\n
              checking for ar... ar
              checking for archiver @FILE support... @
              checking for strip... strip
              checking for ranlib... ranlib
              checking command to parse /usr/bin/nm -B output from gcc object... ok
              checking for sysroot... no
              checking for mt... mt
              checking if mt is a manifest tool... no
              checking for dlfcn.h... yes
              checking for g++... g++
              checking whether we are using the GNU C++ compiler... yes
              checking whether g++ accepts -g... yes
              checking dependency style of g++... none
              checking for objdir... .libs
              checking if gcc supports -fno-rtti -fno-exceptions... no
              checking for gcc option to produce PIC... -fPIC -DPIC
              checking if gcc PIC flag -fPIC -DPIC works... yes
              checking if gcc static flag -static works... no
              checking if gcc supports -c -o file.o... yes
              checking if gcc supports -c -o file.o... (cached) yes
              checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
              checking dynamic linker characteristics... GNU/Linux ld.so
              checking how to hardcode library paths into programs... immediate
              checking whether stripping libraries is possible... yes
              checking if libtool supports shared libraries... yes
              checking whether to build shared libraries... no
              checking whether to build static libraries... yes
              checking how to run the C++ preprocessor... g++ -E
              checking for ld used by g++... /usr/bin/ld -m elf_x86_64
              checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
              checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
              checking for g++ option to produce PIC... -fPIC -DPIC
              checking if g++ PIC flag -fPIC -DPIC works... yes
              checking if g++ static flag -static works... no
              checking if g++ supports -c -o file.o... yes
              checking if g++ supports -c -o file.o... (cached) yes
              checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
              checking dynamic linker characteristics... (cached) GNU/Linux ld.so
              checking how to hardcode library paths into programs... immediate
              checking if g++ supports C++0x features without additional flags... no
              checking if g++ supports C++0x features with -std=c++0x... no
              checking if g++ supports C++0x features with -std=gnu++0x... no
              checking for stdlib.h... (cached) yes
              checking for GNU libc compatible malloc... yes
              checking for stdlib.h... (cached) yes
              checking for GNU libc compatible realloc... yes
              checking whether we are using the GNU C++ compiler... (cached) yes
              checking whether g++ accepts -g... (cached) yes
              checking dependency style of g++... (cached) none
              checking how to run the C preprocessor... gcc -E
              checking whether __SUNPRO_C is declared... no
              checking whether __ICC is declared... no
              checking for ISO C++ 98 include files... yes
              checking memory usability... yes
              checking memory presence... yes
              checking for memory... yes
              checking tr1/memory usability... yes
              checking tr1/memory presence... yes
              checking for tr1/memory... yes
              checking boost/shared_ptr.hpp usability... no
              checking boost/shared_ptr.hpp presence... no
              checking for boost/shared_ptr.hpp... no
              checking the location of shared_ptr header file... 
              checking whether byte ordering is bigendian... no
              checking for an ANSI C-conforming const... yes
              checking for inline... inline
              checking for working volatile... yes
              checking for C/C++ restrict keyword... __restrict
              checking whether time.h and sys/time.h may both be included... yes
              checking for size_t... yes
              checking for special C compiler options needed for large files... no
              checking for _FILE_OFFSET_BITS value needed for large files... no
              checking "C Compiler version--yes"... "gcc (Debian 4.9.2-10) 4.9.2"
              checking "C++ Compiler version"... "g++ (Debian 4.9.2-10) 4.9.2"
              checking for simple visibility declarations... yes
              checking whether to enable assertions... yes
              checking assert.h usability... yes
              checking assert.h presence... yes
              checking for assert.h... yes
              checking whether it is safe to use -fdiagnostics-show-option... yes
              checking whether it is safe to use -Wconversion... yes
              checking whether it is safe to use -Wconversion with htons... yes
              checking whether it is safe to use -Wmissing-declarations from C++... yes
              checking whether it is safe to use -Wlogical-op... yes
              checking whether it is safe to use -Wredundant-decls from C++... yes
              checking for doxygen... no
              checking for perl... perl
              checking for the pthreads library -lpthreads... no
              checking whether pthreads work without any flags... no
              checking whether pthreads work with -Kthread... no
              checking whether pthreads work with -kthread... no
              checking for the pthreads library -llthread... no
              checking whether pthreads work with -pthread... yes
              checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
              checking if more special flags are required for pthreads... no
              checking for library containing getopt_long... none required
              checking for library containing socket... none required
              checking for library containing gethostbyname... none required
              checking for library containing floorf... -lm
              checking for htonll... no
              checking byteorder... little endian
              checking for ld used by gcc -std=gnu99... /usr/bin/ld -m elf_x86_64
              checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
              checking for shared library run path origin... done
              checking for libsasl... no
              checking for libsasl2... yes
              checking how to link with libsasl2... -lsasl2
              checking that generated files are newer than configure... done
              configure: creating ./config.status
              config.status: creating Makefile
              config.status: creating clients/Makefile
              config.status: creating tests/Makefile
              config.status: creating libmemcached/Makefile
              config.status: creating libmemcached/memcached_configure.h
              config.status: creating libmemcachedutil/Makefile
              config.status: creating support/Makefile
              config.status: creating support/libmemcached.pc
              config.status: creating support/libmemcached.spec
              config.status: creating support/libmemcached-fc.spec
              config.status: creating config.h
              config.status: executing depfiles commands
              config.status: executing libtool commands
              ---
              Configuration summary for libmemcached version 0.32

                 * Installation prefix:       /opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/memcached-1.8.0/ext
                 * System type:               unknown-linux-gnu
                 * Host CPU:                  x86_64
                 * C Compiler:                gcc (Debian 4.9.2-10) 4.9.2
                 * Assertions enabled:        yes
                 * Debug enabled:             no
                 * Warnings as failure:       no
                 * With SASL support:         -lsasl2

              ---
              Making libmemcached.
              GMAKE_CMD='make' CXXFLAGS='-I/opt/sensu/embedded/include -O2 -O3 -g -pipe -std=gnu++98 -I/opt/sensu/embedded/include -O2 -O3 -g -pipe -fPIC -I/opt/sensu/embedded/include -O2 -O3 -g -pipe -fPIC' SOURCE_DIR='libmemcached-0.32' HERE='/opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/memcached-1.8.0/ext' ruby ../extconf-make.rb
              sh: 1: ruby: not found
              *** 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/sensu/embedded/bin/$(RUBY_BASE_NAME)
              extconf.rb:70:in `run': 'GMAKE_CMD='make' CXXFLAGS='-I/opt/sensu/embedded/include -O2 -O3 -g -pipe -std=gnu++98 -I/opt/sensu/embedded/include -O2 -O3 -g -pipe -fPIC -I/opt/sensu/embedded/include -O2 -O3 -g -pipe -fPIC' SOURCE_DIR='libmemcached-0.32' HERE='/opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/memcached-1.8.0/ext' ruby ../extconf-make.rb' failed (RuntimeError)
                from extconf.rb:55:in `block (2 levels) in check_libmemcached'
                from extconf.rb:53:in `chdir'
                from extconf.rb:53:in `block in check_libmemcached'
                from extconf.rb:46:in `chdir'
                from extconf.rb:46:in `check_libmemcached'
                from extconf.rb:73:in `<main>'

              To see why this extension failed to compile, please check the mkmf.log which can be found here:

                /opt/sensu/embedded/lib/ruby/gems/2.4.0/extensions/x86_64-linux/2.4.0/memcached-1.8.0/mkmf.log

              extconf failed, exit code 1

              Gem files will remain installed in /opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/memcached-1.8.0 for inspection.
              Results logged to /opt/sensu/embedded/lib/ruby/gems/2.4.0/extensions/x86_64-linux/2.4.0/memcached-1.8.0/gem_make.out
          stdout:
              Successfully installed sensu-plugin-1.2.0
              Building native extensions.  This could take a while...`

This output is from /opt/sensu/embedded/lib/ruby/gems/2.4.0/extensions/x86_64-linux/2.4.0/memcached-1.8.0/mkmf.log:

find_header: checking for sasl/sasl.h... -------------------- yes

"gcc -o conftest -I/opt/sensu/embedded/include/ruby-2.4.0/x86_64-linux -I/opt/sensu/embedded/include/ruby-2.4.0/ruby/backward -I/opt/sensu/embedded/include/ruby-2.4.0 -I. -I/opt/sensu/embedded/include -O2 -O3 -g -pipe -I/opt/sensu/embedded/include   -I/opt/sensu/embedded/include -O2 -O3 -g -pipe -fPIC conftest.c  -L. -L/opt/sensu/embedded/lib -Wl,-R/opt/sensu/embedded/lib -L/opt/sensu/embedded/lib -Wl,-R/opt/sensu/embedded/lib -L. -Wl,-rpath,/opt/sensu/embedded/lib -fstack-protector -L/opt/sensu/embedded/lib -rdynamic -Wl,-export-dynamic -L/opt/sensu/embedded/lib  -Wl,-R/opt/sensu/embedded/lib     -Wl,-R/opt/sensu/embedded/lib -L/opt/sensu/embedded/lib -lruby  -lpthread -ldl -lcrypt -lm   -lc"
checked program was:
/* begin */
1: #include "ruby.h"
2: 
3: int main(int argc, char **argv)
4: {
5:   return 0;
6: }
/* end */

"gcc -E -I/opt/sensu/embedded/include/ruby-2.4.0/x86_64-linux -I/opt/sensu/embedded/include/ruby-2.4.0/ruby/backward -I/opt/sensu/embedded/include/ruby-2.4.0 -I. -I/opt/sensu/embedded/include -O2 -O3 -g -pipe -I/opt/sensu/embedded/include   -I/opt/sensu/embedded/include -O2 -O3 -g -pipe -fPIC  conftest.c -o conftest.i"
checked program was:
/* begin */
1: #include "ruby.h"
2: 
3: #include <sasl/sasl.h>
/* end */

--------------------
envintus commented 7 years ago

@majormoses I know you've been doing a lot of the leg work with getting new releases cut, but could I trouble you to take a look at this? My Ruby isn't great and the only real differences I see between this plugin and others is in the actual gem spec itself. Not sure if that's helpful at all.

majormoses commented 7 years ago

@envintus does this also have the same issue? /opt/sensu/embedded/bin/gem install sensu-plugins-memcached, trying to rule out a bug with sensu-install.

envintus commented 7 years ago

Actually, I believe I may have been inaccurate in my description or didn't provide enough detail.

We are not using sensu-install. We use /opt/sensu/embedded/bin/gem to install the Sensu plugins, because we need to install other gems on our master. So, using the embedded gem installer it fails the first time and is successful the second time.

[image: FC_MIC2017StandardLogo.png]

[image: TransLoc_logos_wordmark_blue.png]

Hunter Satterwhite

Lead Build & Operations Engineer, TransLoc

252.762.5177 | www.transloc.com

[image: facebook-color-32px.png] https://www.facebook.com/TransLoc/ [image: linkedin-color-32px.png] https://www.linkedin.com/company/transloc [image: twitter-color-32px.png] http://www.twitter.com/transloc [image: instagram-color-32px.png] http://www.instagram.com/transloc_inc

On Fri, May 12, 2017 at 11:33 AM, Ben Abrams notifications@github.com wrote:

@envintus https://github.com/envintus does this also have the same issue? /opt/sensu/embedded/bin/gem install sensu-plugins-memcached, trying to rule out a bug with sensu-install.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/sensu-plugins/sensu-plugins-memcached/issues/4#issuecomment-301109721, or mute the thread https://github.com/notifications/unsubscribe-auth/AIESglifxUK1ObJe_SAkh8hpd1czGBkIks5r5HvOgaJpZM4NZZ9D .

majormoses commented 7 years ago

This seems suspicious to me: sh: 1: ruby: not found which seems to indicate a $PATH issue.

envintus commented 7 years ago

Agreed, but all of the other plugins previous to it and after it install without a hitch. Maybe the path is getting munged some how? But other plugins, like sensu-memory-checks use some of the same build dependencies.

[image: FC_MIC2017StandardLogo.png]

[image: TransLoc_logos_wordmark_blue.png]

Hunter Satterwhite

Lead Build & Operations Engineer, TransLoc

252.762.5177 | www.transloc.com

[image: facebook-color-32px.png] https://www.facebook.com/TransLoc/ [image: linkedin-color-32px.png] https://www.linkedin.com/company/transloc [image: twitter-color-32px.png] http://www.twitter.com/transloc [image: instagram-color-32px.png] http://www.instagram.com/transloc_inc

On Fri, May 12, 2017 at 12:06 PM, Ben Abrams notifications@github.com wrote:

This seems suspicious to me: sh: 1: ruby: not found which seems to indicate a $PATH issue.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/sensu-plugins/sensu-plugins-memcached/issues/4#issuecomment-301118153, or mute the thread https://github.com/notifications/unsubscribe-auth/AIESgtBO81EbRy6z4AnoKIGqJczXUEmbks5r5INogaJpZM4NZZ9D .

majormoses commented 7 years ago

ya needs further investigation just pointing it out as it might be relevant and I am probably not gonna have much time until the weekend to take a look.

Have a couple of questions:

I just tried installing it locally (2.2.5 and will try the same later with 2.4) and after installing the package it prompted me to it worked afterwards.

$ gem install sensu-plugins-memcached
Fetching: memcached-1.8.0.gem (100%)
Building native extensions.  This could take a while...
ERROR:  Error installing sensu-plugins-memcached:
    ERROR: Failed to build gem native extension.

    /home/babrams/.rbenv/versions/2.2.5/bin/ruby -r ./siteconf20170512-8261-v72zx0.rb extconf.rb
checking for sasl/sasl.h... no
Please install SASL to continue. The package is called libsasl2-dev on Ubuntu and cyrus-sasl on Gentoo.
*** 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
    --without-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=/home/babrams/.rbenv/versions/2.2.5/bin/$(RUBY_BASE_NAME)

extconf failed, exit code 1

Gem files will remain installed in /home/babrams/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/memcached-1.8.0 for inspection.
Results logged to /home/babrams/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/extensions/x86_64-linux/2.2.0-static/memcached-1.8.0/gem_make.out

$ sudo apt-get install libsasl2-dev
[sudo] password for babrams: 
Sorry, try again.
[sudo] password for babrams: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  linux-headers-4.4.0-66 linux-headers-4.4.0-66-generic
  linux-headers-4.4.0-70 linux-headers-4.4.0-70-generic
  linux-headers-4.4.0-71 linux-headers-4.4.0-71-generic
  linux-image-4.4.0-66-generic linux-image-4.4.0-70-generic
  linux-image-4.4.0-71-generic linux-image-extra-4.4.0-66-generic
  linux-image-extra-4.4.0-70-generic linux-image-extra-4.4.0-71-generic
  snap-confine
Use 'sudo apt autoremove' to remove them.
The following NEW packages will be installed:
  libsasl2-dev
0 upgraded, 1 newly installed, 0 to remove and 39 not upgraded.
Need to get 254 kB of archives.
After this operation, 831 kB of additional disk space will be used.
Get:1 http://us.archive.ubuntu.com/ubuntu xenial/main amd64 libsasl2-dev amd64 2.1.26.dfsg1-14build1 [254 kB]
Fetched 254 kB in 0s (582 kB/s)      
Selecting previously unselected package libsasl2-dev.
(Reading database ... 479078 files and directories currently installed.)
Preparing to unpack .../libsasl2-dev_2.1.26.dfsg1-14build1_amd64.deb ...
Unpacking libsasl2-dev (2.1.26.dfsg1-14build1) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up libsasl2-dev (2.1.26.dfsg1-14build1) ...

$ gem install sensu-plugins-memcached
Building native extensions.  This could take a while...
Successfully installed memcached-1.8.0
Fetching: sensu-plugins-memcached-0.0.3.gem (100%)
You can use the embedded Ruby by setting EMBEDDED_RUBY=true in /etc/default/sensu
Successfully installed sensu-plugins-memcached-0.0.3
Parsing documentation for memcached-1.8.0
Installing ri documentation for memcached-1.8.0
Parsing documentation for sensu-plugins-memcached-0.0.3
Installing ri documentation for sensu-plugins-memcached-0.0.3
Done installing documentation for memcached, sensu-plugins-memcached after 17 seconds
2 gems installed
majormoses commented 7 years ago

@envintus I tried replicating locally outside of the context of sensu and was not able to: https://gist.github.com/majormoses/b4cc44accb0e8ac264a3eef5023c39f3

majormoses commented 7 years ago

more unsuccessful attempts:

majormoses commented 7 years ago

@envintus finally was able to re-produce: https://gist.github.com/majormoses/e22b1fb88d88bf6c333cbb1aa478a417

majormoses commented 7 years ago

I feel this is rather sensu specific and not gem install specific. @cwjohnston are you aware of any issues in the newer versions of sensu that sound similar? I can only replicate in a sensu embedded ruby env and only on newer sensu versions than I am running in my env (I am still on .26 I believe).

babrams@ip-10-55-142-189:~$ sudo apt-get install libsasl2-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  libsasl2-dev
0 upgraded, 1 newly installed, 0 to remove and 4 not upgraded.
Need to get 311 kB of archives.
After this operation, 827 kB of additional disk space will be used.
Get:1 http://us-west-2.ec2.archive.ubuntu.com/ubuntu/ trusty/main libsasl2-dev amd64 2.1.25.dfsg1-17build1 [311 kB]
Fetched 311 kB in 0s (20.7 MB/s) 
Selecting previously unselected package libsasl2-dev.
(Reading database ... 142244 files and directories currently installed.)
Preparing to unpack .../libsasl2-dev_2.1.25.dfsg1-17build1_amd64.deb ...
Unpacking libsasl2-dev (2.1.25.dfsg1-17build1) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
Setting up libsasl2-dev (2.1.25.dfsg1-17build1) ...
babrams@ip-10-55-142-189:~$ sudo /opt/sensu/embedded/bin/gem install sensu-plugins-memcached
Fetching: memcached-1.8.0.gem (100%)
Building native extensions.  This could take a while...
Successfully installed memcached-1.8.0
Fetching: sensu-plugins-memcached-0.0.3.gem (100%)
You can use the embedded Ruby by setting EMBEDDED_RUBY=true in /etc/default/sensu
Successfully installed sensu-plugins-memcached-0.0.3
Parsing documentation for memcached-1.8.0
Installing ri documentation for memcached-1.8.0
Parsing documentation for sensu-plugins-memcached-0.0.3
Installing ri documentation for sensu-plugins-memcached-0.0.3
Done installing documentation for memcached, sensu-plugins-memcached after 52 seconds
2 gems installed
majormoses commented 7 years ago

@cwjohnston I feel like this GMAKE_CMD='make' CXXFLAGS='-I/opt/sensu/embedded/include -O2 -O3 -g -pipe -std=gnu++98 -I/opt/sensu/embedded/include -O2 -O3 -g -pipe -fPIC -I/opt/sensu/embedded/include -O2 -O3 -g -pipe -fPIC' SOURCE_DIR='libmemcached-0.32' HERE='/opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/memcached-1.8.0/ext' ruby ../extconf-make.rb should have ruby with its full path...am I missing something?

majormoses commented 7 years ago

I can do some work to cleanup the gemspec but I don't see anything other than possibly pinning sensu-plugin to 1.2.0 rather than ~> 1.2 but I highly doubt that is the issue...

majormoses commented 7 years ago

We could do a release as it looks like there are changes that have not been released yet...I will see later if I can figure out if there is anything that looks like it fixes this.

majormoses commented 7 years ago

well I tried doing a release but its not showing up rubygems... @eheydrick can you look into that?

eheydrick commented 7 years ago

Fixed rubygems deploy with be7e4239036426995f6ac0943c70123af251f095.

majormoses commented 7 years ago

oops my bad...

majormoses commented 7 years ago

@envintus sorry this fell off my radar, is this still happening with the latest release: https://rubygems.org/gems/sensu-plugins-memcached/versions/0.1.1 ? I assume it still is.

envintus commented 7 years ago

Hey Ben,

I'll test this and try it out. Will let you know as soon as I do so. Thanks!

[image: FC_MIC2017StandardLogo.png]

[image: TransLoc_logos_wordmark_blue.png]

Hunter Satterwhite

Lead Build & Operations Engineer, TransLoc

252.762.5177 | www.transloc.com

[image: facebook-color-32px.png] https://www.facebook.com/TransLoc/ [image: linkedin-color-32px.png] https://www.linkedin.com/company/transloc [image: twitter-color-32px.png] http://www.twitter.com/transloc [image: instagram-color-32px.png] http://www.instagram.com/transloc_inc

On Sat, Jun 3, 2017 at 2:17 AM, Ben Abrams notifications@github.com wrote:

@envintus https://github.com/envintus sorry this fell off my radar, is this still happening with the latest release: https://rubygems.org/gems/ sensu-plugins-memcached/versions/0.1.1 ?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/sensu-plugins/sensu-plugins-memcached/issues/4#issuecomment-305954851, or mute the thread https://github.com/notifications/unsubscribe-auth/AIESghmilyYwr7MV1-L4ztbHfJrDl1Yxks5sAPpxgaJpZM4NZZ9D .

majormoses commented 7 years ago

@envintus have not heard from you, are you planning on trying this again and reporting back?

rwky commented 7 years ago

FYI I've just encountered this on a fresh install using Sensu 1.0.0 on Ubuntu 16.04. Happy to give feedback/test.

majormoses commented 7 years ago

when I have some time I will try to work on re-producing this, I'd really like to get this sorted out. Please ping me if I don't report anything back by monday as I hope to have some time this weekend to try working on this.

rwky commented 7 years ago

Will do, as a work around export PATH=$PATH:/opt/sensu/embedded/bin/ allows it to install

majormoses commented 7 years ago

ya this feels like an omnibus issue but is just odd that I have not seen this in any other gem...

majormoses commented 7 years ago

Sorry did not have time this weekend to work on this.

rwky commented 7 years ago

No worries. I'll see if I can have a go at it at some point soon.

majormoses commented 6 years ago

this should be fixed in #8 by replacing the unmaintained memcached gem with dail which is being actively maintained, written in pure ruby (no c extensions), and is designed to be a drop in replacement. I am working on cutting a release and will link pack with the released gem once it passes CI and is pushed.

majormoses commented 6 years ago

released: https://rubygems.org/gems/sensu-plugins-memcached/versions/0.1.3

If you still have issues please open a new issue, thank you for your patience and shoutout to @bleything for proposing several solutions and fixing it.