gearman / gearmand

http://gearman.org/
Other
741 stars 138 forks source link

use hashkit library provided by libmemcached #313

Closed p-alik closed 2 months ago

p-alik commented 4 years ago

Remove libhashkit subdirectory and use instead officially by libmemcached provided hashkit http://docs.libmemcached.org/hashkit_functions.html

See https://github.com/gearman/gearmand/issues/293#issuecomment-666964211

esabol commented 4 years ago

I'm good with this as long as none of the symbols in libgearman.so have changed. Did you check that, @p-alik?

esabol commented 4 years ago

Well, Travis CI shows build failures for gcc/g++ 4.8.5 and 4.9.x on Trusty (Ubuntu 14.04.6 LTS), unfortunately. Maybe sudo apt-get install libmemcached-dev (or sudo apt-get install libhashkit-dev?) on Trusty only in .travis.yml to fix those failures?

But that does prompt the question: Do we really want gearmand to be dependent on libmemcached?

p-alik commented 4 years ago

I'm good with this as long as none of the symbols in libgearman.so have changed. Did you check that, @p-alik?

No, I didn't

p-alik commented 4 years ago

apt-get install libhashkit-dev doesn't help to solve the Issue with gcc 4.8 and 4.9

esabol commented 4 years ago

apt-get install libhashkit-dev doesn't help to solve the Issue with gcc 4.8 and 4.9

I suggest trying apt-get install libmemcached-dev as well.

p-alik commented 4 years ago

I suggest trying apt-get install libmemcached-dev as well.

It won't help because libmemcached-dev doesn't matter to the issue and elder libhashkit doesn't provide libhashkit_murmur3.

$ cat /etc/issue
Ubuntu 14.04.6 LTS \n \l

$ grep -r libhashkit_murmur /usr/include/libhashkit* /usr/include/libmemcached*
/usr/include/libhashkit-1.0/algorithm.h:uint32_t libhashkit_murmur(const char *key, size_t key_length);
$ dpkg -S /usr/include/libhashkit-1.0/algorithm.h 
libhashkit-dev: /usr/include/libhashkit-1.0/algorithm.h
$ dpkg -l libhashkit-dev
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                                          Version                     Architecture                Description
+++-=============================================-===========================-===========================-===============================================================================================
ii  libhashkit-dev                                1.0.8-1ubuntu2              amd64                       libmemcached hashing functions and algorithms (development files)
SpamapS commented 2 months ago

This is pretty old. Happy to revisit if it makes sense.