When building Exaile, it breaks with the following error: /usr/bin/install: cannot stat 'build/exaile.desktop': No such file or directory make: *** [Makefile:177: install-target] Error 1 Reproducible: Always
Per the standard drill -- please include `emerge --info` output at minimum and ideally a complete build log. You say it's always reproducible but I cannot reproduce it. :)
Created attachment 874849 [details] exaile emerge build.log
Created attachment 874850 [details] emerge --info
Created attachment 874851 [details] exaile emerge build.log
I also have this problem and unfortunately it is always reproducible for me.
Created attachment 874880 [details] emerge --info emerge --info
Created attachment 874881 [details] emerge build log emerge build log
Sorry for not adding that info right away. I had the impression this is basically a missing file in the ebuild since it is complaining about the missing .desktop file. When looking into it, there is no .desktop file anywhere in the Portage build directory after building. There is a exaile.desktop.in file in the work directory (in data directory). Version 4.1.2 was working fine.
Okay this is an interesting one, you're building without USE=nls so the src_compile is skipped entirely. That src_compile also doesn't run the "all" target anyways, so it basically does nothing even when USE=nls. This means a whole, whole lotta things get skipped and not even installed at all, because this homebrew Makefile marks them as nonfatal commands that are allowed to fail: - bash completion - manpages The desktop files were reworked in upstream commit https://github.com/exaile/exaile/commit/6d244f07e3efc0b67bc47edbe80173ace934f43e which is why it now stopped successfully `make install`ing.
Ok, then, as far as I can see, the ebuild has to call `make all` when USE=nls is set and `make all_no_locale` when USE=nls is not set. so instead of: src_compile() { use nls && emake locale } it has to look like: src_compile() { emake all$(use nls || echo _no_locale) } right? (I have no gentoo machine here right now, so I couldn test it)
I've tested the suggested change and it does work. Emerge builds and installs. But it still shows a couple errors on the way (during src_install). Not sure how critical it is. It doesn't fail and it even starts after it. The application works as far as i've tested it. This is the error output: fatal: not a git repository (or any parent up to mount point /var/tmp) Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set). install -p -m 644 exaile.py /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile install -p -m 644 xl/*.py[co] /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xl /usr/bin/install: cannot stat 'xl/*.py[co]': No such file or directory make: [Makefile:131: install-target] Error 1 (ignored) install -p -m 644 xl/*.py /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xl install -p -m 644 xl/externals/*.py[co] /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xl/externals /usr/bin/install: cannot stat 'xl/externals/*.py[co]': No such file or directory make: [Makefile:133: install-target] Error 1 (ignored) install -p -m 644 xl/externals/*.py /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xl/externals install -p -m 644 xl/metadata/*.py[co] /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xl/metadata /usr/bin/install: cannot stat 'xl/metadata/*.py[co]': No such file or directory make: [Makefile:135: install-target] Error 1 (ignored) install -p -m 644 xl/metadata/*.py /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xl/metadata install -p -m 644 xl/player/*.py[co] /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xl/player /usr/bin/install: cannot stat 'xl/player/*.py[co]': No such file or directory make: [Makefile:137: install-target] Error 1 (ignored) install -p -m 644 xl/player/*.py /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xl/player install -p -m 644 xl/player/gst/*.py[co] /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xl/player/gst /usr/bin/install: cannot stat 'xl/player/gst/*.py[co]': No such file or directory make: [Makefile:139: install-target] Error 1 (ignored) install -p -m 644 xl/player/gst/*.py /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xl/player/gst install -p -m 644 xl/migrations/*.py[co] /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xl/migrations /usr/bin/install: cannot stat 'xl/migrations/*.py[co]': No such file or directory make: [Makefile:141: install-target] Error 1 (ignored) install -p -m 644 xl/migrations/*.py /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xl/migrations install -p -m 644 xl/migrations/database/*.py[co] /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xl/migrations/database/ /usr/bin/install: cannot stat 'xl/migrations/database/*.py[co]': No such file or directory make: [Makefile:143: install-target] Error 1 (ignored) install -p -m 644 xl/migrations/database/*.py /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xl/migrations/database/ install -p -m 644 xl/migrations/settings/*.py[co] /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xl/migrations/settings/ /usr/bin/install: cannot stat 'xl/migrations/settings/*.py[co]': No such file or directory make: [Makefile:145: install-target] Error 1 (ignored) install -p -m 644 xl/migrations/settings/*.py /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xl/migrations/settings/ install -p -m 644 xl/trax/*.py[co] /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xl/trax /usr/bin/install: cannot stat 'xl/trax/*.py[co]': No such file or directory make: [Makefile:147: install-target] Error 1 (ignored) install -p -m 644 xl/trax/*.py /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xl/trax install -p -m 644 xlgui/*.py[co] /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xlgui /usr/bin/install: cannot stat 'xlgui/*.py[co]': No such file or directory make: [Makefile:149: install-target] Error 1 (ignored) install -p -m 644 xlgui/*.py /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xlgui install -p -m 644 xlgui/panel/*.py[co] /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xlgui/panel /usr/bin/install: cannot stat 'xlgui/panel/*.py[co]': No such file or directory make: [Makefile:151: install-target] Error 1 (ignored) install -p -m 644 xlgui/panel/*.py /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xlgui/panel install -p -m 644 xlgui/preferences/*.py[co] /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xlgui/preferences /usr/bin/install: cannot stat 'xlgui/preferences/*.py[co]': No such file or directory make: [Makefile:153: install-target] Error 1 (ignored) install -p -m 644 xlgui/preferences/*.py /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xlgui/preferences install -p -m 644 xlgui/widgets/*.py[co] /var/tmp/portage/media-sound/exaile-4.1.3-r1/image/usr/lib64/exaile/xlgui/widgets /usr/bin/install: cannot stat 'xlgui/widgets/*.py[co]': No such file or directory make: [Makefile:155: install-target] Error 1 (ignored)
(In reply to Christian Strahl from comment #10) > Ok, then, as far as I can see, the ebuild has to call `make all` when > USE=nls is set and `make all_no_locale` when USE=nls is not set. > > so instead of: > > src_compile() { > use nls && emake locale > } > > > it has to look like: > > src_compile() { > emake all$(use nls || echo _no_locale) > } > > right? > > (I have no gentoo machine here right now, so I couldn test it) With the removal of exaile 4.1.2 there is no working exaile version for USE="-nls". Since my proposal is working, is there any reason to not make this change?
I would suggest submitting a patch to implement that change. As far as the remaining nonfatal errors go, it's just a bunch of .pyc files that don't exist, which is fine as python_optimize handles that anyway.
Package removed.