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.

Author lemburg
Recipients brett.cannon, christian.heimes, lemburg, miss-islington, ned.deily, zach.ware
Date 2021-10-23.17:53:33
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1635011614.05.0.49826449844.issue45548@roundup.psfhosted.org>
In-reply-to
Content
FYI: I've been working with a fixed Setup file in PyRun for a long while. There are indeed a number of modules missing from Setup, since the whole logic was left behind a bit after things moved to setup.py.

The issue with _math.o is actually in the main Makefile.pre.in. The version listed there does not match the Makefile lines added via Setup. For PyRun, I had to comment out the one in Makefile.pre.in and then only add one instance to the math module and not the cmath one. This avoids a (harmless) warning during the build.

I'm not sure what the _math.o entry exists in Makefile.pre.in. It's only needed by those two modules, AFAIK.

Here's the list of modules I had to add in the past (taken from the 3.10 port):

"""
### Built-in extensions for which there are no entries in Setup.dist/Setup:

# _decimal needs more complex setup, punting on this for now
#DECIMAL_DEFS=-DCONFIG_64=1 -DASM=1
#_decimal \
#       _decimal/_decimal.c \
#       _decimal/libmpdec/basearith.c \
#       _decimal/libmpdec/constants.c \
#       _decimal/libmpdec/context.c \
#       _decimal/libmpdec/convolute.c \
#       _decimal/libmpdec/crt.c \
#       _decimal/libmpdec/difradix2.c \
#       _decimal/libmpdec/fnt.c \
#       _decimal/libmpdec/fourstep.c \
#       _decimal/libmpdec/io.c \
#       _decimal/libmpdec/memory.c \
#       _decimal/libmpdec/mpdecimal.c \
#       _decimal/libmpdec/numbertheory.c \
#       _decimal/libmpdec/sixstep.c \
#       _decimal/libmpdec/transpose.c \
#       $(DECIMAL_DEFS) \
#       -I$(srcdir)/Modules/_decimal \
#       -I$(srcdir)/Modules/_decimal/libmpdec \
#       -I$(prefix)/include -L$(exec_prefix)/lib

# _opcode
_opcode _opcode.c

# _ctypes needs to build libffi first - punting on this

# _lsprof
_lsprof _lsprof.c rotatingtree.c

# _sqlite3
SQLITE_DEFS=-DMODULE_NAME='"sqlite3"' -DSQLITE_OMIT_LOAD_EXTENSION
# @if freebsd: SQLITE_LIBS=-I/usr/local/include -L/usr/local/lib
# @if not freebsd: SQLITE_LIBS=
_sqlite3 \
        _sqlite/module.c \
        _sqlite/cache.c \
        _sqlite/connection.c \
        _sqlite/cursor.c \
        _sqlite/microprotocols.c \
        _sqlite/prepare_protocol.c \
        _sqlite/row.c \
        _sqlite/statement.c \
        _sqlite/util.c \
        $(SQLITE_DEFS) -I$(srcdir)/Modules/_sqlite \
        $(SQLITE_LIBS) \
        -I$(prefix)/include -L$(exec_prefix)/lib \
        -lsqlite3

# bz2
_bz2 _bz2module.c -lbz2

# lzma
#
# Note: Adding this can cause serious issues, since the needed lib isn't
# universally installed everywhere. See #1793 and #1794.
#
#_lzma _lzmamodule.c -llzma

# multiprocessing
_multiprocessing \
        _multiprocessing/semaphore.c \
        _multiprocessing/multiprocessing.c \
        -I$(srcdir)/Modules/_multiprocessing

# Optional add-on for multiprocessing to use shared memory
#POSIXSHMEM_LIBS=rt
POSIXSHMEM_LIBS=
_posixshmem \
        _multiprocessing/posixshmem.c \
        -I$(srcdir)/Modules/_multiprocessing \
        $(POSIXSHMEM_LIBS)

# queue
_queue _queuemodule.c
"""

Not all modules are included, since I did not need all missing ones.
History
Date User Action Args
2021-10-23 17:53:34lemburgsetrecipients: + lemburg, brett.cannon, christian.heimes, ned.deily, zach.ware, miss-islington
2021-10-23 17:53:34lemburgsetmessageid: <1635011614.05.0.49826449844.issue45548@roundup.psfhosted.org>
2021-10-23 17:53:34lemburglinkissue45548 messages
2021-10-23 17:53:33lemburgcreate