tlsdate
tlsdate copied to clipboard
Fix configure and build errors on OS X
Hi,
On OS X 10.10 I can only find readv
and writev
but not preadv
or pwritev
, so I substituted preadv
with lseek
+readv
if preadv
is not available, and did the same for pwritev
.
I also removed a seemingly redundant autoconf check for clock_gettime
, which broke the OS X configuration. The same check already exists in the case statements for platforms, which need clock_gettime
.
I tested my changes on OS X 10.10 (Yosemite) and Debian Wheezy (make check
tests passed).
I hope I did not break the build on any other platform.
If there is a better way to fix the build errors on OS X, please comment and I will update the PR. Thanks.
Regards, Clemens
Any thoughts?
I'm wondering why preadv
and pwritev
are used in the first place? It looks that the code would be much simpler and more portable with pread
and pwrite
.
Yes, I think so too. I changed the PR!
How does this impact other OS X builds? Could you please report on any other impacted platforms as well?
On OS X 10.11.2 (15C50) tlsdate
0.0.13 doesn’t build without this patch.
your change is not equivalent -- it's changing the file offset when you use lseek. please change the code to use pread/pwrite instead.
you should also split the commits up -- one to change the configure script and one to update the pread/pwrite logic
Hi, sorry for the delay, I totally forgot about this PR.
@vapier , you are right. I modified the patch to use pread and pwrite and split up the commit.
@ioerror , I can only test ArchLinux, OS X 10.10 and OS X 10.11 but nothing older than that. Maybe someone else has an older OS X machine to test it with?
@ioerror @clemensg ping on this PR