[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#715028: apr: FTBFS on hurd-i386: stuck configure test for accept4



Hi,

Alle sabato 6 luglio 2013, Stefan Fritsch ha scritto:
> On Friday 05 July 2013, Pino Toscano wrote:
> > the new version of apr fails to build on hurd-i386 [1].
> > 
> > During the build, the configure test for accept4 gets stuck, and
> > thus the build is then killed after the timeout.
> 
> That's interesting because the test has not changed from 1.4.6 to
> 1.4.8. Maybe there was some behavior change in hurd in the last 2
> months? If you are interested, you could re-try building 1.4.6-4.

Oh right, I forgot to add earlier: basically what changed between then 
and now is that (e)glibc has been updated from 2.13 to 2.17, which 
features the implementation on Hurd of accept4. Indeed, checking the 
latest build log (eg for 1.4.6-4) shows
| checking for accept4 support... no
and compiling it on an up-to-date Hurd system shows the same stucking 
behaviour of that configure test.

> > What happens is that inside the test the connect in the child fails
> > with an errno not checked among the ones to retry the connect
> > again; such errno (EADDRNOTAVAIL) may be returned while the bind
> > operation (in the parent) is in progress (at least on Hurd), so
> > just check it too (it is a valid errno for connect [2]) and
> > continue connect'ing.
> 
> The test is rather weird, anyway. Fortunately, there is a better one
> in apr trunk. Could you give
> 
> http://svn.apache.org/viewvc/apr/apr/trunk/configure.in?r1=832904&r2=
> 832903&pathrev=832904&view=patch
> 
> a try?

Sure. This new version does not block, but it does not work on Hurd 
either.
The problem is that, while supporting accept4 and SOCK_* in it, flags 
such as SOCK_NONBLOCK are not supported (yet) in socket and socketpair, 
so the first socket call fails straight away. Easy fix would be using 
fcntl to set the fd as nonblocking, which allows the test to pass on 
Hurd (enabling accept4).

Thanks,
-- 
Pino Toscano

Attachment: signature.asc
Description: This is a digitally signed message part.


Reply to: