Author David.Edelsohn
Recipients David.Edelsohn
Date 2015-12-08.19:29:33
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1449602974.51.0.754649695687.issue25825@psf.upfronthosting.co.za>
In-reply-to
Content
AIX requires helper scripts to build Python shared extension modules.  The definitions and Makefile installation rules have bitrotted.

Makefile.pre.in:

      @if [ -s Programs/python.exp -a \

except python.exp is created in Modules/python.exp, not Programs.exp

               $(INSTALL_DATA) Programs/python.exp             \
                               $(DESTDIR)$(LIBPL)/python.exp;

Post-substitution Makefile.pre:

BINLIBDEST=     $(LIBDIR)/python$(VERSION)
LIBDEST=        $(SCRIPTDIR)/python$(VERSION)
LIBPL=          $(LIBDEST)/config-$(LDVERSION)

configure.ac:

        AIX*)
                BLDSHARED="\$(srcdir)/Modules/ld_so_aix \$(CC) -bI:\$(srcdir)/Modules/python.exp"
                LDSHARED="\$(BINLIBDEST)/config/ld_so_aix \$(CC) -bI:\$(BINLIBDEST)/config/python.exp"

which is forever enshrined in _sysconfigdata.py

In other words, configure sets LDSHARED to $(BINLIBDEST)/config, which does not exist in current installations.  And Makefile installs the files in LIBPL, which is based on LIBDEST (prefix and exec_prefix could be different).

And the files are not installed, because the installation tests Programs/python.exp instead of Modules/python.exp.

Changing Makefile.pre.in to test Modules/python.exp is easy enough as a partial fix.

What is the preferred location to install the files so that configure.ac and Makefile.pre.in can be adjusted to match each other?
History
Date User Action Args
2015-12-08 19:29:34David.Edelsohnsetrecipients: + David.Edelsohn
2015-12-08 19:29:34David.Edelsohnsetmessageid: <1449602974.51.0.754649695687.issue25825@psf.upfronthosting.co.za>
2015-12-08 19:29:34David.Edelsohnlinkissue25825 messages
2015-12-08 19:29:33David.Edelsohncreate