Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 583150 - app-text/xmlto-0.0.26-r1: uses non-existent path `/usr/bin/cp' for `cp' program
Summary: app-text/xmlto-0.0.26-r1: uses non-existent path `/usr/bin/cp' for `cp' program
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-05-16 09:32 UTC by Alexander Puchmayr
Modified: 2016-05-24 17:21 UTC (History)
1 user (show)

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


Attachments
output of emerge --info (emerge-info,7.41 KB, text/plain)
2016-05-19 06:20 UTC, Alexander Puchmayr
Details
build log of sys-apps/dbus-1.10.8-r1 (build.log,341.29 KB, application/octet-stream)
2016-05-19 06:21 UTC, Alexander Puchmayr
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Puchmayr 2016-05-16 09:32:37 UTC
xmlto version 0.0.25

/usr/bin/xmlto:line 260:
GCP_PATH=/usr/bin/cp

/usr/bin/cp does not exist, it is /bin/cp
(see sys-apps/coreutils-8.23)

/usr/share/xmlto/format/docbook/man:
case "$1" in
[...]
post-process)
  [ -e "$XSLT_PROCESSED" ] && rm "$XSLT_PROCESSED"
  ${GCP_PATH:-cp} -R -P -p -- * "$OUTPUT_DIR" 2>/dev/null
  ;;
esac

The "2>/dev/null" here is really nasty, because it puts the error message into nirvana ...

This makes applications using it to fail without an apparent reason; In my case it was sys-apps/dbus which failed to build.

Suggested fix:
a) Change GCP_PATH=/usr/bin/cp to GCP_PATH=/usr/cp
or use GCP_PATH=`which cp`

b) Add a link 
/usr/bin/cp --> /usr/cp in coreutils

Remove the "2>/dev/null" in /usr/share/xmlto/format/docbook/man, at least in VERBOSE mode
Comment 1 Alexander Puchmayr 2016-05-16 10:11:42 UTC
NB: app-text/xmlto-0.0.26-r1 has the same problem, possibly for /usr/bin/sed as well
Comment 2 Coacher 2016-05-18 11:21:34 UTC
Could you please provide a step-by-step procedure how to trigger this bug?
If you have build failures please attach complete build.log and `emerge --info' output.
Comment 3 Alexander Puchmayr 2016-05-19 06:20:44 UTC
Created attachment 434664 [details]
output of emerge --info
Comment 4 Alexander Puchmayr 2016-05-19 06:21:46 UTC
Created attachment 434666 [details]
build log of sys-apps/dbus-1.10.8-r1
Comment 5 Alexander Puchmayr 2016-05-19 06:39:55 UTC
OK, here is some more information:


hestia ~ # qlist -Iv coreutils
sys-apps/coreutils-8.23

hestia ~ # ls -l /usr/bin/cp
ls: cannot access /usr/bin/cp: No such file or directory

hestia ~ # ls -l /bin/cp
-rwxr-xr-x 1 root root 117776 Aug  9  2015 /bin/cp

hestia ~ # emerge -av dbus
[lines cutted for readability -- see full output in attachment #2 [details]]
Making all in doc
make[2]: Entering directory '/var/tmp/portage/sys-apps/dbus-1.10.8-r1/work/dbus-1.10.8-abi_x86_64.amd64/doc'
/usr/bin/xmlto man dbus-cleanup-sockets.1.xml
/usr/bin/xmlto man dbus-daemon.1.xml
Note: Writing dbus-cleanup-sockets.1
Makefile:822: recipe for target 'dbus-cleanup-sockets.1' failed
make[2]: *** [dbus-cleanup-sockets.1] Error 1
make[2]: *** Waiting for unfinished jobs....
Note: Writing dbus-daemon.1
Makefile:822: recipe for target 'dbus-daemon.1' failed
make[2]: *** [dbus-daemon.1] Error 1
make[2]: Leaving directory '/var/tmp/portage/sys-apps/dbus-1.10.8-r1/work/dbus-1.10.8-abi_x86_64.amd64/doc'
Makefile:630: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/var/tmp/portage/sys-apps/dbus-1.10.8-r1/work/dbus-1.10.8-abi_x86_64.amd64'
Makefile:526: recipe for target 'all' failed
make: *** [all] Error 2
 * ERROR: sys-apps/dbus-1.10.8-r1::gentoo failed (compile phase):
 *   emake failed
 * 
 * If you need support, post the output of `emerge --info '=sys-apps/dbus-1.10.8-r1::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=sys-apps/dbus-1.10.8-r1::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/sys-apps/dbus-1.10.8-r1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/sys-apps/dbus-1.10.8-r1/temp/environment'.
 * Working directory: '/var/tmp/portage/sys-apps/dbus-1.10.8-r1/work/dbus-1.10.8-abi_x86_64.amd64'
 * S: '/var/tmp/portage/sys-apps/dbus-1.10.8-r1/work/dbus-1.10.8'

