Mysterious failure in gcj build

Andrew Haley aph@redhat.com
Sat Nov 26 17:40:00 GMT 2005


Rebuilding libgcj after making a change no longer works -- you get
very strange messages about `cp' having failed: permission denied.
But the `cp' command doesn't appear to be executed.

After doing some searching, I discovered the reason the `cp' command
didn't appear to be executed was that the Makefile uses the `@' symbol
to hide the command.

The reason `cp' fails turns out to be because `make resources' is
trying to copy a bunch of .svn directories from the source into the
target directory, and once copied, the files in that directory remain
write protected.  So you can't copy them again.

I suppose we shouldn't be copying the .svn directories anywhere, but
at least `cp -f' isn't going to fail.

Thusly fixed.

Andrew.




2005-11-26  Andrew Haley  <aph@redhat.com>

	* classpath/lib/Makefile.am (resources): Use `cp -p'.
	Remove `@' from start of line.

Index: Makefile.am
===================================================================
--- Makefile.am	(revision 107510)
+++ Makefile.am	(working copy)
@@ -78,18 +78,18 @@
 	if ! [ -e gnu/java ]; then mkdir gnu/java; fi
 	if ! [ -e gnu/java/locale ]; then mkdir gnu/java/locale; fi
 	if ! [ -e gnu/javax/swing/plaf/gtk/icons ]; then mkdir -p gnu/javax/swing/plaf/gtk/icons; fi
-	@list='$(propertydirs)'; for p in $$list; do \
+	list='$(propertydirs)'; for p in $$list; do \
 	  if ! [ -e $$p ]; then mkdir $$p; fi; \
 	done
-	@list='$(propertyfiles)'; for p in $$list; do \
-	  cp $(top_srcdir)/resource/$$p $$p; \
+	list='$(propertyfiles)'; for p in $$list; do \
+	  cp -f $(top_srcdir)/resource/$$p $$p; \
 	done
-	@list='$(metafiles)'; for p in $$list; do \
-	  cp $(top_srcdir)/resource/$$p $$p; \
+	list='$(metafiles)'; for p in $$list; do \
+	  cp -f $(top_srcdir)/resource/$$p $$p; \
 	done
-	@$(SHELL) ./copy-vmresources.sh
-	@list='$(iconfiles)'; for p in $$list; do \
-	  cp $(top_srcdir)/$$p $$p; \
+	$(SHELL) ./copy-vmresources.sh
+	list='$(iconfiles)'; for p in $$list; do \
+	  cp -f $(top_srcdir)/$$p $$p; \
 	done
 	touch resources
 



More information about the Java-patches mailing list