#48947 [Opn->Csd]: vcsclean should remove .lo and .la files
| From: | jani@php.net | Date: | Fri, 17 Jul 2009 12:14:52 +0000 |
| Subject: | #48947 [Opn->Csd]: vcsclean should remove .lo and .la files | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-139869@lists.php.net to get a copy of this message | ||
ID: 48947
Updated by: jani@php.net
Reported By: sixd@php.net
-Status: Open
+Status: Closed
Bug Type: Compile Failure
Operating System: Ubuntu 8.10 (32bit)
PHP Version: 5.3CVS-2009-07-16 (CVS)
New Comment:
Fixed in all branches. And if you really want to do clean builds, build
outside source tree.
Previous Comments:
------------------------------------------------------------------------
[2009-07-16 16:50:57] sixd@php.net
Description:
------------
The files removed by vcsclean are only a subset of the files removed by
'make clean'. File extensions .lo .la .gcno .gcda are not removed by
vcsclean.
Using the sequence 'cd php53; svn up; ./vcsclean; ./configure ...;
make' fails to find some .o files.
Some .o's get built but link fails with a bunch of errors of the form:
gcc: ext/<ext>/.libs/<file>.o: No such file or directory
The vcsclean command removes the ext/*/.libs directories but doesn't
remove ext/*.lo files. This causes C files to be skipped for
recompilation and no .libs/*.o files are created.
A patch is to add .lo to the extension list in build/build.mk.
Index: build.mk
===================================================================
--- build.mk (revision 284190)
+++ build.mk (working copy)
@@ -67,12 +67,12 @@
cvsclean-work:
@for i in
find . -name .cvsignore; do \
- (cd dirname $$i 2>/dev/null && rm -rf `cat .cvsignore | grep -v
config.nice | sed 's/[[:space:]]/ /g'` *.o *.a .libs || true); \
+ (cd dirname $$i 2>/dev/null && rm -rf `cat .cvsignore | grep -v
config.nice | sed 's/[[:space:]]/ /g'` *.lo *.o *.a .libs || true); \
done
svnclean-work:
@for i in find . -type d -not -path '*/.svn/*' | grep -v '.svn';
do
\
- (cd dirname $$i 2>/dev/null && rm -rf `svn propget svn:ignore . |
grep -v config.nice` *.o *.a .libs || true); \
+ (cd dirname $$i 2>/dev/null && rm -rf `svn propget svn:ignore . |
grep -v config.nice` *.o *.lo *.a .libs || true); \
done
gitclean-work:
Also, adding '.la .gcno .gcda' in addition to '.lo' would make
vcsclean consistent with 'make clean'.
A secondary bug is that .o files are not recreated from existing .lo
files.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=48947&edit=1