Giter Club home page Giter Club logo

cityhash's Introduction

cityhash TravisCI

Ruby wrapper for google's cityhash.

Install

gem install cityhash

Usage

require 'cityhash'

text = "test"
seed1 = 12345
seed2 = 54321

CityHash.hash32(text)               # => 1633095781
CityHash.hash64(text)               # => 8581389452482819506
CityHash.hash64(text, seed1)        # => 9154302171269876511
CityHash.hash64(text, seed1, seed2) # => 4854399283587686019
CityHash.hash128(text)              # => 124124989950401219618153994964897029896
CityHash.hash128(text, seed1)       # => 101668641288246442316643001405184598611
CityHash.hash128crc(text)           # => 124124989950401219618153994964897029896
CityHash.hash128crc(text, seed1)    # => 101668641288246442316643001405184598611
CityHash.hash256crc(text)           # => 11964743055457135893972873789222488394617411264226841264756

Important note

CityHash does not maintain backward compatibility with previous versions. You should not use CityHash for persitent storage, or else never upgrade it.

If you need backward compatibility please consider other hash functions like xxHash or MurmurHash

Contributing to cityhash

  • Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
  • Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it
  • Fork the project
  • Start a feature/bugfix branch
  • Commit and push until you are happy with your contribution
  • Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
  • Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.

Authors

Vasiliy Ermolovich

Copyright

Copyright (c) 2012 Vasiliy Ermolovich. See LICENSE.txt for further details.

cityhash's People

Contributors

byroot avatar common-nighthawk avatar csfrancis avatar lest avatar nashby avatar qhoxie avatar tobi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

cityhash's Issues

Bump version?

Bunch of updates have been merged but version hasn't been upgraded since 2013. In particular, we'd like to make use of 7403f84 without having to point to github repo

Failed to install on OS X 10.6.8

cityhash 0.8.1 fails to install on my Mac Pro running OS X 10.6.8:

Building native extensions.  This could take a while...
ERROR:  Error installing cityhash:
    ERROR: Failed to build gem native extension.

    /Users/work/.rvm/rubies/ruby-2.0.0-p195/bin/ruby extconf.rb
creating Makefile

make
compiling city.cc
city.cc:1: error: bad value (native) for -march= switch
city.cc:1: error: bad value (native) for -mtune= switch
make: *** [city.o] Error 1

I cloned the repo and removed march=native from extconf.rb and it installed fine.

In case it helps:

$ gcc -v
Using built-in specs.
Target: i686-apple-darwin10
Configured with: /var/tmp/gcc/gcc-5666.3~6/src/configure --disable-checking --enable-werror --prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin10 --program-prefix=i686-apple-darwin10- --host=x86_64-apple-darwin10 --target=i686-apple-darwin10 --with-gxx-include-dir=/include/c++/4.2.1
Thread model: posix
gcc version 4.2.1 (Apple Inc. build 5666) (dot 3)

Issue installing cityhash in ruby-1.9.3-p392

Building native extensions. This could take a while...
ERROR: Error installing cityhash:
ERROR: Failed to build gem native extension.

/usr/local/rvm/rubies/ruby-1.9.3-p392/bin/ruby extconf.rb

creating Makefile

make
compiling city.cc
cc1plus: warning: command line option ‘-Wdeclaration-after-statement’ is valid for C/ObjC but not for C++ [enabled by default]
cc1plus: warning: command line option ‘-Wimplicit-function-declaration’ is valid for C/ObjC but not for C++ [enabled by default]
city.cc: In function ‘uint32 Hash32Len0to4(const char_, size_t)’:
city.cc:145:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
city.cc: In function ‘void CityHashCrc256Long(const char_, size_t, uint32, uint64_)’:
city.cc:531:5: error: ‘_mm_crc32_u64’ was not declared in this scope
city.cc:540:5: error: ‘_mm_crc32_u64’ was not declared in this scope
city.cc:550:5: error: ‘mm_crc32_u64’ was not declared in this scope
make: *
* [city.o] Error 1

Gem files will remain installed in /usr/local/rvm/gems/ruby-1.9.3-p392/gems/cityhash-0.8.1 for inspection.
Results logged to /usr/local/rvm/gems/ruby-1.9.3-p392/gems/cityhash-0.8.1/ext/cityhash/gem_make.out

*cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 45
model name : Intel(R) Xeon(R) CPU E5-2630L 0 @ 2.00GHz
stepping : 7
microcode : 0x70d
cpu MHz : 2000.066
cache size : 15360 KB
physical id : 0
siblings : 8
core id : 1
cpu cores : 1
apicid : 3
initial apicid : 3
fdiv_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu de tsc msr pae cx8 apic cmov pat clflush mmx fxsr sse sse2 ss ht nx constant_tsc nonstop_tsc pni pclmulqdq ssse3 sse4_1 sse4_2 popcnt tsc_deadline_timer aes hypervisor ida arat epb pln pts dtherm
bugs :
bogomips : 4001.80
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:

processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 45
model name : Intel(R) Xeon(R) CPU E5-2630L 0 @ 2.00GHz
stepping : 7
microcode : 0x70d
cpu MHz : 2000.066
cache size : 15360 KB
physical id : 0
siblings : 8
core id : 1
cpu cores : 1
apicid : 3
initial apicid : 3
fdiv_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu de tsc msr pae cx8 apic cmov pat clflush mmx fxsr sse sse2 ss ht nx constant_tsc nonstop_tsc pni pclmulqdq ssse3 sse4_1 sse4_2 popcnt tsc_deadline_timer aes hypervisor ida arat epb pln pts dtherm
bugs :
bogomips : 4001.80
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:

processor : 2
vendor_id : GenuineIntel
cpu family : 6
model : 45
model name : Intel(R) Xeon(R) CPU E5-2630L 0 @ 2.00GHz
stepping : 7
microcode : 0x70d
cpu MHz : 2000.066
cache size : 15360 KB
physical id : 0
siblings : 8
core id : 1
cpu cores : 1
apicid : 3
initial apicid : 3
fdiv_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu de tsc msr pae cx8 apic cmov pat clflush mmx fxsr sse sse2 ss ht nx constant_tsc nonstop_tsc pni pclmulqdq ssse3 sse4_1 sse4_2 popcnt tsc_deadline_timer aes hypervisor ida arat epb pln pts dtherm
bugs :
bogomips : 4001.80
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:

processor : 3
vendor_id : GenuineIntel
cpu family : 6
model : 45
model name : Intel(R) Xeon(R) CPU E5-2630L 0 @ 2.00GHz
stepping : 7
microcode : 0x70d
cpu MHz : 2000.066
cache size : 15360 KB
physical id : 0
siblings : 8
core id : 1
cpu cores : 1
apicid : 3
initial apicid : 3
fdiv_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu de tsc msr pae cx8 apic cmov pat clflush mmx fxsr sse sse2 ss ht nx constant_tsc nonstop_tsc pni pclmulqdq ssse3 sse4_1 sse4_2 popcnt tsc_deadline_timer aes hypervisor ida arat epb pln pts dtherm
bugs :
bogomips : 4001.80
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:

processor : 4
vendor_id : GenuineIntel
cpu family : 6
model : 45
model name : Intel(R) Xeon(R) CPU E5-2630L 0 @ 2.00GHz
stepping : 7
microcode : 0x70d
cpu MHz : 2000.066
cache size : 15360 KB
physical id : 0
siblings : 8
core id : 1
cpu cores : 1
apicid : 3
initial apicid : 3
fdiv_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu de tsc msr pae cx8 apic cmov pat clflush mmx fxsr sse sse2 ss ht nx constant_tsc nonstop_tsc pni pclmulqdq ssse3 sse4_1 sse4_2 popcnt tsc_deadline_timer aes hypervisor ida arat epb pln pts dtherm
bugs :
bogomips : 4001.80
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:

processor : 5
vendor_id : GenuineIntel
cpu family : 6
model : 45
model name : Intel(R) Xeon(R) CPU E5-2630L 0 @ 2.00GHz
stepping : 7
microcode : 0x70d
cpu MHz : 2000.066
cache size : 15360 KB
physical id : 0
siblings : 8
core id : 1
cpu cores : 1
apicid : 3
initial apicid : 3
fdiv_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu de tsc msr pae cx8 apic cmov pat clflush mmx fxsr sse sse2 ss ht nx constant_tsc nonstop_tsc pni pclmulqdq ssse3 sse4_1 sse4_2 popcnt tsc_deadline_timer aes hypervisor ida arat epb pln pts dtherm
bugs :
bogomips : 4001.80
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:

processor : 6
vendor_id : GenuineIntel
cpu family : 6
model : 45
model name : Intel(R) Xeon(R) CPU E5-2630L 0 @ 2.00GHz
stepping : 7
microcode : 0x70d
cpu MHz : 2000.066
cache size : 15360 KB
physical id : 0
siblings : 8
core id : 1
cpu cores : 1
apicid : 3
initial apicid : 3
fdiv_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu de tsc msr pae cx8 apic cmov pat clflush mmx fxsr sse sse2 ss ht nx constant_tsc nonstop_tsc pni pclmulqdq ssse3 sse4_1 sse4_2 popcnt tsc_deadline_timer aes hypervisor ida arat epb pln pts dtherm
bugs :
bogomips : 4001.80
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:

