Open Danderson123 opened 4 years ago
This compiles ok for me on Linux, but fails on OS X. I think it may be because size_t will typically be 64 bits on Linux, but 32 bits on OS X. I think the fix for this is to make the various places where hashes are defined as:
std::vector<size_t>& hashes
to explicitly use 64 bits as in other defintions:
std::vector<uint64_t>& hashes
However this will still fail when compiling aio_search_file
as we don't have the linux kernel headers:
../cobs/query/compact_index/aio_search_file.hpp:13:10: fatal error: linux/aio_abi.h: No such file or directory
13 | #include <linux/aio_abi.h>
| ^~~~~~~~~~~~~~~~~
@bingmann Do you know any way around this, or have any plans to officially support OS X? Also, would it be helpful if I raised a PR for the consistent integer widths?
This compiles ok for me on Linux, but fails on OS X. I think it may be because size_t will typically be 64 bits on Linux, but 32 bits on OS X. I think the fix for this is to make the various places where hashes are defined as:
Or it may be that they are the same width, but unsigned long long
vs unsigned long
, which are treated as distinct by the compiler despite being the same - I'm not sure! Either way changing the size_t
to a specified width doesn't seem like a bad idea
Yes, changing size_t
to the correct specific data types is of course wise.
Regarding the other issues, I don't have a Mac, so I can't fix that.
Hello, I am a Mac user and appear to have successfully compiled using GCC. However, when I run make -j4 I get the following errors: