http://bugs.winehq.org/show_bug.cgi?id=15179
Summary: Parallel install in multiple jobs as in "make -j99 install" fails Product: Wine Version: 1.1.4 Platform: All URL: https://bugs.gentoo.org/show_bug.cgi?id=237011 OS/Version: All Status: UNCONFIRMED Severity: trivial Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: Martin.vGagern@gmx.net
Installing wine in parallel, like running "make -j99 install", has a high probability of failure. Errors look like this:
make[2]: Entering directory `.../wine-1.1.4/dlls/wintab32' /usr/bin/install -c wintab32.dll.so /usr/lib/wine/wintab32.dll.so make[2]: Entering directory `.../wine-1.1.4/dlls/wintab32' /usr/bin/install -c wintab32.dll.so /usr/lib/wine/wintab32.dll.so /usr/bin/install: cannot create regular file `/usr/lib/wine/wintab32.dll.so': File exists make[2]: *** [install] Error 1 make[2]: Leaving directory `.../wine-1.1.4/dlls/wintab32' make[1]: *** [wintab32/__install__] Error 2 make[1]: *** Waiting for unfinished jobs....
The reason for this is that the dlls subdir is entered twice, once for the target "install" as dlls is part of INSTALLSUBDIRS, and once for the target "install-lib" as required as a dependency of programs/__install__.
The dependency on install-lib has been present in the tree for quite some time now, and was first introduced by Alexandre Julliard in 2002 according to http://source.winehq.org/git/wine.git/?a=commit;h=ada5e6521bfb0ca5
The inclusion of dlls in INSTALLSUBDIRS seems to be a recent modification which was not present in 1.1.3. It's again by Alexandre Julliard according to http://source.winehq.org/git/wine.git/?a=commit;h=b3ec2e5f95e36aa9
The issue surfaced quite frequently on Gentoo Linux, as Gentoo encourages building packages from source and employing parallel builds for this. See also the original report at https://bugs.gentoo.org/show_bug.cgi?id=237011 There you can also find a patch which seems to work around the problem.