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 Manjusaka
Recipients Manjusaka
Date 2020-06-24.15:16:57
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1593011818.28.0.182724458451.issue41105@roundup.psfhosted.org>
In-reply-to
Content
Hello everyone

When I try to compile the code from the master branch on my Manjaro, one of the Linux system based on the Arch and based on the glibc-2.31 && gcc-10.1.0 . the compiler show me that the fcntl module has been failed to be compiled

Here's the message 

/home/manjusaka/Documents/project/cpython/Modules/fcntlmodule.c:618:33: error: ‘I_PUSH’ undeclared (first use in this function)
  618 |     if (PyModule_AddIntMacro(m, I_PUSH)) return -1;
      |                                 ^~~~~~
./Include/modsupport.h:146:67: note: in definition of macro ‘PyModule_AddIntMacro’
  146 | #define PyModule_AddIntMacro(m, c) PyModule_AddIntConstant(m, #c, c)
      |                                                                   ^
/home/manjusaka/Documents/project/cpython/Modules/fcntlmodule.c:618:33: note: each undeclared identifier is reported only once for each function it appears in
  618 |     if (PyModule_AddIntMacro(m, I_PUSH)) return -1;
      |                                 ^~~~~~
./Include/modsupport.h:146:67: note: in definition of macro ‘PyModule_AddIntMacro’
  146 | #define PyModule_AddIntMacro(m, c) PyModule_AddIntConstant(m, #c, c)
      |                                                                   ^
/home/manjusaka/Documents/project/cpython/Modules/fcntlmodule.c:619:33: error: ‘I_POP’ undeclared (first use in this function)
  619 |     if (PyModule_AddIntMacro(m, I_POP)) return -1;
      |                                 ^~~~~
./Include/modsupport.h:146:67: note: in definition of macro ‘PyModule_AddIntMacro’
  146 | #define PyModule_AddIntMacro(m, c) PyModule_AddIntConstant(m, #c, c)
      |                                                                   ^
/home/manjusaka/Documents/project/cpython/Modules/fcntlmodule.c:620:33: error: ‘I_LOOK’ undeclared (first use in this function); did you mean ‘F_LOCK’?
  620 |     if (PyModule_AddIntMacro(m, I_LOOK)) return -1;
      |                                 ^~~~~~


I have figured out the reason because the stropts.h has been deprecated since the glic-2.30, but some of the distribution of Linux keep an empty file on the /usr/include, so the configure process will recognize stropts.h is existed and open HAVE_STROPTS_H flag.

So should we add an extra content check in the configure process to avoid the empty file problem?
History
Date User Action Args
2020-06-24 15:16:58Manjusakasetrecipients: + Manjusaka
2020-06-24 15:16:58Manjusakasetmessageid: <1593011818.28.0.182724458451.issue41105@roundup.psfhosted.org>
2020-06-24 15:16:58Manjusakalinkissue41105 messages
2020-06-24 15:16:57Manjusakacreate