[issue3928] os.mknod missing on Solaris

Roumen Petrov report at bugs.python.org
Mon Mar 22 22:24:38 CET 2010


Roumen Petrov <bugtrack at roumenpetrov.info> added the comment:

>>> "HAVE_DEVICE_MACROS" is defined if "configure" finds "makedev()" macro.
>> And what is result on you platform ?
>It is defined if I add the new "include".

a) Why you touch test case for "AC_MSG_CHECKING(for major, minor, and makedev)
AC_TRY_LINK([
#if defined(MAJOR_IN_MKDEV)
#include <sys/mkdev.h>
#elif defined(MAJOR_IN_SYSMACROS)
#include <sys/sysmacros.h>
#else
#include <sys/types.h>
#endif
],[
  makedev(major(0),minor(0));
],[
  AC_DEFINE(HAVE_DEVICE_MACROS, 1,
	    [Define to 1 if you have the device macros.])
  AC_MSG_RESULT(yes)
],[
  AC_MSG_RESULT(no)
])"
?
Sorry I did't understand why this test case fail for you.


b) PEP 11 list unsupported platforms and OSF1 is not listed.

c) So code if from revision 27820 that fix "SF patch #584245, get python to link on OSF1 (Dec Unix)" . The current patch as is will break OSF1 and other OS-es (as example linux don't define this header). Just adding new include will fail test case and will left as undefined HAVE_MAKEDEV => mknod won't be added for those platforms.

----------

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue3928>
_______________________________________


More information about the Python-bugs-list mailing list