[Bug bootstrap/14893] [3.4 Regression] 3.4.0-20040406, 'make install' fails on doc/gcjh.1

mec dot gnu at mindspring dot com gcc-bugzilla@gcc.gnu.org
Fri Apr 9 18:18:00 GMT 2004


------- Additional Comments From mec dot gnu at mindspring dot com  2004-04-09 18:17 -------
Subject: Re:  [3.4 Regression] 3.4.0-20040406, 'make install' fails on doc/gcjh.1

This patch looks wrong to me.

I did a bit of digging and will do some more.  The problem is with
java documentation files such as gcjh.1.

In the CVS version, these files are built in the build tree and
then 'make install' installs them from the build tree to the
install tree.  That's why 'make install' works fine for the CVS tree.

  # build.log, gcc gcc-3_4-branch from CVS
  perl /berman/fsf/_today_/source/gcc/gcc-3_4-branch/gcc/gcc/../contrib/texi2pod.pl -D gcjh < /berman/fsf/_today_/source/gcc/gcc-3_4-branch/gcc/gcc/java/gcj.texi > gcjh.pod
  echo timestamp > doc/gcjh.1
  (pod2man --center="GNU" --release="gcc-3.4.0" --section=1 gcjh.pod > doc/gcjh.1.T$$ && \
	mv -f doc/gcjh.1.T$$ doc/gcjh.1) || \
	(rm -f doc/gcjh.1.T$$ && exit 1)

  # install.log, gcc gcc-3_4-branch from CVS
  for tool in gcjh jv-scan jcf-dump \
	  gij jv-convert rmic rmiregistry ; do \
    tool_transformed_name=`echo $tool|sed 's,y,y,'`; \
    man_name=/berman/fsf/_today_/berman/install/target/native/gcc/gcc-3_4-branch-as-2.14-ld-2.14/man/man1/${tool_transformed_name}.1; \
    rm -f $man_name ; \
    /usr/bin/install -c -m 644 doc/${tool}.1 $man_name; \
    chmod a-x $man_name ; \
  done

In the tarball version, gcjh.1 is already present in the source tree,
and is not copied into the build tree.

  # build.log, gcc 3.4.0-20040406
  ... pattern not found: gcjh.1

  # install.log, gcc 3.4.0-20040406
  for tool in gcjh jv-scan jcf-dump \
	  gij jv-convert rmic rmiregistry ; do \
    tool_transformed_name=`echo $tool|sed 's,y,y,'`; \
    man_name=/berman/migchain/install/target/native/gcc-3.4.0-20040406-as-2.14-ld-2.14/man/man1/${tool_transformed_name}.1; \
    rm -f $man_name ; \
    /usr/bin/install -c -m 644 doc/${tool}.1 $man_name; \
    chmod a-x $man_name ; \
  done
  /usr/bin/install: cannot stat `doc/gcjh.1': No such file or directory
  chmod: failed to get attributes of `/berman/migchain/install/target/native/gcc-3.4.0-20040406-as-2.14-ld-2.14/man/man1/gcjh.1': No such file or directory

Paul's patch changes the /usr/bin/install line from the current
directory to the source directory:

-	  $(INSTALL_DATA) doc/$${tool}.1 $$man_name; \
+	  $(INSTALL_DATA) $(srcdir)/doc/$${tool}.1 $$man_name; \

I believe this will work for the tarball version such as gcc
3.4.0-20040406, but will fail for the CVS version such as gcc
gcc-3_4-branch.  In the CVS version, these files are not present in
$(srcdir) and are not built there.  So I think that this patch would
work for the tarball, but would break installation for cvs checkouts.

I haven't actually tested this on my system.  I can do that if you
think it will useful.

My next step is to figure out how other files like g++.1, g77.1, and
gcj.1 are getting succesfully processed and then see if copying
that code is feasible for gcc/java/Make-lang.in.

Michael C


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14893



More information about the Gcc-bugs mailing list