Opened 7 years ago

Closed 7 years ago

#1721 closed defect (invalid)

Man pages not created for addons

Reported by: micha Owned by: grass-dev@…
Priority: normal Milestone: 6.4.3
Component: Addons Version: 6.4.2
Keywords: install, g.html2man Cc:
CPU: Unspecified Platform: Unspecified

Description

When compiling some extensions, the man pages were not created, even though the extension binary was compiled successfully. It seems the problem is in the Makefile: $GISBASE/include/Make/Man.make. The full path to the g.html2man program is not defined correctly.

This patch fixes the issue:

diff -u Man.make.orig Man.make
--- Man.make.orig	2012-09-04 09:17:04.754169001 +0300
+++ Man.make	2012-09-04 09:17:22.748137256 +0300
@@ -2,7 +2,7 @@
 SECT = 1
 MANDIR  = $(ARCH_DISTDIR)/man/man$(SECT)
 HTMLDIR = $(ARCH_DISTDIR)/docs/html
-HTML2MAN = GRASS_PERL=${PERL} VERSION_NUMBER=${GRASS_VERSION_NUMBER} sh $(MODULE_TOPDIR)/tools/g.html2man
+HTML2MAN = GRASS_PERL=${PERL} VERSION_NUMBER=${GRASS_VERSION_NUMBER} sh $(MODULE_TOPDIR)/tools/g.html2man/g.html2man
 
 # generic man rules for all commands

Change History (7)

comment:1 Changed 7 years ago by hamish

Keywords: install g.html2man added

Hi,

I'm pretty sure this is invalid -- you need to run make distclean and/or remove your previous version of GRASS before installing the new one over the top of it.

the script used to be installed into tools/g.html2man/g.html2man, but is now just installed as tools/g.html2man. If the old directory still exists the install fails. I thought we'd added a check for that and removed the directory if present, but maybe not.

Hamish

comment:3 Changed 7 years ago by hamish

How did you install GRASS? how are you running g.extension? (from the gui or command line?) Was your GRASS install built from source or packaged?

when built and run from the grass source dir (ie uninstalled), MODULE_TOPDIR should be the top dir in the source tree, and the g.html2man script is in tools/g.html2man/, and it looks for it there.

when installed with 'make install', the Man.make file is modified to point to $GISBASE/tools/ instead, since there is no source tree remaining. The Debian/ubuntu packages don't fully use 'make install', so handle that themselves in the package-building script. If other install methods are not using 'make install', they'll have to be adjusted to replicate what 'make install' does.

It should all work out of the box for the last 10 months. Please clean out earlier installs and source trees and try afresh.

Looking at the code and installed results on a few machines here, everything looks in order to me. The patch you suggest is already taken care of on lines 145-146 of the 6.4.svn Makefile.

Hamish

comment:4 Changed 7 years ago by hamish

The patch you suggest is already taken care of on lines 145-146 of the 6.4.svn Makefile.

or rather, you're unapplying that patch, since (I suspect) you installed over an old copy which had a directory where it wants to put the script now. You need to clean away the old version before installing the new one.

Hamish

comment:5 Changed 7 years ago by micha

Resolution: fixed
Status: newclosed

I see what my problem was. I (mis)read the instructions from http://grass.osgeo.org/wiki/Compile_and_Install#Addons . I understood that MODULE_TOPDIR should refer to the top of the grass installation. Now, from you comments, I see it needs to be the directory where source is located. When I changed the procedure to:

make MODULE_TOPDIR=~/Downloads/grass-6.4.2/
sudo make  MODULE_TOPDIR=~/Downloads/grass-6.4.2/ install

it worked fine.

Maybe the compile and install wiki page should explicitly mention "/path/to/unpacked/grass/source"?

Sorry for the noise, and thanks for the help.

comment:6 Changed 7 years ago by martinl

Resolution: fixed
Status: closedreopened

comment:7 Changed 7 years ago by martinl

Resolution: invalid
Status: reopenedclosed
Note: See TracTickets for help on using tickets.