On Sat, Dec 22, 2018 at 5:56 AM David Fetter <david@fetter.org> wrote:
>
> Folks,
>
> I'm trying to compile master (c952eae52a33069e2e92d34f217b43d0eca3d7de)
> on Termux, using the supplied settings, as follows.
>
> pg_config --configure | xargs ./configure > configure.out 2>configure.err
> make -j 4 > make.out 2> make.err
>
> There appears to be some confusion somewhere about sync_file_range,
> namely that it's found by ./configure and then not found in make.
>
> What should I be poking at to make this work?
Apparently your libc (or something else) defines the function so the
configure test passes, but your <fcntl.h> doesn't declare it so we
can't use it. I guess Termux supplies the headers but your Android
supplies the libraries, so there may be sync issues. I'd try hunting
around for declarations with something like find /usr/include -name
'*.h' | xargs grep sync_file_range. Here's an interesting similar
case:
https://github.com/termux/termux-packages/issues/899
That talks about using -D__ANDROID_API__=23 (or presumably higher) to
make sure that sigtimedwait is exposed by signal.h. Something similar
may be afoot here.
--
Thomas Munro
http://www.enterprisedb.com