This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author nickpapior
Recipients nickpapior
Date 2019-06-21.09:45:22
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1561110322.83.0.0214129051762.issue37360@roundup.psfhosted.org>
In-reply-to
Content
When trying to compile Python without OpenPTY and without stropts.h the compilation fails at Modules/posixmodule.c.

Apparently there is a failed logic in the def's.

It goes something like this:

#ifdef HAVE_OPENPTY
...
#elif defined(HAVE__GETPTY)
...
#else
...
#if !defined(__CYGWIN__) && !defined(HAVE_DEV_PTC)
    ioctl(slave_fd, I_PUSH, "ptem"); /* push ptem */
...
#endif
#endif

However, in the top of the file there is:
#if defined(HAVE_OPENPTY) || defined(HAVE_FORKPTY) || defined(HAVE_DEV_PTMX)
#ifdef HAVE_PTY_H
#include <pty.h>
#else
#ifdef HAVE_LIBUTIL_H
#include <libutil.h>
#else
#ifdef HAVE_UTIL_H
#include <util.h>
#endif /* HAVE_UTIL_H */
#endif /* HAVE_LIBUTIL_H */
#endif /* HAVE_PTY_H */
#ifdef HAVE_STROPTS_H
#include <stropts.h>
#endif


However, if stropts.h is not present (then I_PUSH isn't either) then the logic fails if OpenPTY isn't present as well... :(

This came up when I tried to compile Python using Intel compiler suite on our cluster.
It succesfully compiles using GNU, but fails with Intel due to this rare hickup.

If you need additional details, please let me now!
History
Date User Action Args
2019-06-21 09:45:22nickpapiorsetrecipients: + nickpapior
2019-06-21 09:45:22nickpapiorsetmessageid: <1561110322.83.0.0214129051762.issue37360@roundup.psfhosted.org>
2019-06-21 09:45:22nickpapiorlinkissue37360 messages
2019-06-21 09:45:22nickpapiorcreate