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 ronaldoussoren
Recipients Arfrever, asvetlov, benjamin.peterson, hynek, ned.deily, ronaldoussoren, stefanholek, terry.reedy
Date 2012-08-20.07:07:11
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1345446438.06.0.909442987423.issue15645@psf.upfronthosting.co.za>
In-reply-to
Content
I'm pretty sure this is a generic Makefile bug.  I could reproduce this problem with a clean install into a new prefix, after cleaning up the source tree: 'make clean' won't remove the generated file when srcdir != builddir.

This line in the Makefile seems to generate the pickle file:

        -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
                $(PYTHON_FOR_BUILD) -Wi -c "import lib2to3.pygram,lib2to3.patcomp;lib2to3.patcomp.PatternCompiler()"

This uses $(PYTHON_FOR_BUILD) to generate the cache file, and that which means the cache file is generated in the *source* tree, not in the installation tree.  This command is at the end of the libinstall target, which means the generatd file is not copied into the installation prefix.

Running 'make install' twice will therefore install the file.

The attached patch seems to fix the issue by moving the command to the start of the libinstall target. The patch also fixes "make clean", by explicitly targetting the pickle files in $(srcdir)/Lib/lib2to3.


BTW. What "known OSX problems"?

BTW2. This should affect all platforms that use Makefiles (basicly anything but Windows)
History
Date User Action Args
2012-08-20 07:07:18ronaldoussorensetrecipients: + ronaldoussoren, terry.reedy, benjamin.peterson, ned.deily, Arfrever, asvetlov, stefanholek, hynek
2012-08-20 07:07:18ronaldoussorensetmessageid: <1345446438.06.0.909442987423.issue15645@psf.upfronthosting.co.za>
2012-08-20 07:07:12ronaldoussorenlinkissue15645 messages
2012-08-20 07:07:11ronaldoussorencreate