Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

configure doesn't find "major()" on HP-UX v11.31 #55311

Closed
OrenHeld mannequin opened this issue Feb 2, 2011 · 6 comments
Closed

configure doesn't find "major()" on HP-UX v11.31 #55311

OrenHeld mannequin opened this issue Feb 2, 2011 · 6 comments
Labels
3.9 only security fixes build The build process and cross-build

Comments

@OrenHeld
Copy link
Mannequin

OrenHeld mannequin commented Feb 2, 2011

BPO 11102
Nosy @loewis, @ZackerySpytz, @michael-o
PRs
  • bpo-11102: Make configure enable major(), makedev(), and minor() on HP-UX #19856
  • Files
  • config.log
  • python-configure-hpux-major-fix.patch: Fixes the problem on HPUX. I'm really not sure if it's good for other platforms!
  • Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

    Show more details

    GitHub fields:

    assignee = None
    closed_at = None
    created_at = <Date 2011-02-02.20:05:29.971>
    labels = ['build', '3.9']
    title = 'configure doesn\'t find "major()" on HP-UX v11.31'
    updated_at = <Date 2020-06-18.09:13:10.934>
    user = 'https://bugs.python.org/OrenHeld'

    bugs.python.org fields:

    activity = <Date 2020-06-18.09:13:10.934>
    actor = 'michael-o'
    assignee = 'none'
    closed = False
    closed_date = None
    closer = None
    components = ['Build']
    creation = <Date 2011-02-02.20:05:29.971>
    creator = 'Oren_Held'
    dependencies = []
    files = ['20652', '20653']
    hgrepos = []
    issue_num = 11102
    keywords = ['patch']
    message_count = 6.0
    messages = ['127757', '127758', '127760', '127935', '138314', '138385']
    nosy_count = 4.0
    nosy_names = ['loewis', 'Oren_Held', 'ZackerySpytz', 'michael-o']
    pr_nums = ['19856']
    priority = 'normal'
    resolution = None
    stage = 'patch review'
    status = 'open'
    superseder = None
    type = 'compile error'
    url = 'https://bugs.python.org/issue11102'
    versions = ['Python 3.9']

    @OrenHeld
    Copy link
    Mannequin Author

    OrenHeld mannequin commented Feb 2, 2011

    The effect eventually is that on HP-UX v3 there are no os.major() and os.minor() functions.

    I tried to dig deeper to find out what's wrong, and it seems that 'configure' script fails on 'major' check and thus disables the 'major' feature:

    'configure' finds well that /usr/include/sys/sysmacros.h has makedev(), major(), minor() definitions (MAJOR_IN_SYSMACROS==1).

    The problem is that including sys/sysmacros.h is not enough, it depends (but doesn't #include) sys/types.h for the definition of dev_t (needed by makedev() macro).

    See attached config.log for configure's behavior.

    @OrenHeld OrenHeld mannequin added the build The build process and cross-build label Feb 2, 2011
    @OrenHeld
    Copy link
    Mannequin Author

    OrenHeld mannequin commented Feb 2, 2011

    Attaching a patch I've made for fixing the problem in HP-UX, simply by #including sys/types.h on the configure test..

    1. I'm not sure it'll be good for all platforms; maybe we need more 'configure' magic here to make it #include <sys/types.h> on this configure test only when needed (e.g. HP-UX v3).

    2. Once 'configure' decides to enable the "os.major" feature, 'make' simply compiles it well - I didn't have to fix things in Modules/posixmodule.c (apparently sys/types.h is already loaded). I'm not sure it's smart to count on it.

    @loewis
    Copy link
    Mannequin

    loewis mannequin commented Feb 2, 2011

    AFAICT, including sys/types.h by default in the test should be fine. It's a standard header file (atleast for Posixish systems), so it should always be present, and including it shouldn't cause harm even if it's not needed.

    @OrenHeld
    Copy link
    Mannequin Author

    OrenHeld mannequin commented Feb 4, 2011

    Just a small note: after this patch applied, building Python 2.7.1 was successful on Linux (SLES 11, RHEL 5, Ubuntu 10.10), Solaris 10, and HP-UX 11 v3. (I didn't get to build Python on other platforms)

    @OrenHeld
    Copy link
    Mannequin Author

    OrenHeld mannequin commented Jun 14, 2011

    Any tip on how to make this patch get committed? :)

    @bitdancer
    Copy link
    Member

    Well, one way might be to set up and maintain an HP/UX buildbot :)

    Other than that, just keep bugging us periodically until someone gets around to doing it.

    @bitdancer bitdancer added the build The build process and cross-build label Jun 15, 2011
    @ZackerySpytz ZackerySpytz mannequin added the 3.9 only security fixes label May 2, 2020
    @ezio-melotti ezio-melotti transferred this issue from another repository Apr 10, 2022
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    3.9 only security fixes build The build process and cross-build
    Projects
    None yet
    Development

    No branches or pull requests

    2 participants