Bug 219698 - gnome-extra/gnome-audio-2.22.1 fails to install w/ -j2 because of missing dependencies
Bug#: 219698 Product:  Gentoo Linux Version: unspecified Platform: All
OS/Version: Linux Status: RESOLVED Severity: normal Priority: P2
Resolution: FIXED Assigned To: gnome@gentoo.org Reported By: vslavik@fastmail.fm
Component: GNOME
URL:  http://bugzilla.gnome.org/show_bug.cgi?id=530529
Summary: gnome-extra/gnome-audio-2.22.1 fails to install w/ -j2 because of missing dependencies
Keywords:  
Status Whiteboard: 
Opened: 2008-04-29 10:07 0000
Description:   Opened: 2008-04-29 10:07 0000
(Reported to upstream at the URL above already, reporting here to avoid
duplication of work and to provide ebuild patch too.)

The install-default-links target in sounds/Makefile is missing dependency on
install-files. Because of it, make may execute install-default-links first or
in parallel (as it does with -jN for N>1). "ln -s" command then fails because
the target directory doesn't exist yet:

make -C sounds install
make[1]: Entering directory
`/var/tmp/portage/gnome-extra/gnome-audio-2.22.1/work/gnome-audio-2.22.1/sounds'
for I in *.wav */*.wav ; do \
                mkdir -p
/var/tmp/portage/gnome-extra/gnome-audio-2.22.1/image///usr/share/sounds/`dirname
$I`; \
                install -c -m 444  $I
/var/tmp/portage/gnome-extra/gnome-audio-2.22.1/image///usr/share/sounds/$I; \
        done
ln -sf startup3.wav
/var/tmp/portage/gnome-extra/gnome-audio-2.22.1/image///usr/share/sounds/login.wav
ln: creating symbolic link
`/var/tmp/portage/gnome-extra/gnome-audio-2.22.1/image///usr/share/sounds/login.wav':
No such file or directory
make[1]: *** [install-default-links] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory
`/var/tmp/portage/gnome-extra/gnome-audio-2.22.1/work/gnome-audio-2.22.1/sounds'
make: *** [install] Error 2

Attached patches take care of it.

Reproducible: Always

------- Comment #1 From Vaclav Slavik 2008-04-29 10:08:13 0000 -------
Created an attachment (id=151314) [details]
files/gnome-audio-2.22.1-makefile.patch

------- Comment #2 From Vaclav Slavik 2008-04-29 10:08:34 0000 -------
Created an attachment (id=151315) [details]
gnome-audio-2.22.1.ebuild patch to apply the fix

------- Comment #3 From Daniel Gryniewicz 2008-04-29 16:07:55 0000 -------
Hrm.  I cannot reproduce.  It installs fine for me with -j3 on a dualcore (I
ran it in a loop for 37 times).

------- Comment #4 From Vaclav Slavik 2008-04-29 17:47:54 0000 -------
(In reply to comment #3)
> Hrm.  I cannot reproduce.  It installs fine for me with -j3 on a dualcore (I
> ran it in a loop for 37 times).

What can I say? It's the nature of parallel make that a task sometimes finishes
sooner or later *nondeterministically*. The bug is obvious if you understand
how make's dependencies graph works (together with the fact that you cannot
create a file or symlink in nonexistent directory).

FYI, upstream already applied the (no-brainer) patch.

------- Comment #5 From Daniel Gryniewicz 2008-04-29 19:49:33 0000 -------
I didn't say it wasn't broken, just that I couldn't reproduce it.  Hard to test
a fix when you can't reproduce it.

------- Comment #6 From Gilles Dartiguelongue 2008-05-10 15:13:25 0000 -------
2.22.2 which has the fix is now in tree.