sdsalloc.h doesn't seem to be installed as part of regular hiredis
mcepl opened this issue · comments
Line 19 in a5574a9
When I look at the Makefile of hiredis:
https://github.com/redis/hiredis/blob/6f5bae8c6900e051da6e677756508707565ce56e/Makefile#L302-L310
I don’t see sdsalloc.h
to be installed at all, therefore it is not installed on my openSUSE system. Any ideas how to get this file? Is it a bug in hiredis-py
or in the installation Makefile
of hiredis?
@mcepl Have you seen vendor/sdsalloc.h in the codebase? You need to ensure you update submodules as well.
git submodule update --init --recursive is your friend
@mcepl Have you seen vendor/sdsalloc.h in the codebase? You need to ensure you update submodules as well.
git submodule update --init --recursive is your friend
Given I am trying to use tarball from https://files.pythonhosted.org/packages/source/h/hiredis/hiredis-2.2.2.tar.gz I would hope it is included. It actually is, but I would prefer if I could use include files from the hiredis package itself, not the vendored one.
I'm in the same situation, trying to update this package to 2.2.2 on GNU Guix; there's no sdalloc.h file in hiredis 1.1.1:
$ find /gnu/store/0clwbra3j29m97rajyi5y83lm29s2636-hiredis-1.1.0/include/
/gnu/store/0clwbra3j29m97rajyi5y83lm29s2636-hiredis-1.1.0/include/
/gnu/store/0clwbra3j29m97rajyi5y83lm29s2636-hiredis-1.1.0/include/hiredis
/gnu/store/0clwbra3j29m97rajyi5y83lm29s2636-hiredis-1.1.0/include/hiredis/read.h
/gnu/store/0clwbra3j29m97rajyi5y83lm29s2636-hiredis-1.1.0/include/hiredis/async.h
/gnu/store/0clwbra3j29m97rajyi5y83lm29s2636-hiredis-1.1.0/include/hiredis/alloc.h
/gnu/store/0clwbra3j29m97rajyi5y83lm29s2636-hiredis-1.1.0/include/hiredis/sockcompat.h
/gnu/store/0clwbra3j29m97rajyi5y83lm29s2636-hiredis-1.1.0/include/hiredis/adapters
/gnu/store/0clwbra3j29m97rajyi5y83lm29s2636-hiredis-1.1.0/include/hiredis/adapters/ae.h
/gnu/store/0clwbra3j29m97rajyi5y83lm29s2636-hiredis-1.1.0/include/hiredis/adapters/glib.h
/gnu/store/0clwbra3j29m97rajyi5y83lm29s2636-hiredis-1.1.0/include/hiredis/adapters/ivykis.h
/gnu/store/0clwbra3j29m97rajyi5y83lm29s2636-hiredis-1.1.0/include/hiredis/adapters/libev.h
/gnu/store/0clwbra3j29m97rajyi5y83lm29s2636-hiredis-1.1.0/include/hiredis/adapters/libevent.h
/gnu/store/0clwbra3j29m97rajyi5y83lm29s2636-hiredis-1.1.0/include/hiredis/adapters/libhv.h
/gnu/store/0clwbra3j29m97rajyi5y83lm29s2636-hiredis-1.1.0/include/hiredis/adapters/libuv.h
/gnu/store/0clwbra3j29m97rajyi5y83lm29s2636-hiredis-1.1.0/include/hiredis/adapters/macosx.h
/gnu/store/0clwbra3j29m97rajyi5y83lm29s2636-hiredis-1.1.0/include/hiredis/adapters/poll.h
/gnu/store/0clwbra3j29m97rajyi5y83lm29s2636-hiredis-1.1.0/include/hiredis/adapters/qt.h
/gnu/store/0clwbra3j29m97rajyi5y83lm29s2636-hiredis-1.1.0/include/hiredis/hiredis.h
/gnu/store/0clwbra3j29m97rajyi5y83lm29s2636-hiredis-1.1.0/include/hiredis/sds.h
I find it curious that a 'vendored' file doesn't exist upstream; is it something added by hiredis-py?
I would also like to be able to simply link against a system-provided hiredis.
The https://github.com/redis/hiredis/blob/v1.1.0/sdsalloc.h file seems to contain 3 re-definitions, perhaps for backward compatibility purpose? hiredis-py could probably be adjusted to use alloc.h and the originally named definitions it contains instead.