On the 1-0-stable branch, libmemcached is built in a vendor/libmemcached-0.32 directory, where intermediate files are ignored by .gitignore. So when I switch to the master branch, bundle exec rake compile will try to build libmemcached in the vendor/libmemcached-0.32 directory (without the source files) and fail as follows
Based on https://github.com/arthurnn/memcached/pull/186 to fix CI, see https://github.com/dylanahsmith/memcached/compare/github-actions...fix-build-with-ignored-vendor-dir for this PRs changesProblem
On the 1-0-stable branch, libmemcached is built in a vendor/libmemcached-0.32 directory, where intermediate files are ignored by .gitignore. So when I switch to the master branch,
bundle exec rake compile
will try to build libmemcached in thevendor/libmemcached-0.32
directory (without the source files) and fail as followswhere you notice it trying to build in vendor/libmemcached-0.32 instead of the vendor/libmemcached-1.0.18 that is on master.
Solution
Replace the glob suffix in ext/memcached/extconf.rb with the actual version meant to be built for this version of the code.