processor : 7
vendor_id : GenuineIntel
cpu family : 6
model : 45
model name : Intel(R) Xeon(R) CPU E5-2630L 0 @ 2.00GHz
stepping : 7
microcode : 0x70d
cpu MHz : 2000.066
cache size : 15360 KB
physical id : 0
siblings : 8
core id : 1
cpu cores : 1
apicid : 3
initial apicid : 3
fdiv_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu de tsc msr pae cx8 apic cmov pat clflush mmx fxsr sse sse2 ss ht nx constant_tsc nonstop_tsc pni pclmulqdq ssse3 sse4_1 sse4_2 popcnt tsc_deadline_timer aes hypervisor ida arat epb pln pts dtherm
bugs :
bogomips : 4001.80
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:

Install failed

Complie error:

$ gem install cityhash
  Building native extensions.  This could take a while...
ERROR:  Error installing cityhash:
    ERROR: Failed to build gem native extension.

    /home/gsmetal/.rvm/rubies/ruby-2.0.0-p0/bin/ruby extconf.rb
creating Makefile

 make
compiling city.cc
cc1plus: warning: command line option ‘-Wdeclaration-after-statement’ is valid for C/ObjC but not for C++ [enabled by default]
cc1plus: warning: command line option ‘-Wimplicit-function-declaration’ is valid for C/ObjC but not for C++ [enabled by default]
city.cc: In function ‘uint32 Hash32Len0to4(const char*, size_t)’:
city.cc:145:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
city.cc: In function ‘void CityHashCrc256Long(const char*, size_t, uint32, uint64*)’:
city.cc:531:5: error: ‘_mm_crc32_u64’ was not declared in this scope
city.cc:540:5: error: ‘_mm_crc32_u64’ was not declared in this scope
city.cc:550:5: error: ‘_mm_crc32_u64’ was not declared in this scope
make: *** [city.o] Error 1

Cityhash from googlecode without -msse4.2 compiles successfully.

PS:

$ cat /proc/cpuinfo 
processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 23
model name  : Intel(R) Core(TM)2 Duo CPU     P8600  @ 2.40GHz
stepping    : 6
microcode   : 0x60c
cpu MHz     : 800.000
cache size  : 3072 KB
physical id : 0
siblings    : 2
core id     : 0
cpu cores   : 2
apicid      : 0
initial apicid  : 0
fdiv_bug    : no
hlt_bug     : no
f00f_bug    : no
coma_bug    : no
fpu     : yes
fpu_exception   : yes
cpuid level : 10
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 lahf_lm dtherm tpr_shadow vnmi flexpriority
bogomips    : 4788.61
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

Makefile: Compilation fails without -fPIC

Thanks for making this! I've been considering doing it myself, but didn't find the time yet.

One thing though, on my 64bit machine the code fails to link correctly:

g++ -shared city.cc -o ../libcity.so
/usr/bin/ld: /tmp/ccNUraxU.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile > with -fPIC
/tmp/ccNUraxU.o: could not read symbols: Bad value

The fix, as stated, is to add the -fPIC switch to the g++ invocation.

Can't install module on my mac

bash-3.2$ npm install cityhash
npm WARN package.json [email protected] No repository field.
npm WARN package.json [email protected] No README data
|

[email protected] install /Users/zzz/Sites/test/server/node_modules/cityhash
node-gyp rebuild

child_process: customFds option is deprecated, use stdio instead.
CXX(target) Release/obj.target/cityhash/binding.o
../binding.cc:34:13: error: using declaration can not refer to namespace
using node::Buffer;
~~~~~~^
../binding.cc:61:42: error: no member named 'New' in 'v8::String'
Local low = obj->Get(String::New("low"))->ToUint32();
~~~~~~~~^
../binding.cc:62:43: error: no member named 'New' in 'v8::String'
Local high = obj->Get(String::New("high"))->ToUint32();
~~~~~~~~^
../binding.cc:71:17: error: no member named 'AsciiValue' in 'v8::String'
String::AsciiValue strObj(obj->ToString());
~~~~~~~~^
../binding.cc:72:27: error: use of undeclared identifier 'strObj'
return to_uint64(*strObj, strObj.length());
^
../binding.cc:103:43: error: no member named 'New' in 'v8::String'
v->first = to_uint64(obj->Get(String::New("low"))->ToObject());
~~~~~~~~^
../binding.cc:104:44: error: no member named 'New' in 'v8::String'
v->second = to_uint64(obj->Get(String::New("high"))->ToObject());
~~~~~~~~^
../binding.cc:112:17: error: no member named 'AsciiValue' in 'v8::String'
String::AsciiValue strObj(obj->ToString());
~~~~~~~~^
../binding.cc:113:24: error: use of undeclared identifier 'strObj'
to_uint128(v, *strObj, strObj.length());
^
../binding.cc:124:20: error: no member named 'New' in 'v8::String'
return String::New(buf);
~~~~~~~~^
../binding.cc:134:20: error: no member named 'New' in 'v8::String'
return String::New(buf);
~~~~~~~~^
../binding.cc:139:47: error: no member named 'New' in 'v8::String'
Local lowObject = obj->Get(String::New("low"));
~~~~~~~~^
../binding.cc:154:37: error: too few arguments to function call, single argument 'isolate' was not specified
Local ret = Object::New();
~~~~~~~~~~~ ^
/Users/zzz/.node-gyp/0.12.0/deps/v8/include/v8.h:2388:3: note: 'New' declared here
static Local New(Isolate* isolate);
^
../binding.cc:155:22: error: no member named 'New' in 'v8::String'
ret->Set(String::New("low"), Integer::NewFromUnsigned(low));
~~~~~~~~^
../binding.cc:156:22: error: no member named 'New' in 'v8::String'
ret->Set(String::New("high"), Integer::NewFromUnsigned(high));
~~~~~~~~^
../binding.cc:157:22: error: no member named 'New' in 'v8::String'
ret->Set(String::New("value"), stringify_hash(hash));
~~~~~~~~^
../binding.cc:158:22: error: no member named 'New' in 'v8::String'
ret->Set(String::New("uint64"), Boolean::New(true));
~~~~~~~~^
../binding.cc:165:37: error: too few arguments to function call, single argument 'isolate' was not specified
Local ret = Object::New();
~~~~~~~~~~~ ^
/Users/zzz/.node-gyp/0.12.0/deps/v8/include/v8.h:2388:3: note: 'New' declared here
static Local New(Isolate* isolate);
^
../binding.cc:166:22: error: no member named 'New' in 'v8::String'
ret->Set(String::New("low"), objectify_hash(Uint128Low64(hash)));
~~~~~~~~^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make: *** [Release/obj.target/cityhash/binding.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: make failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:267:23)
gyp ERR! stack at ChildProcess.emit (events.js:110:17)
gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:1067:12)
gyp ERR! System Darwin 14.1.0
gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/zzz/Sites/test/server/node_modules/cityhash
gyp ERR! node -v v0.12.0
gyp ERR! node-gyp -v v1.0.2
gyp ERR! not ok
npm ERR! Darwin 14.1.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "cityhash"
npm ERR! node v0.12.0
npm ERR! npm v2.5.1
npm ERR! code ELIFECYCLE

npm ERR! [email protected] install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script 'node-gyp rebuild'.
npm ERR! This is most likely a problem with the cityhash package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-gyp rebuild
npm ERR! You can get their info via:
npm ERR! npm owner ls cityhash
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR! /Users/zzz/Sites/test/server/npm-debug.log

Failed: Installing Cityhash with Ruby2.1 win386

Hi,

I am trying to install cityhash using ruby 2.1 under win-i386 by typing the follwing in the command line:

gem install cityhash

and I am getting the follwing error message:

C:/Ruby21/bin/ruby.exe extconf.rb
creating Makefile

make "DESTDIR=" clean

make "DESTDIR="
generating cityhash-i386-mingw32.def
compiling city.cc
city.cc:64:22: fatal error: byteswap.h: No such file or directory
compilation terminated.
make: *** [city.o] Error 1

make failed, exit code 2

I would appreciate any help.

Best,

build of native extension fails with qemu cpu

Installation of 0.8.0 works, but installation of 0.8.1 fails with the following error:

$ rvm default do gem install cityhash -v '0.8.1'
Fetching: cityhash-0.8.1.gem (100%)
Building native extensions.  This could take a while...
ERROR:  Error installing cityhash:
    ERROR: Failed to build gem native extension.

        /home/nginx/.rvm/rubies/ruby-1.9.3-p362/bin/ruby extconf.rb
creating Makefile

make
compiling city.cc
cc1plus: warning: command line option ‘-Wdeclaration-after-statement’ is valid for C/ObjC but not for C++ [enabled by default]
cc1plus: warning: command line option ‘-Wimplicit-function-declaration’ is valid for C/ObjC but not for C++ [enabled by default]
city.cc:1:0: error: CPU you selected does not support x86-64 instruction set
make: *** [city.o] Fehler 1


Gem files will remain installed in /home/nginx/.rvm/gems/ruby-1.9.3-p362/gems/cityhash-0.8.1 for inspection.
Results logged to /home/nginx/.rvm/gems/ruby-1.9.3-p362/gems/cityhash-0.8.1/ext/cityhash/gem_make.out

Here are some system details - it's a qemu virtual machine running Debian Wheezy:

$ cat /proc/cpuinfo 
processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 2
model name  : QEMU Virtual CPU version 1.3.0
stepping    : 3
microcode   : 0x1
cpu MHz     : 2404.612
cache size  : 4096 KB
fpu     : yes
fpu_exception   : yes
cpuid level : 4
wp      : yes
flags       : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pse36 clflush mmx fxsr sse sse2 syscall nx lm up rep_good nopl pni cx16 hypervisor lahf_lm
bogomips    : 4809.22
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

