Being the user the OP was talking about, let me drop into this discussion.
The error appears on the standard ActiveState distribution of Perl, both 5.8.8 and 5.10. The compiler flags, as shown by perl -V, are:
cc='cl', ccflags ='-nologo -GF -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 -D
+_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DNO_HASH_SEED -DUSE_SITECUSTO
+MIZE -DPRIVLIB_LAST_IN_INC -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SY
+S -DUSE_PERLIO -DPERL_MSVCRT_READFIX',
optimize='-MD -Zi -DNDEBUG -O1',
cppflags='-DWIN32'
ccversion='12.00.8804', gccversion='', gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=8
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='__int64
+', lseeksize=8
alignbytes=8, prototype=define
Update: Maybe this part of perl -V is also important:
Compile-time options: MULTIPLICITY PERL_IMPLICIT_CONTEXT
PERL_IMPLICIT_SYS PERL_MALLOC_WRAP
PL_OP_SLAB_ALLOC USE_ITHREADS USE_LARGE_FILES
USE_PERLIO USE_SITECUSTOMIZE
But can we see from this whether it was compiled with fcntl.h?
Some other Fcntl macros work well - for instance, O_CREAT.
Even if O_NONBLOCK is not defined, I wonder why the error message is issued on a line, where only the existence is tested, i.e.
if(exists $Fcntl::{'O_NONBLOCK')) { ... }
--
Ronald Fischer <ynnor@mm.st>
|