京都机柜通过rubygems安装失败
我正试图通过ruby gems安装京都机柜。我正在把文件放进去京都机柜通过rubygems安装失败,ruby,ruby-on-rails-3,rubygems,kyotocabinet,Ruby,Ruby On Rails 3,Rubygems,Kyotocabinet,我正试图通过ruby gems安装京都机柜。我正在把文件放进去 gem "kyotocabinet", "~> 1.0" 相反 但是,当我运行bundle时,它会失败 setting variables ... $CFLAGS = -I. -I/usr/local/include -Wall $(cflags) -fPIC -O2 $LDFLAGS = -L. -rdynamic -Wl,-export-dynamic -L. -L/usr/local/lib $libs = -l
gem "kyotocabinet", "~> 1.0"
相反
但是,当我运行bundle
时,它会失败
setting variables ...
$CFLAGS = -I. -I/usr/local/include -Wall $(cflags) -fPIC -O2
$LDFLAGS = -L. -rdynamic -Wl,-export-dynamic -L. -L/usr/local/lib
$libs = -lkyotocabinet -lz -lstdc++ -lrt -lpthread -lm -lc
checking for kccommon.h... yes
creating Makefile
make
g++ -I. -I/home/gerry/.rvm/rubies/ruby-1.9.2-p136/include/ruby-1.9.1/x86_64-linux -I/home/gerry/.rvm/rubies/ruby-1.9.2-p136/include/ruby-1.9.1/ruby/backward -I/home/gerry/.rvm/rubies/ruby-1.9.2-p136/include/ruby-1.9.1 -I. -DHAVE_KCCOMMON_H -fPIC -I. -I/usr/local/include -Wall -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-long-long -fPIC -O2 -o kyotocabinet.o -c kyotocabinet.cc
kyotocabinet.cc:29: error: ‘INT32_MAX’ was not declared in this scope
kyotocabinet.cc:30: error: ‘INT32_MAX’ was not declared in this scope
kyotocabinet.cc:61: warning: type qualifiers ignored on function return type
kyotocabinet.cc:320: warning: type qualifiers ignored on function return type
kyotocabinet.cc: In function ‘void init_err()’:
kyotocabinet.cc:387: error: ‘NOFILE’ is not a member of ‘kyotocabinet::BasicDB::Error’
kyotocabinet.cc: In function ‘VALUE db_increment(int, VALUE*, VALUE)’:
kyotocabinet.cc:1009: error: ‘INT64_MIN’ was not declared in this scope
kyotocabinet.cc: In function ‘VALUE db_synchronize(int, VALUE*, VALUE)’:
kyotocabinet.cc:1094: error: cannot declare variable ‘proc’ to be of abstract type ‘SoftFileProcessor’
kyotocabinet.cc:288: note: because the following virtual functions are pure within ‘SoftFileProcessor’:
/usr/local/include/kcdb.h:1070: note: virtual bool
kyotocabinet::BasicDB::FileProcessor::process(const std::string&, int64_t, int64_t)
make: *** [kyotocabinet.o] Error 1
如果有人知道绕过此错误的方法,请帮助!我正在使用Ubuntu 10.10供参考
非常感谢你的帮助 尝试改用gem“kyotocabinet ruby”。您需要安装
libkyotCabinet dev
软件包:
sudo apt get安装libkyotocainet dev
然后您可以使用kyotocabinet ruby:
sudogem安装kyotocabinet ruby
这在我的机器上似乎仍然失败。有新的gem吗?请看下面我的答案:(您需要libkyotocainet dev
包)有没有不依赖debian包的方法?头文件可以用其他方式安装吗?公平地说,我认为你不应该使用这个gem,它不再被维护了:上一次更新是在2011年8月(见)