$ uname -a
Linux Sassy-Test2 3.2.0-4-amd64 #1 SMP Debian 3.2.46-1 x86_64 GNU/Linux

Errors about mm_crc32_u64 on Ubuntu 12.04 LTS

$ gem install cityhash
Building native extensions.  This could take a while...
ERROR:  Error installing cityhash:
        ERROR: Failed to build gem native extension.

    /home/vagrant/.rvm/rubies/ruby-2.2.1/bin/ruby -r ./siteconf20151002-16701-1d7tq4z.rb extconf.rb
creating Makefile

make "DESTDIR=" clean

make "DESTDIR="
compiling cityhash.cc
compiling city.cc
city.cc: In function ‘uint32 Hash32Len0to4(const char*, size_t)’:
city.cc:145:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
city.cc: In function ‘void CityHashCrc256Long(const char*, size_t, uint32, uint64*)’:
city.cc:531:5: error: ‘_mm_crc32_u64’ was not declared in this scope
city.cc:540:5: error: ‘_mm_crc32_u64’ was not declared in this scope
city.cc:550:5: error: ‘_mm_crc32_u64’ was not declared in this scope
make: *** [city.o] Error 1

make failed, exit code 2

Gem files will remain installed in /home/vagrant/.rvm/gems/ruby-2.2.1@quiqup_api/gems/cityhash-0.8.1 for inspection.
Results logged to /home/vagrant/.rvm/gems/ruby-2.2.1@quiqup_api/extensions/x86-linux/2.2.0/cityhash-0.8.1/gem_make.out
$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-linux-gnu/4.6/lto-wrapper
Target: i686-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.6.3-1ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.6 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --enable-targets=all --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu
Thread model: posix
gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)
$ rvm -v
rvm 1.26.11 (master) by Wayne E. Seguin <[email protected]>, Michal Papis <[email protected]> [https://rvm.io/]
$ ruby -v
ruby 2.2.1p85 (2015-02-26 revision 49769) [i686-linux]
$ cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 70
model name      : Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz
stepping        : 1
microcode       : 0x19
cpu MHz         : 2194.921
cache size      : 6144 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx rdtscp lm constant_tsc up xtopology nonstop_tsc pni pclmulqdq monitor ssse3 cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx rdrand lahf_lm abm
bogomips        : 4389.84
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:
$ uname -a
Linux precise32 3.2.0-23-generic-pae #36-Ubuntu SMP Tue Apr 10 22:19:09 UTC 2012 i686 i686 i386 GNU/Linux

Is there anything I should try?

couldn't understand kern.osversion `15.2.0'

Building native extensions.  This could take a while...
ERROR:  Error installing cityhash:
    ERROR: Failed to build gem native extension.

    /Users/row/.rvm/rubies/ruby-2.2.3/bin/ruby -r ./siteconf20151215-5759-1xlapqo.rb extconf.rb
creating Makefile

make "DESTDIR=" clean

make "DESTDIR="
compiling city.cc
couldn't understand kern.osversion `15.2.0'
city.cc:1: error: bad value (native) for -march= switch
city.cc:1: error: bad value (native) for -mtune= switch
make: *** [city.o] Error 1

make failed, exit code 2

Gem files will remain installed in /Users/row/.rvm/gems/ruby-2.2.3@biografklub/gems/cityhash-0.8.1 for inspection.
Results logged to /Users/row/.rvm/gems/ruby-2.2.3@biografklub/extensions/x86_64-darwin-14/2.2.0-static/cityhash-0.8.1/gem_make.out

Cityhash is failing on Travis (ruby 2.3.5p376 (2017-09-14 revision 59905) [x86_64-linux])

I'm using your lib in a Rails project and I get the following error on Travis (ruby 2.3.5p376 (2017-09-14 revision 59905) [x86_64-linux]) when running tests.

It seems to me the problem is at

/home/travis/build/nucc/myapp/vendor/bundle/ruby/2.3.0/gems/cityhash-0.8.1/lib/cityhash/cityhash.so(_Z10CityHash64PKcm+0xa6) [0x7f5e52e71766] city.cc:299

https://github.com/nashby/cityhash/blob/master/ext/cityhash/city.cc#L299

but I don't know if it's an architectural issue and I should change something in travis or actually a bug in the library.

FACTORY_LINT=true bundle exec ruby spec/spec_helper.rb
DEPRECATION WARNING: Sprockets method `register_engine` is deprecated.
Please register a mime type using `register_mime_type` then
use `register_compressor` or `register_transformer`.
https://github.com/rails/sprockets/blob/master/guides/extending_sprockets.md#supporting-all-versions-of-sprockets-in-processors
 (called from block in <class:Engine> at /home/travis/build/nucc/myapp/vendor/bundle/ruby/2.3.0/gems/react-rails-1.3.3/lib/react/rails/engine.rb:6)
Running FactoryGirl.lint ...
/home/travis/build/nucc/myapp/vendor/bundle/ruby/2.3.0/gems/cityhash-0.8.1/lib/cityhash.rb:17: [BUG] Illegal instruction at 0x00007f5e52e71766
ruby 2.3.5p376 (2017-09-14 revision 59905) [x86_64-linux]
-- Control frame information -----------------------------------------------
c:0072 p:---- s:0324 e:000323 CFUNC  :hash64
c:0071 p:0044 s:0320 e:000319 METHOD /home/travis/build/nucc/myapp/vendor/bundle/ruby/2.3.0/gems/cityhash-0.8.1/lib/cityhash.rb:17
c:0070 p:0018 s:0314 e:000313 METHOD /home/travis/build/nucc/myapp/vendor/bundle/ruby/2.3.0/gems/identity_cache-0.2.5/lib/identity_cache/cache_hash.rb:26

...


-- Machine register context ------------------------------------------------
 RIP: 0x00007f5e52e71766 RBP: 0x0b8cba324b8f9f0d RSP: 0x00007ffd71d6f478
 RAX: 0x2c656d6974657645 RBX: 0x745f746961772c6e RCX: 0x745f746961772c6e
 RDX: 0x000000000cfc7cd4 RDI: 0x000000000cfc7b30 RSI: 0x00000000000001c0
  R8: 0xceced6d9c2d9e4d5  R9: 0xf72c473e47312027 R10: 0xe6c4dbced5e595a8
 R11: 0x00007f5e52e716c0 R12: 0x000000000cfc7cf4 R13: 0x72656765746e693a
 R14: 0x0000000002e94b28 R15: 0x0000000002e95e88 EFL: 0x0000000000010296
-- C level backtrace information -------------------------------------------
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(rb_vm_bugreport+0x51f) [0x7f5e643bcb5f] vm_dump.c:692
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(rb_bug_context+0xd0) [0x7f5e642416d0] error.c:435
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(sigill+0x32) [0x7f5e643240a2] signal.c:902
/lib/x86_64-linux-gnu/libc.so.6 [0x7f5e63e2fcb0]
/home/travis/build/nucc/myapp/vendor/bundle/ruby/2.3.0/gems/cityhash-0.8.1/lib/cityhash/cityhash.so(_Z10CityHash64PKcm+0xa6) [0x7f5e52e71766] city.cc:299
/home/travis/build/nucc/myapp/vendor/bundle/ruby/2.3.0/gems/cityhash-0.8.1/lib/cityhash/cityhash.so(cityhash_hash64+0x2b) [0x7f5e52e72e0b] cityhash.cc:19
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_call_cfunc+0xf6) [0x7f5e643a3986] vm_insnhelper.c:1642
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_call_method+0xe3) [0x7f5e643bb153] vm_insnhelper.c:2176
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_exec_core+0x2009) [0x7f5e643ae679] insns.def:994
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_exec+0x81) [0x7f5e643b2451] vm.c:1693
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(rb_yield+0x2a1) [0x7f5e643b3a51] vm.c:971
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(rb_ary_each+0x3d) [0x7f5e641f34cd] array.c:1815
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_call_cfunc+0xf6) [0x7f5e643a3986] vm_insnhelper.c:1642
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_call_method+0xe3) [0x7f5e643bb153] vm_insnhelper.c:2176
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_exec_core+0x1f3e) [0x7f5e643ae5ae] insns.def:963
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_exec+0x81) [0x7f5e643b2451] vm.c:1693
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(invoke_block_from_c_0+0x16e) [0x7f5e643b2fae] vm.c:971
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_invoke_proc+0xb8) [0x7f5e643b3088] vm.c:996
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_call_opt_call+0xa7) [0x7f5e643b3737] vm.c:1072
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_exec_core+0x2009) [0x7f5e643ae679] insns.def:994
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_exec+0x81) [0x7f5e643b2451] vm.c:1693
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(invoke_block_from_c_0+0x16e) [0x7f5e643b2fae] vm.c:971
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_invoke_proc+0xb8) [0x7f5e643b3088] vm.c:996
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_call_opt_call+0xa7) [0x7f5e643b3737] vm.c:1072
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_exec_core+0x2009) [0x7f5e643ae679] insns.def:994
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_exec+0x81) [0x7f5e643b2451] vm.c:1693
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(rb_yield+0x2a1) [0x7f5e643b3a51] vm.c:971
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(rb_ary_each+0x3d) [0x7f5e641f34cd] array.c:1815
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_call_cfunc+0xf6) [0x7f5e643a3986] vm_insnhelper.c:1642
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_exec_core+0x1f3e) [0x7f5e643ae5ae] insns.def:963
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_exec+0x81) [0x7f5e643b2451] vm.c:1693
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(invoke_block_from_c_0+0x16e) [0x7f5e643b2fae] vm.c:971
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_invoke_proc+0xb8) [0x7f5e643b3088] vm.c:996
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_call_opt_call+0xa7) [0x7f5e643b3737] vm.c:1072
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_exec_core+0x1407) [0x7f5e643ada77] insns.def:1859
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_exec+0x81) [0x7f5e643b2451] vm.c:1693
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(rb_yield+0x2a1) [0x7f5e643b3a51] vm.c:971
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(rb_obj_tap+0x9) [0x7f5e642aa8f9] object.c:692
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_call_cfunc+0xf6) [0x7f5e643a3986] vm_insnhelper.c:1642
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_call_method+0xe3) [0x7f5e643bb153] vm_insnhelper.c:2176
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_exec_core+0x1f3e) [0x7f5e643ae5ae] insns.def:963
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_exec+0x81) [0x7f5e643b2451] vm.c:1693
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(invoke_block_from_c_0+0x16e) [0x7f5e643b2fae] vm.c:971
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(yield_under+0x111) [0x7f5e643b3541] vm.c:988
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_call_cfunc+0xf6) [0x7f5e643a3986] vm_insnhelper.c:1642
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_call_method+0xe3) [0x7f5e643bb153] vm_insnhelper.c:2176
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_exec_core+0x1f3e) [0x7f5e643ae5ae] insns.def:963
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_exec+0x81) [0x7f5e643b2451] vm.c:1693
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(invoke_bmethod.isra.103+0x18a) [0x7f5e643b2daa] vm.c:940
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(invoke_block_from_c_0+0xee) [0x7f5e643b2f2e] vm.c:974
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_call_bmethod+0xba) [0x7f5e643b329a] vm.c:996
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_call_method+0xe3) [0x7f5e643bb153] vm_insnhelper.c:2176
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_call_opt_send+0x19a) [0x7f5e643bb7da] vm_insnhelper.c:1850
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_call_method+0xe3) [0x7f5e643bb153] vm_insnhelper.c:2176
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_exec_core+0x2009) [0x7f5e643ae679] insns.def:994
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_exec+0x81) [0x7f5e643b2451] vm.c:1693
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(rb_yield+0x2a1) [0x7f5e643b3a51] vm.c:971
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(rb_ary_each+0x3d) [0x7f5e641f34cd] array.c:1815
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_call_cfunc+0xf6) [0x7f5e643a3986] vm_insnhelper.c:1642
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_exec_core+0x1f3e) [0x7f5e643ae5ae] insns.def:963
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_exec+0x81) [0x7f5e643b2451] vm.c:1693
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(rb_yield+0x2a1) [0x7f5e643b3a51] vm.c:971
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(rb_obj_tap+0x9) [0x7f5e642aa8f9] object.c:692
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_call_cfunc+0xf6) [0x7f5e643a3986] vm_insnhelper.c:1642
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_call_method+0xe3) [0x7f5e643bb153] vm_insnhelper.c:2176
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_exec_core+0x1f3e) [0x7f5e643ae5ae] insns.def:963
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_exec+0x81) [0x7f5e643b2451] vm.c:1693
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(invoke_bmethod.isra.103+0x18a) [0x7f5e643b2daa] vm.c:940
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(invoke_block_from_c_0+0xee) [0x7f5e643b2f2e] vm.c:974
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_call_bmethod+0xba) [0x7f5e643b329a] vm.c:996
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_exec_core+0x2009) [0x7f5e643ae679] insns.def:994
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_exec+0x81) [0x7f5e643b2451] vm.c:1693
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(invoke_block_from_c_0+0x16e) [0x7f5e643b2fae] vm.c:971
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(rb_yield_values+0x112) [0x7f5e643b3f42] vm.c:988
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(inject_i+0x27) [0x7f5e6423abf7] enum.c:602
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_yield_with_cfunc+0x12a) [0x7f5e643a80ca] vm_insnhelper.c:2338
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(rb_yield+0x16d) [0x7f5e643b391d] vm.c:979
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(rb_ary_each+0x3d) [0x7f5e641f34cd] array.c:1815
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_call0_body.constprop.119+0x1d1) [0x7f5e643b5aa1] vm_eval.c:131
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(rb_call0+0x1be) [0x7f5e643b65fe] vm_eval.c:61
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(rb_iterate0+0xc5) [0x7f5e643a6115] vm_eval.c:1174
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(rb_block_call+0x2b) [0x7f5e643a629b] vm_eval.c:1237
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(enum_inject+0x72) [0x7f5e64237272] enum.c:705
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_call_cfunc+0xf6) [0x7f5e643a3986] vm_insnhelper.c:1642
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_call_method+0xe3) [0x7f5e643bb153] vm_insnhelper.c:2176
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_exec_core+0x1f3e) [0x7f5e643ae5ae] insns.def:963
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_exec+0x81) [0x7f5e643b2451] vm.c:1693
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_call0_body.constprop.119+0x114) [0x7f5e643b59e4] vm_eval.c:182
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(rb_call0+0x1be) [0x7f5e643b65fe] vm_eval.c:61
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(rb_class_new_instance+0x21) [0x7f5e642ad8b1] object.c:1856
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_call_cfunc+0xf6) [0x7f5e643a3986] vm_insnhelper.c:1642
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_call_method+0xe3) [0x7f5e643bb153] vm_insnhelper.c:2176
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_exec_core+0x2009) [0x7f5e643ae679] insns.def:994
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(vm_exec+0x81) [0x7f5e643b2451] vm.c:1693
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(ruby_exec_internal+0xc4) [0x7f5e64247784] eval.c:245
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(ruby_exec_node+0x1d) [0x7f5e6424968d] eval.c:310
/home/travis/.rvm/rubies/ruby-2.3.5/bin/../lib/libruby.so.2.3(ruby_run_node+0x1c) [0x7f5e6424c11c] eval.c:302
/home/travis/.rvm/rubies/ruby-2.3.5/bin/ruby(main+0x4b) [0x40087b] main.c:36
-- Other runtime information -----------------------------------------------
* Loaded script: spec/spec_helper.rb
* Loaded features:
    0 enumerator.so
    1 thread.rb
    2 rational.so
    3 complex.so
    4 /home/travis/.rvm/rubies/ruby-2.3.5/lib/ruby/2.3.0/x86_64-linux/enc/encdb.so
    5 /home/travis/.rvm/rubies/ruby-2.3.5/lib/ruby/2.3.0/x86_64-linux/enc/trans/transdb.so
    6 /home/travis/.rvm/rubies/ruby-2.3.5/lib/ruby/2.3.0/unicode_normalize.rb
    7 /home/travis/.rvm/rubies/ruby-2.3.5/lib/ruby/2.3.0/x86_64-linux/rbconfig.rb
    8 /home/travis/.rvm/rubies/ruby-2.3.5/lib/ruby/site_ruby/2.3.0/rubygems/compatibility.rb
    9 /home/travis/.rvm/rubies/ruby-2.3.5/lib/ruby/site_ruby/2.3.0/rubygems/defaults.rb
   10 /home/travis/.rvm/rubies/ruby-2.3.5/lib/ruby/site_ruby/2.3.0/rubygems/deprecate.rb
   11 /home/travis/.rvm/rubies/ruby-2.3.5/lib/ruby/site_ruby/2.3.0/rubygems/errors.rb
   12 /home/travis/.rvm/rubies/ruby-2.3.5/lib/ruby/site_ruby/2.3.0/rubygems/version.rb
   13 /home/travis/.rvm/rubies/ruby-2.3.5/lib/ruby/site_ruby/2.3.0/rubygems/requirement.rb
   14 /home/travis/.rvm/rubies/ruby-2.3.5/lib/ruby/site_ruby/2.3.0/rubygems/platform.rb
   15 /home/travis/.rvm/rubies/ruby-2.3.5/lib/ruby/site_ruby/2.3.0/rubygems/basic_specification.rb
   16 /home/travis/.rvm/rubies/ruby-2.3.5/lib/ruby/site_ruby/2.3.0/rubygems/stub_specification.rb
   17 /home/travis/.rvm/rubies/ruby-2.3.5/lib/ruby/site_ruby/2.3.0/rubygems/util/list.rb
   18 /home/travis/.rvm/rubies/ruby-2.3.5/lib/ruby/2.3.0/x86_64-linux/stringio.so
   19 /home/travis/.rvm/rubies/ruby-2.3.5/lib/ruby/site_ruby/2.3.0/rubygems/specification.rb
   20 /home/travis/.rvm/rubies/ruby-2.3.5/lib/ruby/site_ruby/2.3.0/rubygems/exceptions.rb
   21 /home/travis/.rvm/rubies/ruby-2.3.5/lib/ruby/site_ruby/2.3.0/rubygems/dependency.rb
   22 /home/travis/.rvm/rubies/ruby-2.3.5/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_gem.rb
   23 /home/travis/.rvm/rubies/ruby-2.3.5/lib/ruby/2.3.0/monitor.rb
   24 /home/travis/.rvm/rubies/ruby-2.3.5/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb
   25 /home/travis/.rvm/rubies/ruby-2.3.5/lib/ruby/site_ruby/2.3.0/rubygems.rb
   26 /home/travis/.rvm/rubies/ruby-2.3.5/lib/ruby/site_ruby/2.3.0/rubygems/path_support.rb

Gem installation doesn't read CXX bundler config

My environment requires clang and we have the following bundler config to successfully install the gem:
bundle config build.cityhash --with-CXX=/usr/bin/clang++

extconf.rb currently reads ENV['CXX'] if it's set, it should also read a with_config('CXX') env variable.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.