Marc-Andre Lemburg <[email protected]> added the comment:
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.
----------
nosy: +lemburg
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue45548>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com