msg73562 - (view) |
Author: Erik Carstensen (sandberg) |
Date: 2008-09-22 09:38 |
When building Python on Solaris, I don't get the os.mknod function. This seems to be a combination of two errors: 1. The definition of posix_mknod() in posixmodule.c is surrounded by: #if defined(HAVE_MKNOD) && defined(HAVE_MAKEDEV) It works fine if I remove the HAVE_MAKEDEV define. 2. The reason why HAVE_MAKEDEV doesn't work, is that the Python configure script only looks for makedev in <sys/types.h>, while on Solaris you need to include <sys/mkdev.h> as well. cc -V gives: cc: Sun C 5.9 SunOS_sparc Patch 124867-01 2007/07/12 uname -a gives: SunOS zelda 5.9 Generic_117171-07 sun4us sparc FJSV,GPUZC-M |
|
|
msg73595 - (view) |
Author: Martin v. Löwis (loewis) *  |
Date: 2008-09-22 21:03 |
It would be best if you could contribute a patch to fix this. The source of configure is configure.in; you need autoconf to generate configure from it. |
|
|
msg101007 - (view) |
Author: Jesús Cea Avión (jcea) *  |
Date: 2010-03-13 16:29 |
The patch seems to be trivial. I need review, specially compiling under non-Solaris OS. I plan to commit this patch to 2.6, 2.7, 3.1 and 3.2. Must I update "NEWS"? |
|
|
msg101009 - (view) |
Author: Antoine Pitrou (pitrou) *  |
Date: 2010-03-13 17:07 |
Compiles fine under Debian stable. You shouldn't commit to 2.6 until 2.6.5 is released, though. If you want to do so, contact Barry first. |
|
|
msg101010 - (view) |
Author: Martin v. Löwis (loewis) *  |
Date: 2010-03-13 17:08 |
You do need a NEWS entry. |
|
|
msg101021 - (view) |
Author: Jesús Cea Avión (jcea) *  |
Date: 2010-03-13 20:23 |
Please, do the final review, ready for commiting. I have asked about committing to 2.6 in the python-committers mailing list. |
|
|
msg101027 - (view) |
Author: Barry A. Warsaw (barry) *  |
Date: 2010-03-13 22:27 |
This will not block 2.6.5 but is a candidate for 2.6.6. |
|
|
msg101060 - (view) |
Author: Roumen Petrov (rpetrov) * |
Date: 2010-03-14 19:01 |
Some questions: - why patch don't update posixmodule.c and remove defined(HAVE_MAKEDEV) ? - how is defined HAVE_DEVICE_MACROS in pyconfig.h About changes in configure.in - I'm not sure that they are correct (more later). |
|
|
msg101115 - (view) |
Author: Jesús Cea Avión (jcea) *  |
Date: 2010-03-15 14:19 |
I just did the minimal change. I don't know if removing "defined(HAVE_MAKEDEV)" is safe. "HAVE_DEVICE_MACROS" is defined if "configure" finds "makedev()" macro. Clarify your comment about configure.in changes being wrong. |
|
|
msg101135 - (view) |
Author: Roumen Petrov (rpetrov) * |
Date: 2010-03-15 22:13 |
Jesús Cea Avión wrote: > > Jesús Cea Avión<jcea@jcea.es> added the comment: > > I just did the minimal change. I don't know if removing "defined(HAVE_MAKEDEV)" is safe. The python build system is full with minimal changes and result is a big mess. Did you found which revision add ".. defined(HAVE_MAKEDEV)" in posix*.c ? > "HAVE_DEVICE_MACROS" is defined if "configure" finds "makedev()" macro. And what is result on you platform ? > Clarify your comment about configure.in changes being wrong. Usually just adding #include will break test on platforms where xxxx is missing. The correct implementation will depend from above. Cases: 1) platform is no longer supported - it is save to remove test case from configure and defined(HAVE_MAKEDEV) from posixmodule.c 2) HAVE_DEVICE_MACROS is defined for you . Then check how is written test for HAVE_DEVICE_MACROS and make test for makedev similar. Roumen |
|
|
msg101190 - (view) |
Author: Barry A. Warsaw (barry) *  |
Date: 2010-03-16 20:50 |
jcea, why did you make this a release blocker for 2.6.5? |
|
|
msg101232 - (view) |
Author: Jesús Cea Avión (jcea) *  |
Date: 2010-03-17 15:34 |
Sorry, Barry. Don't know what happened. Probably write a followup without reloading the page and "undid" previous changes. I keep my issues permanently open in firefox tabs. I will try to be more careful. |
|
|
msg101515 - (view) |
Author: Jesús Cea Avión (jcea) *  |
Date: 2010-03-22 15:32 |
Roumen Petrov (rpetrov) wrote: >> >> Jesús Cea Avión<jcea@jcea.es> added the comment: >> >> I just did the minimal change. I don't know if removing "defined(HAVE_MAKEDEV)" is safe. > The python build system is full with minimal changes and result is a > big mess. Did you found which revision add ".. defined(HAVE_MAKEDEV)" > in posix*.c ? The code was added in 2002-07-30 by nnorwitz, to support OSF1 (Dec Unix). Is that platform still supported?. I don't see any related buildbot. >> "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". > Cases: > 1) platform is no longer supported - it is save to remove test case from > configure and defined(HAVE_MAKEDEV) from posixmodule.c Do we have a list of officially supported?. > 2) HAVE_DEVICE_MACROS is defined for you . Then check how is written > test for HAVE_DEVICE_MACROS and make test for makedev similar. Investigating the issue, I could say that HAVE_MAKEDEV should be deleted, but I don't have access to a OSF1 machine for trying. How should I proceed? |
|
|
msg101519 - (view) |
Author: Jesús Cea Avión (jcea) *  |
Date: 2010-03-22 16:37 |
My browser keeps deleting nosy. Sorry. Roumen, please read. |
|
|
msg101536 - (view) |
Author: Roumen Petrov (rpetrov) * |
Date: 2010-03-22 21:24 |
>>> "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. |
|
|
msg102272 - (view) |
Author: Benjamin Peterson (benjamin.peterson) *  |
Date: 2010-04-03 15:26 |
I think this small change can slip in after beta. |
|
|
msg104248 - (view) |
Author: Jesús Cea Avión (jcea) *  |
Date: 2010-04-26 16:45 |
Please, Review. Roumen?. I plan to commit this to 2.7, 2.6, 3.1 and 3.2, if you agree. |
|
|
msg104249 - (view) |
Author: Antoine Pitrou (pitrou) *  |
Date: 2010-04-26 16:55 |
Jesus, this looks ok, have you checked the changes work fine under e.g. Linux? I don't think DEC Unix is supported anymore, actually I'm not sure anyone still uses it. |
|
|
msg104251 - (view) |
Author: Jesús Cea Avión (jcea) *  |
Date: 2010-04-26 17:11 |
Pitrou, the code configures correctly in Linux. Reading PEP11, I don't see the procedure to propose a platform for deprecation. Just mailing python-dev? I will delay the patch committing a couple of days, just in case somebody else want to comment. Thanks for the review, Pitrou. |
|
|
msg104252 - (view) |
Author: Antoine Pitrou (pitrou) *  |
Date: 2010-04-26 17:22 |
> Reading PEP11, I don't see the procedure to propose a platform for > deprecation. Just mailing python-dev? Yes. > Thanks for the review, Pitrou. You can call me Antoine. |
|
|
msg104265 - (view) |
Author: Jesús Cea Avión (jcea) *  |
Date: 2010-04-26 18:00 |
Informal europeans! :-). Hi, Antoine, I am Jesús (sunny Spain!). Deprecation request mailed to python-dev. |
|
|
msg104279 - (view) |
Author: Roumen Petrov (rpetrov) * |
Date: 2010-04-26 21:30 |
Sorry Jesús, right now I cannot test new patch it but It looks goodand I expect first test to succeed so that second won't be tested as result OCF_XXX to be defined. If there is no spelling error it is fine. Roumen |
|
|
msg104427 - (view) |
Author: Jesús Cea Avión (jcea) *  |
Date: 2010-04-28 12:03 |
Patch committed. trunk (2.7): r80574 2.6: r80575 py3k (3.2): r80576 3.1: r80577 |
|
|