On Sat, Dec 22, 2018 at 07:03:32AM +1100, Thomas Munro wrote: > On Sat, Dec 22, 2018 at 5:56 AM David Fetter <da...@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.
That worked perfectly...to expose the next issue, namely that at least part of the System-V IPC mechanisms have been left out. Do we support other systems where this is true? Best, David. -- David Fetter <david(at)fetter(dot)org> http://fetter.org/ Phone: +1 415 235 3778 Remember to vote! Consider donating to Postgres: http://www.postgresql.org/about/donate