arthurnn / memcached

A Ruby interface to the libmemcached C client
Academic Free License v3.0
432 stars 125 forks source link

No such file or directory - /usr/lib64/ruby/gems/1.9.1/gems/memcached-1.5.0/ext/lib #113

Closed utgarda closed 11 years ago

utgarda commented 11 years ago

Hi! Got some problems installing on OpenSuse 12.2:

gem install memcached
...
extconf.rb:62:in `chdir': No such file or directory - /usr/lib64/ruby/gems/1.9.1/gems/memcached-1.5.0/ext/lib (Errno::ENOENT)
        from extconf.rb:62:in `check_libmemcached'

I'm not much of a packager, so I don't know how to fix that universally. To make it work for my case, I changed ''lib' to 'lib64' in /ext/extconf.rb:

  $libraries = " -L#{HERE}/lib64"
...
  $LIBPATH = ["#{HERE}/lib64"]
postmodern commented 11 years ago

Also getting this on Fedora 17 x86_64.

postmodern commented 11 years ago

This appears to affect all versions since 1.3.7. Revert back to 1.3.7 to avoid this bug.

postmodern commented 11 years ago

Turns out I needed to install libmemcached-devel on Fedora, and it installed correctly. @utgarda try installing the headers for libmemcached and see if that fixes it.

evan commented 11 years ago

That's odd. Libmemcached is included. The header path on x64 must not be set correctly in the build. Let me know if you have any more clues about what changed.

postmodern commented 11 years ago

On Fedora 17 x86-64, I have:

/usr/include/libmemcached:
memcached.h  memcached.hpp  util.h
/usr/include/libmemcached-1.0:
allocators.h    defaults.h          flush.h        quit.h         struct
alloc.h         delete.h            get.h          result.h       touch.h
analyze.h       deprecated_types.h  hash.h         return.h       triggers.h
auto.h          dump.h              limits.h       sasl.h         types
basic_string.h  error.h             memcached.h    server.h       types.h
behavior.h      exception.hpp       memcached.hpp  server_list.h  verbosity.h
callback.h      exist.h             options.h      stats.h        version.h
callbacks.h     fetch.h             parse.h        storage.h      visibility.h
configure.h     flush_buffers.h     platform.h     strerror.h
/usr/include/libmemcached-1.0/struct:
allocator.h  callback.h   result.h  server.h  string.h
analysis.h   memcached.h  sasl.h    stat.h
/usr/include/libmemcached-1.0/types:
behavior.h  callback.h  connection.h  hash.h  return.h  server_distribution.h
/usr/include/libmemcachedprotocol-0.0:
binary.h  callback.h  handler.h  vbucket.h
/usr/include/libmemcachedutil-1.0:
flush.h  ostream.hpp  pid.h  ping.h  pool.h  util.h  version.h