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.

classification
Title: Configure script incorrect for reasonably recent OpenBSD
Type: compile error Stage:
Components: Installation Versions: Python 3.1
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: johns, loewis, skip.montanaro, skrah
Priority: normal Keywords: patch

Created on 2010-02-10 21:04 by johns, last changed 2022-04-11 14:56 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
use-xopen-source-no.patch skrah, 2010-02-15 15:14 Use original xopen_source=no approach for OpenBSD
openbsd_configure.patch skrah, 2010-02-15 21:11
Messages (11)
msg99178 - (view) Author: (johns) Date: 2010-02-10 21:04
Current OpenBSD is at 4.7 with a new release every six months.
diff below:

--- configure  Mon Jun  8 17:22:57 2009
+++ configure.new Wed Feb 10 16:00:34 2010
@@ -2086,7 +2086,7 @@
   # On OpenBSD, select(2) is not available if _XOPEN_SOURCE is defined,
   # even though select is a POSIX function. Reported by J. Ribbens.
   # Reconfirmed for OpenBSD 3.3 by Zachary Hamm, for 3.4 by Jason Ish.
-  OpenBSD/2.* | OpenBSD/3.[0123456789] | OpenBSD/4.[0123])
+  OpenBSD/2.* | OpenBSD/3.* | OpenBSD/4.[01234567])
     define_xopen_source=no
     # OpenBSD undoes our definition of __BSD_VISIBLE if _XOPEN_SOURCE is
     # also defined. This can be overridden by defining _BSD_SOURCE
msg99182 - (view) Author: Stefan Krah (skrah) * (Python committer) Date: 2010-02-10 23:25
Thanks for reporting. This looks like a duplicate of issue3920.
msg99188 - (view) Author: Skip Montanaro (skip.montanaro) * (Python triager) Date: 2010-02-11 01:43
John> Current OpenBSD is at 4.7 with a new release every six months.
    John> diff below:
    ...
    John> -  OpenBSD/2.* | OpenBSD/3.[0123456789] | OpenBSD/4.[0123])
    John> +  OpenBSD/2.* | OpenBSD/3.* | OpenBSD/4.[01234567])

Wouldn't it be better to just use "OpenBSD/4.*" and fix it if/when a new
minor release makes the assumption false?

Skip
msg99192 - (view) Author: (johns) Date: 2010-02-11 02:37
Yeah or better yet take out the versioning entirely.
msg99199 - (view) Author: Skip Montanaro (skip.montanaro) * (Python triager) Date: 2010-02-11 05:36
>> Yeah or better yet take out the versioning entirely.

Perhaps.  Is 1.x treated differently than 2, 3 or 4?

S
msg99211 - (view) Author: (johns) Date: 2010-02-11 14:53
Perhaps 1.x was never considered.  OpenBSD 2.0 was released in 1996.  The OS developers only support the current release version and one "minor" release back anyway.  The major release number isn't significant.  It's just incremented after the "minor" release is bumped from 9.  There's a release every six months so the difference in "major" release numbers is 5 years.  No one should even be running 3.x or even early 4.x anymore.
msg99355 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2010-02-15 08:43
This issue is now superseded by issue 3920. It would be good if somebody could confirm that the approach taken for 4.4 continues to work in more recent releases.
msg99364 - (view) Author: Stefan Krah (skrah) * (Python committer) Date: 2010-02-15 15:14
In my testing of issue 3920 I missed that the original approach also
fixed the ncurses.h problem, so it should be preferred over bsd3.diff.

I attach a patch that reverts the recent commit and extends the
xopen_source=no up to version 4.9. I've tested it on 4.4 and 4.6,
johns did essentially the same on 4.7.

I agree with Skip and johns that at least all 4.* versions should be covered, otherwise we have this situation every 6 months.
msg99365 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2010-02-15 16:10
Stefan, what ncurses problem are you referring to?

I quite object to working around OpenBSD limitations, and would rather hope that OpenBSD fixes their POSIX support at some point.
msg99373 - (view) Author: Stefan Krah (skrah) * (Python committer) Date: 2010-02-15 21:11
On OpenBSD the ncurses.h header has been broken for quite some time,
see e.g. http://bugs.python.org/issue1244610. The problem is that
when _XOPEN_SOURCE_EXTENDED is defined, wchar_t is defined twice.
I can confirm that it is still broken on 4.6, but it appears that
it has been fixed in current.

So I propose to use the old method up to 4.6, and use the new method
from 4.7 on. I attach a patch that has been tested on an OpenBSD
snapshot (which will become version 4.7).
msg99374 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2010-02-15 21:47
Thanks for the tests, and the patch. Committed as r78202, r78203, r78204, and r78205.
History
Date User Action Args
2022-04-11 14:56:57adminsetgithub: 52151
2010-04-12 09:53:11skrahlinkissue4639 superseder
2010-02-15 21:47:17loewissetstatus: open -> closed
resolution: fixed
messages: + msg99374
2010-02-15 21:11:35skrahsetfiles: + openbsd_configure.patch

messages: + msg99373
2010-02-15 16:10:26loewissetmessages: + msg99365
2010-02-15 15:15:00skrahsetfiles: + use-xopen-source-no.patch
keywords: + patch
messages: + msg99364
2010-02-15 08:43:06loewissetnosy: + loewis
messages: + msg99355
2010-02-11 14:53:45johnssetmessages: + msg99211
2010-02-11 05:36:46skip.montanarosetmessages: + msg99199
2010-02-11 02:37:50johnssetmessages: + msg99192
2010-02-11 01:43:55skip.montanarosetnosy: + skip.montanaro
messages: + msg99188
2010-02-10 23:25:46skrahsetnosy: + skrah
messages: + msg99182
2010-02-10 21:04:55johnscreate