Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Already on GitHub? Sign in to your account

Installing 'memcached' gem fails #204

Closed
nesquena opened this Issue Aug 6, 2011 · 13 comments

Comments

Projects
None yet
4 participants

nesquena commented Aug 6, 2011

http://travis-ci.org/#!/padrino/padrino-framework/builds/68443

$ bundle install
Installing memcached (1.3) with native extensions /home/vagrant/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:551:
in `rescue in block in build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)
./configure: line 19148: syntax error near unexpected token `sasl,,'
./configure: line 19148: `      AC_LIB_HAVE_LINKFLAGS(sasl,,'
make: *** [config.status] Error 2
*** extconf.rb failed ***
extconf.rb:64:in `chdir': No such file or directory - /home/vagrant/.rvm/gems/ruby-1.9.2-p290/gems/memcached-1.3/ext/lib (Errno::ENOENT)

and Gemfile:

platforms :mri do
    gem "memcached", ">= 0.20.1"
end

Full details:

https://gist.github.com/1128958

Long story short, the memcached gem cannot be installed on the travis box.

I would really like to get Padrino running on travis. Can you update the vagrant memcached recipe so that the 'memcached' gem can be installed successfully.

Contributor

michaelklishin commented Aug 6, 2011

This turns out to be a known memcached gem issue:

Contributor

michaelklishin commented Aug 6, 2011

I am trying to work around it but the root of the issue seems to in the configure script bundled with memcached [gem].

Contributor

michaelklishin commented Aug 6, 2011

It seems like there is no way to work around the issue with a bundled configuration script. Please use dalli which both installs fine and is actually maintained. Or push memcached gem authors to fix this issue on 32-bit ubuntu 10.04 and do a new gem release.

nesquena commented Aug 6, 2011

Fair enough, thanks for looking into this

Contributor

michaelklishin commented Aug 6, 2011

I personally think that if you can make your code use either dalli or memcached (as a fallback), that will be beneficial to Padrino users, too. And as soon as you are doing that, we will be happy to host you on Travis. dalli installs just fine in our environment.

nesquena commented Aug 6, 2011

Yeah we actually support a pluggable architecture for cache stores so Dalli also is tested and supported as well and is used as the default. The memcached support was more of about giving people options. I simply removed memcached from our Gemfile for now and still include Dalli.

Worked great: http://travis-ci.org/#!/padrino/padrino-framework/builds/68622. The JRuby problem seems to be unrelated:

$ bundle install
connect: Connection refused
Done. Build script exited with: 1

but all the others pass. Weirdly enough this used to be that jruby was the only one that passed just a few builds ago...odd the connection is refused now.

Contributor

michaelklishin commented Aug 6, 2011

JRuby problems are known, we are waiting for JRuby core team members to come home from all the conferences to help us with investigations. And also release 1.6.4.

JRuby also has 2 more issues:

  • C extensions support crashes 32-bit JVM
  • Officially documented way of disabling C extensions is broken

So we recommend people to disable testing against JRuby until these issues are resolved. And ask JRuby team to release 1.6.4 soon and pay attention to those issues.

We also provide 1.9.3 (preview1, of course) and rbx-2.0 (Rubinius 2.0.0pre), you may want to test against those.

nesquena commented Aug 6, 2011

Excellent thanks for the heads up, I wasn't aware of the issues with JRuby. I will disable JRuby and add rbx-2.0 support for now. Hopefully we can enable jruby again soon. Thanks for the quick response.

@michaelklishin michaelklishin added a commit to travis-ci/travis-cookbooks that referenced this issue Aug 6, 2011

@michaelklishin michaelklishin Install libsasl2-dev as part of the memcached recipe
It was originally a part of travis-ci/travis-ci#204 investigation. Even though libsasl
actually has nothing to do with that particular issue, it is a useful addition to
libmemcached.
8d5a94c

nesquena commented Aug 6, 2011

Enabled ruby-head and rbx-2.0 and things are looking good, disabled jruby for now. I assume even with libsasl2-dev installed my problem would still persist with memcached?

Contributor

michaelklishin commented Aug 6, 2011

the problem is in configure script[s] memcached gem bundles. I installed libsasl2-dev just because it is a recommended addition (for memcached but not just).

nesquena commented Aug 6, 2011

I see ok makes sense. As I said everything seems fine for us now. Glad to have Padrino on travis-ci finally and thanks for your guys hard work on this. Awesome project!

landtax commented Nov 18, 2011

Try this. It worked for me

apt-get install gettext

roylez commented Nov 29, 2011

Wow landtax, you saved my day!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment