Skip to content

python-3.3.2-r2: Modules/xxlimited.c:17:error: #error Py_LIMITED_API is incompatible with Py_DEBUG, Py_TRACE_REFS, and Py_REF_DEBUG #63083

Description

@mmokrejs
mannequin
BPO 18883
Nosy @bitdancer, @skrah
Files
  • build.log
  • 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 = <Date 2013-08-30.13:57:35.332>
    created_at = <Date 2013-08-30.13:27:32.337>
    labels = ['build']
    title = 'python-3.3.2-r2: Modules/xxlimited.c:17:error: #error Py_LIMITED_API is incompatible with Py_DEBUG, Py_TRACE_REFS, and Py_REF_DEBUG'
    updated_at = <Date 2013-08-30.15:07:01.138>
    user = 'https://bugs.python.org/mmokrejs'

    bugs.python.org fields:

    activity = <Date 2013-08-30.15:07:01.138>
    actor = 'r.david.murray'
    assignee = 'none'
    closed = True
    closed_date = <Date 2013-08-30.13:57:35.332>
    closer = 'skrah'
    components = []
    creation = <Date 2013-08-30.13:27:32.337>
    creator = 'mmokrejs'
    dependencies = []
    files = ['31520']
    hgrepos = []
    issue_num = 18883
    keywords = []
    message_count = 11.0
    messages = ['196534', '196541', '196542', '196543', '196544', '196547', '196549', '196550', '196552', '196553', '196556']
    nosy_count = 3.0
    nosy_names = ['mmokrejs', 'r.david.murray', 'skrah']
    pr_nums = []
    priority = 'normal'
    resolution = 'works for me'
    stage = None
    status = 'closed'
    superseder = None
    type = 'compile error'
    url = 'https://bugs.python.org/issue18883'
    versions = ['Python 3.3']

    Activity

    1. mmokrejs commented on Aug 30, 2013

      mmokrejsmannequin
      MannequinAuthor

      Looks I cannot compile when python-3.3 was configured with --with-pydebug. I use Gentoo Linux, the -r2 shows they added some patches but should not matter I think.

      building 'xxlimited' extension
      x86_64-pc-linux-gnu-gcc -pthread -fPIC -Wno-unused-result -DDYNAMIC_ANNOTATIONS_ENABLED=1 -O2 -pipe -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -msse4 -mavx -maes -mpclmul -mpopcnt -march=corei7-avx -fstack-protector-all -fwrapv -DPy_LIMITED_API=1 -IInclude -I. -I/mnt/1TB/var/tmp/portage/dev-lang/python-3.3.2-r2/work/Python-3.3.2/Include -I/mnt/1TB/var/tmp/portage/dev-lang/python-3.3.2-r2/work/x86_64-pc-linux-gnu -c /mnt/1TB/var/tmp/portage/dev-lang/python-3.3.2-r2/work/Python-3.3.2/Modules/xxlimited.c -o build/temp.linux-x86_64-3.3-pydebug/mnt/1TB/var/tmp/portage/dev-lang/python-3.3.2-r2/work/Python-3.3.2/Modules/xxlimited.o
      In file included from /mnt/1TB/var/tmp/portage/dev-lang/python-3.3.2-r2/work/Python-3.3.2/Include/Python.h:68:0,
      from /mnt/1TB/var/tmp/portage/dev-lang/python-3.3.2-r2/work/Python-3.3.2/Modules/xxlimited.c:17:
      /mnt/1TB/var/tmp/portage/dev-lang/python-3.3.2-r2/work/Python-3.3.2/Include/object.h:65:2: error: #error Py_LIMITED_API is incompatible with Py_DEBUG, Py_TRACE_REFS, and Py_REF_DEBUG

      I think make should ignore this error unless you fix xxlimited.c sources.

    2. skrah commented on Aug 30, 2013

      skrahmannequin
      Mannequin

      A similar issue was closed, see msg157249. The error looks deliberate
      to me, so let's close this, too.

    3. mmokrejs commented on Aug 30, 2013

      mmokrejsmannequin
      MannequinAuthor

      Uh. I don't understand. So did you want to say I should not run configure --with-pydebug in python 3.3 or what? I am fine if you fix the Makefile not to exit on this particular file. I am missing something.

    4. bitdancer commented on Aug 30, 2013

      @bitdancer
      Member

      I'm curious how this error gets triggered. I build python --with-pydebug on Gentoo all the time, albeit from a checkout, and I've never seen it. I'm imagining that means it is a Gentoo bug. Well, not even really a bug, since Gentoo doesn't itself support emerging python in debug mode.

    5. mmokrejs commented on Aug 30, 2013

      mmokrejsmannequin
      MannequinAuthor

      See for what I did to Gentoo: http://bugs.python.org/issue18843#msg196520

    6. skrah commented on Aug 30, 2013

      skrahmannequin
      Mannequin

      Martin, msg196534 shows that you are building with -DPy_LIMITED_API=1.
      You can either use the limited API or --with-pydebug, but not both.

      [As I said in the other issue, IMHO it is better to use a minimal set
      of build options when reporting bugs.]

    7. mmokrejs commented on Aug 30, 2013

      mmokrejsmannequin
      MannequinAuthor

      Hmm, but I did not add -DPy_LIMITED_API=1. Python 2.7.5 can be compiled using same configuration. Going back to the build.log file I see:

      configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --libdir=/usr/lib64 --with-fpectl --enable-shared --disable-ipv6 --with-threads --infodir=${prefix}/share/info --mandir=${prefix}/share/man --with-computed-gotos --with-dbmliborder=gdbm --with-libc= --enable-loadable-sqlite-extensions --with-system-expat --with-system-ffi --with-pydebug --without-pymalloc --with-valgrind

      I specified only "--with-pydebug --without-pymalloc --with-valgrind". So where does the limited API come from? Bug in configure.ac?

    8. skrah commented on Aug 30, 2013

      skrahmannequin
      Mannequin

      Well, these look like Gentoo build flags. Did you or "emerge" or
      anything else export CFLAGS in the shell?

    9. skrah commented on Aug 30, 2013

      skrahmannequin
      Mannequin

      I think I understand now: If you used the strategy from msg196520,
      of course you get the Gentoo flags.

      What you really should do is download a release or get a checkout
      from hg.python.org and build that _without_ using "emerge".

    10. mmokrejs commented on Aug 30, 2013

      mmokrejsmannequin
      MannequinAuthor

      So I conclude that you want to say that some of the configure flags is wrong? Which? I can surely report that at Gentoo. I still think Makefile should be changed so that it make does not even try to compile xxlimited.c if -DPy_LIMITED_API=1 is in CFLAGS regardless how that happened.

      http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-lang/python/

      Look into the python-3.3.2-r2.ebuild file for what it does, and how does differ from 3.7.5-r2.ebuild which can be compiled fine through emerge abd thsoe 3 configure arguments I requested.

    11. bitdancer commented on Aug 30, 2013

      @bitdancer
      Member

      Python2 doesn't support the limited ABI, so that flag is a noop for 2.7.

    12. transferred this issue fromon Apr 10, 2022
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

    Metadata

    Metadata

    Assignees

    No one assigned

      Labels

      buildThe build process and cross-build

      Projects

      No projects

        Milestone

        No milestone

        Relationships

        None yet

        Development

        No branches or pull requests

        Issue actions