[issue1722225] Build on QNX 6
Martin v. Löwis [EMAIL PROTECTED] added the comment: Thanks for the patch. Committed as r63562. _ Tracker [EMAIL PROTECTED] http://bugs.python.org/issue175 _ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue1722225] Build on QNX 6
Martin v. Löwis added the comment: I don't understand the ncurses issue: you already disable the definition of _XOPEN_SOURCE in the patch, hence _XOPEN_SOURCE_EXTENDED does not get defined, hence ncurses should not define wchar_t. So what's the actual problem that this fragment solves? As for stdlib.h: *Is* __WCHAR_T defined on your system, normally? Re stack size: maybe I misunderstood what the patch does. Is it the case that, with the patch, the interpreter won't crash, but gives a RuntimeError instead? _ Tracker [EMAIL PROTECTED] http://bugs.python.org/issue175 _ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue1722225] Build on QNX 6
Vladimir Konjkov added the comment: For _XOPEN_SOURCE and _XOPEN_SOURCE_EXTENDED look this http://opengroup.org/onlinepubs/007908775/xcurses/implement.html _ Tracker [EMAIL PROTECTED] http://bugs.python.org/issue175 _ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue1722225] Build on QNX 6
Vladimir Konjkov added the comment: there is script Misk/find_recursionlimit.py that can help to find real recursion limit for QNX4 for one recursion used ~900 kb of stack thus 1Mb sufficient for default recursion limit = 1000. _ Tracker [EMAIL PROTECTED] http://bugs.python.org/issue175 _ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue1722225] Build on QNX 6
Matt Kraai added the comment: Regarding the curses issue, I removed that portion of the patch and the curses module still compiled. It must have been an artifact from before I disabled _XOPEN_SOURCE. Thanks for catching that. Regarding the stack size, without the -N 2048K option, make test fails as follows: ... test_compare test_compile make: *** [test] segmentation violation (core dumped) The default recursion limit returned by sys.getrecursionlimit() is 1000, and Misc/find_recursionlimit.py says that 1100 is fine. With -N 2048K, test_compile does not produce a segmentation fault and Misc/find_recursionlimit.py says that 4700 is fine. Added file: http://bugs.python.org/file9287/patch _ Tracker [EMAIL PROTECTED] http://bugs.python.org/issue175 _ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue1722225] Build on QNX 6
Matt Kraai added the comment: If they're defined, TCGETA, TCSETA, TCSETAW, and TCSETAF are used on lines 702, 714, 717, and 720 of Modules/termios.c as of r60219. They are defined by sys/ioctl.h as #define TCGETA _IOR('T', 1, struct termio) #define TCSETA _IOW('T', 2, struct termio) #define TCSETAW _IOW('T', 3, struct termio) #define TCSETAF _IOW('T', 4, struct termio) These macro definitions expand to ( 0x4000 | (( sizeof( struct termio ) 0x3fff ) 16) | (( ( 'T' ) ) 8) | ( ( 1 ) )) ( 0x8000 | (( sizeof( struct termio ) 0x3fff ) 16) | (( ( 'T' ) ) 8) | ( ( 2 ) )) ( 0x8000 | (( sizeof( struct termio ) 0x3fff ) 16) | (( ( 'T' ) ) 8) | ( ( 3 ) )) ( 0x8000 | (( sizeof( struct termio ) 0x3fff ) 16) | (( ( 'T' ) ) 8) | ( ( 4 ) )) respectively, so struct termio must be declared if any of these macros are used. struct termio is declared in sys/termio.h. Since sys/termio.h isn't included, Modules/termios.c fails to compile with the following error messages: /home/m_kraai/src/python/Modules/termios.c:702: sizeof applied to an incomplete type /home/m_kraai/src/python/Modules/termios.c:714: sizeof applied to an incomplete type /home/m_kraai/src/python/Modules/termios.c:717: sizeof applied to an incomplete type /home/m_kraai/src/python/Modules/termios.c:720: sizeof applied to an incomplete type sys/termio.h checks that it's included before termios.h is first included. If it's not included first, it produces the following error message: /usr/qnx630/target/qnx6/usr/include/sys/termio.h:109: #error termio/termios incompatibility What should configure test for? _ Tracker [EMAIL PROTECTED] http://bugs.python.org/issue175 _ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue1722225] Build on QNX 6
Matt Kraai added the comment: This patch contains two improvements over the previous version: * it uses configure to check whether sys/termio.h is available and uses the result to determine whether to include it and * it makes malloc_closure.c use _SC_PAGESIZE instead of getpagesize if it's available. I believe there are two unresolved issues at this point, the wchar_t definition and the stack size. [n]curses.h defines wchar_t if _XOPEN_SOURCE_EXTENDED is defined and if _WCHAR_T is not defined: #ifdef _XOPEN_SOURCE_EXTENDED #ifndef _WCHAR_T typedef unsigned long wchar_t; #endif /* _WCHAR_T */ #ifndef _WINT_T typedef long int wint_t; #endif /* _WINT_T */ stdlib.h defines wchar_t if __WCHAR_T is defined: #if defined(__WCHAR_T) typedef __WCHAR_T wchar_t; #undef __WCHAR_T #endif I'm afraid I don't quite understand what configure should test for in this case either. Please help! Regarding the stack size, how can I test whether 2MiB is sufficient for the default recursion limit? Added file: http://bugs.python.org/file9273/patch _ Tracker [EMAIL PROTECTED] http://bugs.python.org/issue175 _ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue1722225] Build on QNX 6
Guido van Rossum added the comment: I think it's fine to accept this (once the remaining issues are resolved) -- it's a remarkably small patch. Regarding TCGETA, perhaps the issue is that it isn't defined unless sys/termio.h is included? While Python doesn't USE it, it exports it fro the termios module, if it exists. Though the suggestion that this should be resolved by configure is still a good one. Matt, can you provide an updated patch or clarifications? -- nosy: +gvanrossum _ Tracker [EMAIL PROTECTED] http://bugs.python.org/issue175 _ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue1722225] Build on QNX 6
Matt Kraai added the comment: I'm not interested in QNX 4, as that's not what I use. I'd be willing to supporting threads on QNX 6. -- title: Build on QNX - Build on QNX 6 _ Tracker [EMAIL PROTECTED] http://bugs.python.org/issue175 _ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com