>>> Failed to emerge sys-apps/dbus-1.10.8-r1, Log file:

>>>  '/var/tmp/portage/sys-apps/dbus-1.10.8-r1/temp/build.log'

 * Messages for package sys-apps/dbus-1.10.8-r1:

 * ERROR: sys-apps/dbus-1.10.8-r1::gentoo failed (compile phase):
 *   emake failed
 * 
 * If you need support, post the output of `emerge --info '=sys-apps/dbus-1.10.8-r1::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=sys-apps/dbus-1.10.8-r1::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/sys-apps/dbus-1.10.8-r1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/sys-apps/dbus-1.10.8-r1/temp/environment'.
 * Working directory: '/var/tmp/portage/sys-apps/dbus-1.10.8-r1/work/dbus-1.10.8-abi_x86_64.amd64'
 * S: '/var/tmp/portage/sys-apps/dbus-1.10.8-r1/work/dbus-1.10.8'

 * GNU info directory index is up-to-date.

 * IMPORTANT: 9 config files in '/etc' need updating.
 * See the CONFIGURATION FILES section of the emerge
 * man page to learn how to update config files.

 * IMPORTANT: 22 news items need reading for repository 'gentoo'.
 * Use eselect news read to view new items.

[OK, I cannot see any error message WHY recipe for target 'dbus-cleanup-sockets.1' failed. Lets dig deeper]

hestia ~ # cd /var/tmp/portage/sys-apps/dbus-1.10.8-r1/work/dbus-1.10.8-abi_x86_64.amd64/doc
hestia doc # make
/usr/bin/xmlto man dbus-cleanup-sockets.1.xml
Note: Writing dbus-cleanup-sockets.1
Makefile:822: recipe for target 'dbus-cleanup-sockets.1' failed
make: *** [dbus-cleanup-sockets.1] Error 1

[Still not very helpful, call /usr/bin/xmlto in verbose mode]
hestia doc # /usr/bin/xmlto -v -v -v man dbus-cleanup-sockets.1.xml
Source format: docbook / root element: nodes: 
Format script: /usr/share/xmlto/format/docbook/man
Convert to troff
Real stylesheet: http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl
"/usr/bin/xmllint" --noout --nonet --xinclude --postvalid --noent  "/var/tmp/portage/sys-apps/dbus-1.10.8-r1/work/dbus-1.10.8-abi_x86_64.amd64/doc/dbus-cleanup-sockets.1.xml"
Stylesheet: /tmp/xmlto-xsl.Dx0iYF
/usr/bin/xsltproc   --nonet --xinclude --param passivetex.extensions '1' -v  \
 -o "/tmp/xmlto.xOiSMs/dbus-cleanup-sockets.1.proc" \
 "/tmp/xmlto-xsl.Dx0iYF" \
 "/var/tmp/portage/sys-apps/dbus-1.10.8-r1/work/dbus-1.10.8-abi_x86_64.amd64/doc/dbus-cleanup-sockets.1.xml"
creating attribute set table
add attribute to list olink.properties
updated attribute list olink.properties
add attribute to list shade.verbatim.style
add attribute to list shade.verbatim.style
updated attribute list shade.verbatim.style
updated attribute list book.titlepage.recto.style
updated attribute list book.titlepage.verso.style
updated attribute list article.titlepage.recto.style
updated attribute list article.titlepage.verso.style
updated attribute list set.titlepage.recto.style
updated attribute list set.titlepage.verso.style
updated attribute list part.titlepage.recto.style
updated attribute list part.titlepage.verso.style
updated attribute list partintro.titlepage.recto.style
updated attribute list partintro.titlepage.verso.style
updated attribute list reference.titlepage.recto.style
updated attribute list reference.titlepage.verso.style
updated attribute list refentry.titlepage.recto.style
updated attribute list refentry.titlepage.verso.style
updated attribute list dedication.titlepage.recto.style
updated attribute list dedication.titlepage.verso.style
updated attribute list acknowledgements.titlepage.recto.style
updated attribute list acknowledgements.titlepage.verso.style
updated attribute list preface.titlepage.recto.style
updated attribute list preface.titlepage.verso.style
updated attribute list chapter.titlepage.recto.style
updated attribute list chapter.titlepage.verso.style
updated attribute list appendix.titlepage.recto.style
updated attribute list appendix.titlepage.verso.style
updated attribute list bibliography.titlepage.recto.style
updated attribute list bibliography.titlepage.verso.style
updated attribute list glossary.titlepage.recto.style
updated attribute list glossary.titlepage.verso.style
updated attribute list index.titlepage.recto.style
updated attribute list index.titlepage.verso.style
updated attribute list setindex.titlepage.recto.style
updated attribute list setindex.titlepage.verso.style
updated attribute list sidebar.titlepage.recto.style
updated attribute list sidebar.titlepage.verso.style
updated attribute list topic.titlepage.recto.style
updated attribute list topic.titlepage.verso.style
updated attribute list section.titlepage.recto.style
updated attribute list section.titlepage.verso.style
xsl:attribute-set : sect1.titlepage.recto.style adds use section.titlepage.recto.style
updated attribute list sect1.titlepage.recto.style
xsl:attribute-set : sect1.titlepage.verso.style adds use section.titlepage.verso.style
updated attribute list sect1.titlepage.verso.style
xsl:attribute-set : sect2.titlepage.recto.style adds use section.titlepage.recto.style
updated attribute list sect2.titlepage.recto.style
xsl:attribute-set : sect2.titlepage.verso.style adds use section.titlepage.verso.style
updated attribute list sect2.titlepage.verso.style
xsl:attribute-set : sect3.titlepage.recto.style adds use section.titlepage.recto.style
updated attribute list sect3.titlepage.recto.style
xsl:attribute-set : sect3.titlepage.verso.style adds use section.titlepage.verso.style
updated attribute list sect3.titlepage.verso.style
xsl:attribute-set : sect4.titlepage.recto.style adds use section.titlepage.recto.style
updated attribute list sect4.titlepage.recto.style
xsl:attribute-set : sect4.titlepage.verso.style adds use section.titlepage.verso.style
updated attribute list sect4.titlepage.verso.style
xsl:attribute-set : sect5.titlepage.recto.style adds use section.titlepage.recto.style
updated attribute list sect5.titlepage.recto.style
xsl:attribute-set : sect5.titlepage.verso.style adds use section.titlepage.verso.style
updated attribute list sect5.titlepage.verso.style
xsl:attribute-set : simplesect.titlepage.recto.style adds use section.titlepage.recto.style
updated attribute list simplesect.titlepage.recto.style
xsl:attribute-set : simplesect.titlepage.verso.style adds use section.titlepage.verso.style
updated attribute list simplesect.titlepage.verso.style
updated attribute list table.of.contents.titlepage.recto.style
updated attribute list table.of.contents.titlepage.verso.style
updated attribute list list.of.tables.titlepage.recto.style
updated attribute list list.of.tables.contents.titlepage.verso.style
updated attribute list list.of.figures.titlepage.recto.style
updated attribute list list.of.figures.contents.titlepage.verso.style
updated attribute list list.of.equations.titlepage.recto.style
updated attribute list list.of.equations.contents.titlepage.verso.style
updated attribute list list.of.examples.titlepage.recto.style
updated attribute list list.of.examples.contents.titlepage.verso.style
updated attribute list list.of.unknowns.titlepage.recto.style
updated attribute list list.of.unknowns.contents.titlepage.verso.style
updated attribute list dialogue.titlepage.recto.style
updated attribute list dialogue.titlepage.verso.style
updated attribute list drama.titlepage.recto.style
updated attribute list drama.titlepage.verso.style
updated attribute list poetry.titlepage.recto.style
updated attribute list poetry.titlepage.verso.style
Resolving attribute sets references
creating attribute set table
attribute set book.titlepage.recto.style moved to top stylesheet
attribute set appendix.titlepage.verso.style moved to top stylesheet
attribute set simplesect.titlepage.verso.style moved to top stylesheet
attribute set list.of.unknowns.contents.titlepage.verso.style moved to top stylesheet
attribute set olink.properties moved to top stylesheet
attribute set part.titlepage.recto.style moved to top stylesheet
attribute set acknowledgements.titlepage.verso.style moved to top stylesheet
attribute set chapter.titlepage.recto.style moved to top stylesheet
attribute set chapter.titlepage.verso.style moved to top stylesheet
attribute set bibliography.titlepage.verso.style moved to top stylesheet
attribute set topic.titlepage.recto.style moved to top stylesheet
attribute set drama.titlepage.verso.style moved to top stylesheet
attribute set shade.verbatim.style moved to top stylesheet
attribute set article.titlepage.verso.style moved to top stylesheet
attribute set reference.titlepage.verso.style moved to top stylesheet
attribute set setindex.titlepage.verso.style moved to top stylesheet
attribute set list.of.tables.titlepage.recto.style moved to top stylesheet
attribute set list.of.examples.contents.titlepage.verso.style moved to top stylesheet
attribute set set.titlepage.verso.style moved to top stylesheet
attribute set reference.titlepage.recto.style moved to top stylesheet
attribute set preface.titlepage.recto.style moved to top stylesheet
attribute set sect1.titlepage.verso.style moved to top stylesheet
attribute set sect2.titlepage.recto.style moved to top stylesheet
attribute set list.of.tables.contents.titlepage.verso.style moved to top stylesheet
attribute set list.of.examples.titlepage.recto.style moved to top stylesheet
attribute set list.of.unknowns.titlepage.recto.style moved to top stylesheet
attribute set dialogue.titlepage.recto.style moved to top stylesheet
attribute set drama.titlepage.recto.style moved to top stylesheet
attribute set partintro.titlepage.recto.style moved to top stylesheet
attribute set dedication.titlepage.recto.style moved to top stylesheet
attribute set topic.titlepage.verso.style moved to top stylesheet
attribute set sect1.titlepage.recto.style moved to top stylesheet
attribute set sect2.titlepage.verso.style moved to top stylesheet
attribute set table.of.contents.titlepage.recto.style moved to top stylesheet
attribute set poetry.titlepage.recto.style moved to top stylesheet
attribute set poetry.titlepage.verso.style moved to top stylesheet
attribute set book.titlepage.verso.style moved to top stylesheet
attribute set partintro.titlepage.verso.style moved to top stylesheet
attribute set refentry.titlepage.recto.style moved to top stylesheet
attribute set simplesect.titlepage.recto.style moved to top stylesheet
attribute set article.titlepage.recto.style moved to top stylesheet
attribute set bibliography.titlepage.recto.style moved to top stylesheet
attribute set section.titlepage.verso.style moved to top stylesheet
attribute set sect3.titlepage.verso.style moved to top stylesheet
attribute set sect5.titlepage.recto.style moved to top stylesheet
attribute set list.of.equations.titlepage.recto.style moved to top stylesheet
attribute set set.titlepage.recto.style moved to top stylesheet
attribute set part.titlepage.verso.style moved to top stylesheet
attribute set refentry.titlepage.verso.style moved to top stylesheet
attribute set preface.titlepage.verso.style moved to top stylesheet
attribute set appendix.titlepage.recto.style moved to top stylesheet
attribute set glossary.titlepage.verso.style moved to top stylesheet
attribute set sidebar.titlepage.recto.style moved to top stylesheet
attribute set sect3.titlepage.recto.style moved to top stylesheet
attribute set table.of.contents.titlepage.verso.style moved to top stylesheet
attribute set list.of.figures.titlepage.recto.style moved to top stylesheet
attribute set list.of.figures.contents.titlepage.verso.style moved to top stylesheet
attribute set dialogue.titlepage.verso.style moved to top stylesheet
attribute set dedication.titlepage.verso.style moved to top stylesheet
attribute set glossary.titlepage.recto.style moved to top stylesheet
attribute set index.titlepage.recto.style moved to top stylesheet
attribute set setindex.titlepage.recto.style moved to top stylesheet
attribute set section.titlepage.recto.style moved to top stylesheet
attribute set sect4.titlepage.recto.style moved to top stylesheet
attribute set sect4.titlepage.verso.style moved to top stylesheet
attribute set sect5.titlepage.verso.style moved to top stylesheet
attribute set acknowledgements.titlepage.recto.style moved to top stylesheet
attribute set index.titlepage.verso.style moved to top stylesheet
attribute set sidebar.titlepage.verso.style moved to top stylesheet
attribute set list.of.equations.contents.titlepage.verso.style moved to top stylesheet
Importing attribute list section.titlepage.verso.style
Importing attribute list section.titlepage.recto.style
Importing attribute list section.titlepage.recto.style
Importing attribute list section.titlepage.verso.style
Importing attribute list section.titlepage.verso.style
Importing attribute list section.titlepage.recto.style
Importing attribute list section.titlepage.recto.style
Importing attribute list section.titlepage.recto.style
Importing attribute list section.titlepage.verso.style
Importing attribute list section.titlepage.verso.style
Importing attribute list section.titlepage.verso.style
Importing attribute list section.titlepage.recto.style
Note: Writing dbus-cleanup-sockets.1
+ case "$1" in
+ '[' -e /tmp/xmlto.xOiSMs/dbus-cleanup-sockets.1.proc ']'
+ rm /tmp/xmlto.xOiSMs/dbus-cleanup-sockets.1.proc
+ /usr/bin/cp -R -P -p -- dbus-cleanup-sockets.1 /var/tmp/portage/sys-apps/dbus-1.10.8-r1/work/dbus-1.10.8-abi_x86_64.amd64/doc

Got it, xmlto is calling /usr/bin/cp, which does not exist!
And, as pointed out in the first comment, in /usr/share/xmlto/format/docbook/man
(The script whose output are the last four lines above -- those marked with '+'), a "2>/dev/null" is appended to the line causing the error message to disappear.
Comment 6 Coacher 2016-05-19 12:07:06 UTC
This appears to be fixed in xmlto-0.0.26-r1. Try updating your xmlto.

$ equery l xmlto
 * Searching for xmlto ...
[IP-] [  ] app-text/xmlto-0.0.26-r1:0

$ grep GCP_PATH /usr/bin/xmlto
GCP_PATH=/bin/cp
export GCP_PATH
Comment 7 Alexander Puchmayr 2016-05-19 13:30:31 UTC
@coacher: No. Not on my app-text/xmlto-0.0.26-r1

hestia ~ # qlist -Iv xmlto
app-text/xmlto-0.0.26-r1
hestia ~ # grep GCP_PATH /usr/bin/xmlto
GCP_PATH=/usr/bin/cp
export GCP_PATH
hestia ~ # 

Same version, different content? How's this possible?
Comment 8 Coacher 2016-05-20 09:03:45 UTC
Not sure how. This problem may take a long time to get fixed as xmlto currently has no maintainer.

There are other hardcoded paths inside xmlto binary for grep, sed, etc.
Are they detected correctly?
Comment 9 Alexander Puchmayr 2016-05-24 09:09:52 UTC
I think I've found the reason what happened:

Usually, I'm compiling packages on my buildhost, and on this machine, /usr/bin/cp existed as link (I've created it manually a long time ago because of similar problems). Hence, the build script detects cp as /usr/bin/cp, stores this in /usr/bin/xmlto and thus in the package. When installing this package on a machine without /usr/bin/cp, I trapped into this problem. 

Compiling xmlto on a machine with only /bin/cp (and no /usr/bin/cp) works fine (GCP_PATH=/bin/cp)

The root cause is that a package depends implictly on files which do not exist on the target machine. IMHO, this is a fundamental problem that cannot be fixed easily, because its not clear who to blame: Me, because I created the link, gentoo/portage because it allows creation/installation of packages which do not work on the target, or xmlto for its build script. 

From my point of view, we can close this bug.
Comment 10 Coacher 2016-05-24 17:21:51 UTC
That's a valuable info, thank you. After all it was caused by your build environment. Closing.