Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 53881 - coreutils-5.2.0-r2 : error msg in log-file
Summary: coreutils-5.2.0-r2 : error msg in log-file
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: High minor (vote)
Assignee: Seemant Kulleen (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-06-14 05:50 UTC by Toralf Förster
Modified: 2004-12-19 21:28 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Toralf Förster gentoo-dev 2004-06-14 05:50:04 UTC
update of coreutils works, but in the log file under /var/log/portage I read:

make[2]: Leaving directory `/var/tmp/portage/coreutils-5.2.0-r2/work/coreutils-5.2.0/doc'
Making all in man
make[2]: Entering directory `/var/tmp/portage/coreutils-5.2.0-r2/work/coreutils-5.2.0/man'
rm -fr basename.td; \
@echo "Updating man page basename.1";           \
mkdir basename.td;                              \
(cd basename.td && ln -s ../../src/`echo basename|sed 's/install/ginstall/; s/test/[/'` `echo basename|sed 's/install/ginstall/; s/t
est/[/'`); \
perl -- ./help2man              \
    --info-page='coreutils basename'            \
    --include=./basename.x              \
    --output=basename.1 basename.td/`echo basename|sed 's/install/ginstall/; s/test/[/'`
/bin/sh: line 1: @echo: command not found
rm -fr cat.td; \
@echo "Updating man page cat.1";                \
mkdir cat.td;                           \


There are 64 lines with the error"@echo: command not found" .
Maybe wrong substitution while creating the Makefile ?


Reproducible: Always
Steps to Reproduce:
1.
2.
3.
Comment 1 SpanKY gentoo-dev 2004-09-24 19:49:41 UTC
it can be ignored, the error doesnt matter

i havent looked at the source myself but i imagine the reason it's happening is because the writer of the makefile thought the @echo was in Makefile scope but in reality was in a shell code scope

example Makefile:
all:
    @echo "Makefile scope"
    ( cd blah ; echo "shell scope" )
Comment 2 Toralf Förster gentoo-dev 2004-10-10 10:11:44 UTC
ok, I sent an email to bug-coreutils@gnu.org.
Comment 3 Toralf Förster gentoo-dev 2004-10-26 07:22:23 UTC
from the answer of http://lists.gnu.org/archive/html/bug-coreutils/2004-10/msg00051.html

Thank you for your report.  However I don't think this is a bug in
coreutils.  I think you are compiling using a nonstandard 'make'
program or with a broken 'make' program.

In your bug report:

  @echo "Updating man page basename.1"
  @echo "Updating man page cat.1"
  ...and so one...

In a Makefile lines starting with an '@' are not echoed to the output.
This is undesireable when the command itself is an echo command.
Therefore convention says that all 'echo' commands are prefixed by an
'@' symbol.  This will not be limited to coreutils.  This will apply
to almost all projects that use 'make' to build them.

Please verify that you are building using a standard make program.  If
you think you are then verify that it is working.  This small test
Makefile should work.

  all:
        @echo Hello, world.

Also in your gentoo bug report you list that you are using version
coreutils 5.2.0 which is old.  Please consider upgrading to the latest
stable released version.

  ftp://ftp.gnu.org/gnu/coreutils/coreutils-5.2.1.tar.gz

I don't think the version has any bearing on your problem.  But of
course patches could have been applied and there is no way we would
know about those here.

Bob
Comment 4 Toralf Förster gentoo-dev 2004-10-30 03:58:30 UTC
I am really not sure but could this issue (also seen with coreutils-5.2.1) be related to a sandbox issue of portage ?
Comment 5 SpanKY gentoo-dev 2004-12-13 07:10:06 UTC
you should reply back to that gnu guy ... the error is in coreutils, it is NOT a problem with make

if you review man/Makefile.am, you'll see this tidbit:
.x.1:
    @rm -f $@
    rm -fr $t; \
    @echo "Updating man page $@";  \
    ...

the subtle bug here is that putting '; \' at the ends of the lines like that tells make to invoke this all in one shell
thus the shell runs:
rm -fr $t; @echo "updating manpage $@"; ...

in reality, the '; \' from at least the 'rm -fr' line needs to be dropped ... that way make will do what it should and just run `echo` without echo-ing that line to stdout
Comment 6 Bob Proulx 2004-12-19 15:50:10 UTC
Negative.  The quoted text indicated as the bug does not appear in the upstream coreutils-5.2.0 nor in the current stable release coreutils-5.2.1 and therefore is not an upstream bug.  It must have been added by gentoo, possibly in a patch.

You can verify this yourself by examining the pristine sources here.

  http://ftp.gnu.org/gnu/coreutils/

The pristine sources contain this text.

.x.1:
        @rm -f $@
        @echo "Updating man page $@";           \
        ...

Bob
Comment 7 SpanKY gentoo-dev 2004-12-19 21:28:51 UTC
ah, very true ... thanks for doing some sanity checks :)

patch at fault is mandrake/027_all_coreutils-mdk-build-fix.patch

added a quick sed fix in the ebuild to remove the \ from the patch, thanks :)