Python-2.2.1, Solaris7, make test fails...

Hugh Sasse Staff Elec Eng hgs at dmu.ac.uk
Thu Apr 18 13:00:45 EDT 2002


On 18 Apr 2002, Martin v. [iso-8859-1] Löwis wrote:

> Hugh Sasse Staff Elec Eng <hgs at dmu.ac.uk> writes:
>
> >         [*shared*, *static* intereaved]
> >
> > But to change the wording one needs to know which of the above
> > properties are reversed, and how commenting out modules affects them in
> > each case.
>
> I'm not sure what your question is. The build process of Python works
> that way:
        [Clear explanation trimmed]
>
OK, how about this for a suggested patch:
<patch>

--- Python-2.2.1/Modules/Setup.dist.orig	Wed Oct 17 14:46:28 2001
+++ Python-2.2.1/Modules/Setup.dist	Thu Apr 18 17:51:35 2002
@@ -36,9 +36,20 @@
 #
 # Finally, if a line contains just the word "*shared*" (without the
 # quotes but with the stars), then the following modules will not be
+# built statically.  The build process works like this:
+#
+# 1. Build all modules that are declared as static in Modules/Setup,
+#    combine them into libpythonxy.a, combine that into python.
+# 2. Build all modules that are listed as shared in Modules/Setup.
+# 3. Invoke setup.py. That builds all modules that
+#    a) are not builtin, and
+#    b) are not listed in Modules/Setup
+#    c) can be build on the target
+#
+# Therefore, modules declared to be shared will not be
 # included in the config.c file, nor in the list of objects to be
 # added to the library archive, and their linker options won't be
-# added to the linker options, but rules to create their .o files and
+# added to the linker options. Rules to create their .o files and
 # their shared libraries will still be added to the Makefile, and
 # their names will be collected in the Make variable SHAREDMODS.  This
 # is used to build modules as shared libraries.  (They can be
@@ -46,8 +57,9 @@
 # toplevel "make install" target.)  (For compatibility,
 # *noconfig* has the same effect as *shared*.)
 #
-# In addition, *static* reverses this effect (negating a previous
-# *shared* line).
+# In addition, *static* explicitly declares the following modules to
+# be static.  Lines containing "*static*" and "*shared*" may thus
+# alternate thoughout this file.

 # NOTE: As a standard policy, as many modules as can be supported by a
 # platform should be present.  The distribution comes with all modules
</patch>

This provides context for the linking process, breaks up the long
sentence, and describes the interleaving of *static* and *shared*.
>
> > So the fastest fix is for me to doengrade binutils?
>
> No. The fastest fix is to apply the patch below, and rerun configure.

Excellent. I will give that a spin.  Thank you.
>
> Regards,
> Martin
>
        [configure patch trimmed]

        Hugh






More information about the Python-list mailing list