On 10 August 2014 19:02, Eli Zaretskii wrote: > > Date: Sun, 10 Aug 2014 17:40:24 +0100 > > From: Reuben Thomas > > > > The following patch helps in the case when a sockets library is > installed; > > in my case, ls080b.zip from the DJGPP site: > > > > === modified file 'src/msdos.c' > > --- src/msdos.c 2014-08-09 16:12:33 +0000 > > +++ src/msdos.c 2014-08-09 21:51:56 +0000 > > @@ -4016,7 +4017,7 @@ > > #endif > > > > > > -#ifndef HAVE_SELECT > > +#ifndef HAVE_SYS_SELECT_H > > #include "sysselect.h" > > > > /* This yields the rest of the current time slice to the task manager. > > > > > > The reasoning is that having select doesn't imply having the sys/select.h > > functionality that the following code emulates. > > > > Does that look OK to install? > > You didn't tell enough details, so I don't understand why the change > is needed, and why it is OK not to test HAVE_SELECT at all here. (I > don't have ls080b.zip installed.) Please tell what problems did you > see with the original code, and let's take it from there. > libsocket is a sockets implementation: http://rich.phekda.org/richdawe/lsck/lsck_dl.htm When it is installed, configure correctly detects that select is available, and sets HAVE_SELECT. However, libsocket has no sys/select.h, nor does it implement sys_select. Hence, at present, when I build using ./configure && make for DOS with libsocket installed, HAVE_SELECT is defined to 1, so the MS-DOS implementation of sys_select in msdos.c is not compiled. Later, the linker is unable to find sys_select, and the build fails. I think you're also saying that I should test both HAVE_SELECT && HAVE_SYS_SELECT_H therefore? You're probably right, I (incorrectly?) assumed that if HAVE_SYS_SELECT_H is true, then HAVE_SELECT would be too. -- http://rrt.sc3d.org