Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 237011 - app-emulation/wine-1.1.4: emake install fails
Summary: app-emulation/wine-1.1.4: emake install fails
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Wine Maintainers
URL: http://bugs.winehq.org/show_bug.cgi?i...
Whiteboard:
Keywords: Inclusion
Depends on:
Blocks:
 
Reported: 2008-09-07 19:43 UTC by Martin von Gagern
Modified: 2008-09-19 17:20 UTC (History)
5 users (show)

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


Attachments
Full Build log (build.log,1.37 MB, text/plain)
2008-09-08 06:10 UTC, Michel Aartsen
Details
The environment configuration file (environment,101.06 KB, text/plain)
2008-09-08 06:10 UTC, Michel Aartsen
Details
depend on install not install-libs for install target (wine-1.1.4-parallel-install.patch,835 bytes, patch)
2008-09-08 08:56 UTC, Martin von Gagern
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Martin von Gagern 2008-09-07 19:43:45 UTC
wine-1.1.4 fails to emerge for me. Looks like a parallel build issue to me, but giving it a try with MAKEOPTS=-j1 will have to wait till tomorrow.

make[2]: Entering directory `/var/tmp/portage/app-emulation/wine-1.1.4/work/wine-1.1.4/dlls/winscard'
/usr/bin/install -c   winscard.dll.so /var/tmp/portage/app-emulation/wine-1.1.4/image//usr/lib/wine/winscard.dll.so
make[2]: Entering directory `/var/tmp/portage/app-emulation/wine-1.1.4/work/wine-1.1.4/dlls/wintab32'
/usr/bin/install -c   wintab32.dll.so /var/tmp/portage/app-emulation/wine-1.1.4/image//usr/lib/wine/wintab32.dll.so
make[2]: Entering directory `/var/tmp/portage/app-emulation/wine-1.1.4/work/wine-1.1.4/dlls/wintab32'
/usr/bin/install -c   wintab32.dll.so /var/tmp/portage/app-emulation/wine-1.1.4/image//usr/lib/wine/wintab32.dll.so
/usr/bin/install: cannot create regular file `/var/tmp/portage/app-emulation/wine-1.1.4/image//usr/lib/wine/wintab32.dll.so': File exists
make[2]: *** [install] Error 1
make[2]: Leaving directory `/var/tmp/portage/app-emulation/wine-1.1.4/work/wine-1.1.4/dlls/wintab32'
make[1]: *** [wintab32/__install__] Error 2
make[1]: *** Waiting for unfinished jobs....
Comment 1 Markus 2008-09-07 22:30:36 UTC
I had the same issue in an amd64 system. With the "-j1" it works.
Comment 2 Vadim 2008-09-08 00:48:39 UTC
same issue in ~x86, with MAKEOPTS=-j1 worked.
Comment 3 Wormo (RETIRED) gentoo-dev 2008-09-08 01:33:06 UTC
Please attach a full build log. From the excerpt, it looks like there is a problem with install stage, which is not what I would expect from a parallel build issue (common problem is compile failures when make targets are missing dependencies). A successful build log with '-j1' could be useful too, for the sake of comparison
Comment 4 Michel Aartsen 2008-09-08 06:10:17 UTC
Created attachment 164876 [details]
Full Build log
Comment 5 Michel Aartsen 2008-09-08 06:10:57 UTC
Created attachment 164878 [details]
The environment configuration file
Comment 6 Michel Aartsen 2008-09-08 06:13:01 UTC
Hi all,

Attached are the requested file.

Best regards,
Michel
Comment 7 Martin von Gagern 2008-09-08 07:50:36 UTC
One intermediate cause of this issue seems to be the fact that make enters the dlls directory twice, once for target "install" and once for target "install-lib". This leads to the install commands being invoked multiple times.

Useful debugging command: "make --dry-run --debug=j install".

I suspect this dependency in the main Makefile to be responsible for the multiple runs:

programs/__install__ programs/__install-lib__: \
    libs tools include dlls/__install-lib__

While it may well be true that the installations of programs only requires the libs to be installed, I think that make has no way of knowing that install implies install-lib in a subdirectory, and therefore schedules both install and install-lib for the dlls subdir. One workaround might be to habe programs/__install__ depend on dlls/__install__, which won't hurt us as we want to install everything recursively in any case. Another workaround might be to drop that line altogether, hoping that the dependency is only a runtime dependency, and not really needed at instalation time.

I'll continue to investigate this, giving preference to the first workaround. As parallel build issues are sometimes difficult to reproduce, I'll have it build quite a few times before I'll be satisified, so this might take a while yet.
Comment 8 Martin von Gagern 2008-09-08 08:41:33 UTC
This here seems to be the upstream commit which introduced the issue:
http://source.winehq.org/git/wine.git/?a=commit;h=ada5e6521bfb0ca5
I'm a bit surprised that this commit dates from 2002 and the relevant dependency was already included in previous wine releases but the issue just surfaced now. Once things are resolved in Gentoo, I guess we should file a bug report upstream.
Comment 9 Martin von Gagern 2008-09-08 08:53:44 UTC
(In reply to comment #8)
> This here seems to be the upstream commit which introduced the issue:
> http://source.winehq.org/git/wine.git/?a=commit;h=ada5e6521bfb0ca5

I was wrong: back then, install-libs was the /only/ dependency, and the install target was not made in the dlls subdir. This was still the case in 1.1.3. Only recently, install got run in the dlls dir as well, along with the ancient install-libs from 2002, thus resulting in the issue at hand. Introduced in http://source.winehq.org/git/wine.git/?a=commit;h=b3ec2e5f95e36aa9
Comment 10 Martin von Gagern 2008-09-08 08:56:59 UTC
Created attachment 164886 [details, diff]
depend on install not install-libs for install target

This patch seems to work, as it survived 10 install phases in a row, ranging from -j2 to -j128. Please include in the portage tree. No revbump needed.
Comment 11 Martin von Gagern 2008-09-08 09:13:57 UTC
(In reply to comment #8)
> I guess we should file a bug report upstream.

Reported as http://bugs.winehq.org/show_bug.cgi?id=15179
Comment 12 Wormo (RETIRED) gentoo-dev 2008-09-08 17:52:51 UTC
Martin, thanks for all your work tracking down the problem and providing a patch. Assigning to maintainers.
Comment 13 Martin von Gagern 2008-09-08 20:37:32 UTC
Upstream already applied my patch, they were really fast:
http://source.winehq.org/git/wine.git/?a=commitdiff;h=78c79ba349deea39

So I'd say that patch the way for Gentoo as well, until the next release comes
along or someone reports any issues with it.
Comment 14 Patrizio Bassi 2008-09-09 18:05:25 UTC
can you apply to portage?
Comment 15 Peter Volkov (RETIRED) gentoo-dev 2008-09-10 05:20:02 UTC
Thank you for report and digging the patch. Patch was added to CVS. FIXED.
Comment 16 Murph 2008-09-19 17:20:38 UTC
(In reply to comment #15)
> Thank you for report and digging the patch. Patch was added to CVS. FIXED.
> 

I know this bug is resolved fixed, but 1.1.5 was released today. Please remember to remove this patch when you bump the ebuild =)

Thanks for everything.