Opened 7 years ago

Closed 7 years ago

#1887 closed enhancement (fixed)

improve signal to noise ratio in the build logs

Reported by: hamish Owned by: grass-dev@…
Priority: normal Milestone: 6.4.3
Component: Compiling Version: svn-trunk
Keywords: make Cc:
CPU: x86-64 Platform: Linux

Description

Hi,

currently the build logs are highly cluttered with warning messages such as:

Make/Grass.make:423: warning: overriding commands for target ...
Make/Grass.make:414: warning: ignoring old commands for target ...
Make/Script.make:47: warning: overriding commands for target `install'
Make/Rules.make:99: warning: ignoring old commands for target `install'

e.g. using the 6.4.3svn wxGUI g.extension.py to install an addon shell script creates this output in the GUI output window:

Fetching <r3.in.xyz> from GRASS-Addons SVN (be patient)...
Compiling...
/home/hamish/dev/grass/svn/grass64svn/dist.i486-pc-linux-
gnu/include/Make/Grass.make:423: warning: overriding
commands for target `/home/hamish/grassdata/ll_wgs84/hb/.tmp
/debSqx86-vm/29440.0/r3.in.xyz/bin'
/home/hamish/dev/grass/svn/grass64svn/dist.i486-pc-linux-
gnu/include/Make/Grass.make:414: warning: ignoring old
commands for target `/home/hamish/grassdata/ll_wgs84/hb/.tmp
/debSqx86-vm/29440.0/r3.in.xyz/bin'
/home/hamish/dev/grass/svn/grass64svn/dist.i486-pc-linux-
gnu/include/Make/Script.make:47: warning: overriding
commands for target `install'
/home/hamish/dev/grass/svn/grass64svn/dist.i486-pc-linux-
gnu/include/Make/Rules.make:99: warning: ignoring old
commands for target `install'
/home/hamish/dev/grass/svn/grass64svn/dist.i486-pc-linux-
gnu/include/Make/Grass.make:423: warning: overriding
commands for target `/home/hamish/grassdata/ll_wgs84/hb/.tmp
/debSqx86-vm/29440.0/r3.in.xyz/bin'
/home/hamish/dev/grass/svn/grass64svn/dist.i486-pc-linux-
gnu/include/Make/Grass.make:414: warning: ignoring old
commands for target `/home/hamish/grassdata/ll_wgs84/hb/.tmp
/debSqx86-vm/29440.0/r3.in.xyz/bin'
/home/hamish/dev/grass/svn/grass64svn/dist.i486-pc-linux-
gnu/include/Make/Script.make:47: warning: overriding
commands for target `install'
/home/hamish/dev/grass/svn/grass64svn/dist.i486-pc-linux-
gnu/include/Make/Rules.make:99: warning: ignoring old
commands for target `install'
/home/hamish/dev/grass/svn/grass64svn/dist.i486-pc-linux-
gnu/include/Make/Grass.make:423: warning: overriding
commands for target `/home/hamish/grassdata/ll_wgs84/hb/.tmp
/debSqx86-vm/29440.0/r3.in.xyz/bin'
/home/hamish/dev/grass/svn/grass64svn/dist.i486-pc-linux-
gnu/include/Make/Grass.make:414: warning: ignoring old
commands for target `/home/hamish/grassdata/ll_wgs84/hb/.tmp
/debSqx86-vm/29440.0/r3.in.xyz/bin'
/home/hamish/dev/grass/svn/grass64svn/dist.i486-pc-linux-
gnu/include/Make/Script.make:47: warning: overriding
commands for target `install'
/home/hamish/dev/grass/svn/grass64svn/dist.i486-pc-linux-
gnu/include/Make/Rules.make:99: warning: ignoring old
commands for target `install'
/bin/sh: cannot create
/home/hamish/dev/grass/svn/grass64svn/dist.i486-pc-linux-
gnu/locale/scriptstrings/r3.in.xyz_to_translate.c: Directory
nonexistent
sed: couldn't flush stdout: Broken pipe
/home/hamish/dev/grass/svn/grass64svn/dist.i486-pc-linux-
gnu/include/Make/Grass.make:423: warning: overriding
commands for target `/home/hamish/grassdata/ll_wgs84/hb/.tmp
/debSqx86-vm/29440.0/r3.in.xyz/bin'
/home/hamish/dev/grass/svn/grass64svn/dist.i486-pc-linux-
gnu/include/Make/Grass.make:414: warning: ignoring old
commands for target `/home/hamish/grassdata/ll_wgs84/hb/.tmp
/debSqx86-vm/29440.0/r3.in.xyz/bin'
/home/hamish/dev/grass/svn/grass64svn/dist.i486-pc-linux-
gnu/include/Make/Script.make:47: warning: overriding
commands for target `install'
/home/hamish/dev/grass/svn/grass64svn/dist.i486-pc-linux-
gnu/include/Make/Rules.make:99: warning: ignoring old
commands for target `install'
/home/hamish/dev/grass/svn/grass64svn/dist.i486-pc-linux-
gnu/include/Make/Grass.make:423: warning: overriding
commands for target `/home/hamish/grassdata/ll_wgs84/hb/.tmp
/debSqx86-vm/29440.0/r3.in.xyz/bin'
/home/hamish/dev/grass/svn/grass64svn/dist.i486-pc-linux-
gnu/include/Make/Grass.make:414: warning: ignoring old
commands for target `/home/hamish/grassdata/ll_wgs84/hb/.tmp
/debSqx86-vm/29440.0/r3.in.xyz/bin'
/home/hamish/dev/grass/svn/grass64svn/dist.i486-pc-linux-
gnu/include/Make/Script.make:47: warning: overriding
commands for target `install'
/home/hamish/dev/grass/svn/grass64svn/dist.i486-pc-linux-
gnu/include/Make/Rules.make:99: warning: ignoring old
commands for target `install'
Installing...
/home/hamish/dev/grass/svn/grass64svn/dist.i486-pc-linux-
gnu/include/Make/Script.make:47: warning: overriding
commands for target `install'
/home/hamish/dev/grass/svn/grass64svn/dist.i486-pc-linux-
gnu/include/Make/Rules.make:99: warning: ignoring old
commands for target `install'
Updating metadata file...
Installation of <r3.in.xyz> successfully finished

but if you "grep -v 'warning: .* commands for target'" away the useless warnings that gets reduced to this:

Fetching <r3.in.xyz> from GRASS-Addons SVN (be patient)...
Compiling...
/bin/sh: cannot create
/home/hamish/dev/grass/svn/grass64svn/dist.i486-pc-linux-gnu/locale/scriptstrings/r3.in.xyz_to_translate.c: Directory
nonexistent
sed: couldn't flush stdout: Broken pipe
Installing...
Updating metadata file...
Installation of <r3.in.xyz> successfully finished

... much more informative and you have a much better chance to spot any real errors which may have happened along the way.

  • what does it mean?
  • if it is benign, can we make it go away without masking any real problems?

thanks, Hamish

Change History (4)

comment:1 in reply to:  description ; Changed 7 years ago by glynn

Replying to hamish:

what does it mean?

It means that you have multiple rules (with commands) for a single target (in this case, the "install" target). The last rule defined is used, any others are ignored.

if it is benign, can we make it go away without masking any real problems?

The "install" target in Rules.make recursively runs "make install" for each directory in $(INSTALL_SUBDIRS). AFAICT, nothing ever sets that variable, so the target is pointless.

comment:2 in reply to:  1 ; Changed 7 years ago by hamish

Replying to hamish:

if it is benign, can we make it go away without masking any real problems?

Replying to glynn:

The "install" target in Rules.make recursively runs "make install" for each directory in $(INSTALL_SUBDIRS). AFAICT, nothing ever sets that variable, so the target is pointless.

see r38564, r38565. apparently it was for the i.pr/ collection of modules in addons svn.

How to install groups of modules (like gipe or i.pr) using an automatic download+compile tool like g.extension.* is still an open question.

Hamish

comment:3 in reply to:  2 Changed 7 years ago by neteler

Milestone: 6.4.46.4.3

Replying to hamish:

see r38564, r38565. apparently it was for the i.pr/ collection of modules in addons svn.

Since that fails anyway, these changes may be reverted. Target back to 6.4.3

Markus

comment:4 Changed 7 years ago by hamish

Resolution: fixed
Status: newclosed

duplicate install target removed from devbr6 & relbr64 with r55249, r55251.

Hamish

Note: See TracTickets for help on using tickets.