https://bugs.winehq.org/show_bug.cgi?id=52770
Bug ID: 52770 Summary: Build failure with "make -j64" in rpcrt4 Product: Wine Version: 7.5 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: rpc Assignee: wine-bugs@winehq.org Reporter: bero@lindev.ch Distribution: ---
Building wine 7.5 (with wine-staging patches, but they shouldn't be relevant to this) with "make -j64" fails with
tools/winebuild/winebuild -b x86_64-w64-mingw32 -w --implib -o dlls/rpcrt4/librpcrt4.delay.a --export \ /home/bero/abf/wine/BUILD/wine-7.5/dlls/rpcrt4/rpcrt4.spec /usr/bin/x86_64-w64-mingw32-dlltool: bfd_open failed reopen stub file: rpcrt4_dll_s00176.o: No such file or directory winebuild: /usr/bin/x86_64-w64-mingw32-dlltool failed with status 1 make: *** [Makefile:297034: dlls/rpcrt4/librpcrt4.delay.a] Error 1
Probably the library is assembled before all object files belonging to it are built.
Building with make (without SMP) works.
https://bugs.winehq.org/show_bug.cgi?id=52770
Sveinar Søpler cybermax@dexter.no changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |cybermax@dexter.no
--- Comment #1 from Sveinar Søpler cybermax@dexter.no --- Is there a change if you build with lesser threads? Eg. make -j8 or something assuming you have a threadripper with 32 cores/64 threads?
And possibly also interesting - distro, gcc and mingw-w64 version.
https://bugs.winehq.org/show_bug.cgi?id=52770
--- Comment #2 from Alexandre Julliard julliard@winehq.org --- These objects file are not created from the makefile. It sounds more like it's running into some kind of resource limit.
https://bugs.winehq.org/show_bug.cgi?id=52770
--- Comment #3 from Sveinar Søpler cybermax@dexter.no --- (In reply to Alexandre Julliard from comment #2)
These objects file are not created from the makefile. It sounds more like it's running into some kind of resource limit.
tmpfs maybe? Just wondering since i got that exact error when building wine on OBS.. Also got a couple of other very strange errors that failed building on OBS with files that was not found, but could not find a error message from the actual compile..
https://bugs.winehq.org/show_bug.cgi?id=52770
Eric Pouech eric.pouech@orange.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 CC| |eric.pouech@orange.fr, | |julliard@winehq.org Status|UNCONFIRMED |NEW
--- Comment #4 from Eric Pouech eric.pouech@orange.fr --- I've run into a similar issue
looking at the compile traces lets me believe that the issue arises when two instances of mingw dlltool run at the same time, and thrashing each other temporary files
indeed, this ugly hack lets the compilation succeeds (it was failing almost always; sometimes on a different DLL) ----------- diff --git a/tools/winebuild/import.c b/tools/winebuild/import.c index c876d51f8e6..8049530a7e5 100644 --- a/tools/winebuild/import.c +++ b/tools/winebuild/import.c @@ -1595,7 +1595,11 @@ static void build_windows_import_lib( const char *lib_na> strarray_add( &args, lib_name ); strarray_add( &args, "-d" ); strarray_add( &args, def_file ); - + strarray_add( &args, "-t" ); + { + char tmp[128]; sprintf(tmp, "%u\n", getpid()); + strarray_add( &args, tmp ); + } switch (target.cpu) { case CPU_i386: ---------- Bernhard, can you test this on your side?
I don't see a simple way to fix it...
https://bugs.winehq.org/show_bug.cgi?id=52770
--- Comment #5 from Eric Pouech eric.pouech@orange.fr --- hmmm thinking about it, doesn't look quite right (or sufficient)
in the dlltool source code, if no -t prefix is given, will generate its own prefix based on pid... need more investigation
https://bugs.winehq.org/show_bug.cgi?id=52770
--- Comment #6 from Eric Pouech eric.pouech@orange.fr --- I'm testing on two environments: E1) with dlltool 2.38-1 E2) with dlltool 2.37-3
I see the error in E1 only <g>
on all env, I run
strace winebuild... <c/l from makefile> -v -v >& log grep exec log
results: ==================== E2) pid 12272] execve("/usr/bin/x86_64-w64-mingw32-dlltool", ["/usr/bin/x86_64-w64-mingw32-dllt"..., "-k", "-y", "dlls/iphlpapi/libiphlpapi.delay."..., "-d", "libiphlpapi.delay-625082dd.def", "-m", "i386:x86-64", "--as-flags=--64"], 0x7ffc19487b48 /* 56 vars */) = 0 [pid 12273] execve("/usr/bin/x86_64-w64-mingw32-as", ["/usr/bin/x86_64-w64-mingw32-as", "--64", "-o", "daesh.o", "daesh.s"], 0x7fffa1e12cf8 /* 56 vars */ <unfinished ...> [pid 12273] <... execve resumed>) = 0 [pid 12274] execve("/usr/bin/x86_64-w64-mingw32-as", ["/usr/bin/x86_64-w64-mingw32-as", "--64", "-o", "daest.o", "daest.s"], 0x7fffa1e12cf8 /* 56 vars */ <unfinished ...> [pid 12274] <... execve resumed>) = 0
==================== E1-without the patch below) execve("tools/winebuild/winebuild", ["tools/winebuild/winebuild", "-b", "x86_64-w64-mingw32", "-w", "--implib", "-o", "dlls/iphlpapi/libiphlpapi.delay."..., "--export", "/home/eric/wine/wine/dlls/iphlpa"..., "-v", "-v"], 0x7ffc4d598b28 /* 54 vars */) = 0 [pid 9078] execve("/usr/bin/x86_64-w64-mingw32-dlltool", ["/usr/bin/x86_64-w64-mingw32-dllt"..., "-k", "-y", "dlls/iphlpapi/libiphlpapi.delay."..., "-d", "libiphlpapi.delay-6250734a.def", "-m", "i386:x86-64", "--as-flags=--64"], 0x7ffd66663948 /* 54 vars */) = 0 [pid 9079] execve("/usr/bin/x86_64-w64-mingw32-as", ["/usr/bin/x86_64-w64-mingw32-as", "--64", "-o", "iphlpapi_dll_h.o", "iphlpapi_dll_h.s"], 0x7ffd4c406e08 /* 54 vars */ <unfinished ...> [pid 9079] <... execve resumed>) = 0 [pid 9080] execve("/usr/bin/x86_64-w64-mingw32-as", ["/usr/bin/x86_64-w64-mingw32-as", "--64", "-o", "iphlpapi_dll_t.o", "iphlpapi_dll_t.s"], 0x7ffd4c406e08 /* 54 vars */ <unfinished ...> [pid 9080] <... execve resumed>) = 0
==================== E1-with the patch above) execve("tools/winebuild/winebuild", ["tools/winebuild/winebuild", "-b", "x86_64-w64-mingw32", "-w", "--implib", "-o", "dlls/iphlpapi/libiphlpapi.delay."..., "--export", "/home/eric/wine/wine/dlls/iphlpa"..., "-v", "-v"], 0x7ffd5925c228 /* 54 vars */) = 0 [pid 9601] execve("/usr/bin/x86_64-w64-mingw32-dlltool", ["/usr/bin/x86_64-w64-mingw32-dllt"..., "-k", "-y", "dlls/iphlpapi/libiphlpapi.delay."..., "-d", "libiphlpapi.delay-6250774f.def", "-t", "9600\n", "-m", "i386:x86-64", "--as-flags=--64"], 0x7fff84ee6468 /* 54 vars */) = 0 [pid 9602] execve("/usr/bin/x86_64-w64-mingw32-as", ["/usr/bin/x86_64-w64-mingw32-as", "--64", "-o", "9600\nh.o", "9600\nh.s"], 0x7ffdc7cf0c98 /* 54 vars */ <unfinished ...> [pid 9602] <... execve resumed>) = 0 [pid 9603] execve("/usr/bin/x86_64-w64-mingw32-as", ["/usr/bin/x86_64-w64-mingw32-as", "--64", "-o", "9600\nt.o", "9600\nt.s"], 0x7ffdc7cf0c98 /* 54 vars */ <unfinished ...> [pid 9603] <... execve resumed>) = 0
to summarize, binutils 2.38 no longer generates a temp file name dependant on the pid... using the -t options forces back the regular behavior...
Bernhard, Sveinar: could you also look at the dlltool --version output to see if this converges to 2.38*
looks I have to dig further into binutils source code
https://bugs.winehq.org/show_bug.cgi?id=52770
--- Comment #7 from Eric Pouech eric.pouech@orange.fr --- https://sourceware.org/bugzilla/show_bug.cgi?id=28885
so it's a known issue in 2.38 and fixed in 2.39 backport to 2.38 to be checked
https://bugs.winehq.org/show_bug.cgi?id=52770
--- Comment #8 from Sveinar Søpler cybermax@dexter.no --- (In reply to Eric Pouech from comment #7)
https://sourceware.org/bugzilla/show_bug.cgi?id=28885
so it's a known issue in 2.38 and fixed in 2.39 backport to 2.38 to be checked
So, this seems to be the patch then? https://sourceware.org/git/?p=binutils-gdb.git;a=patch;h=99852365513266afdd7...
binutils-38 for jammy was updated 23/3-22, but could not find anything in the debian patches nor the changelog for this.
https://bugs.winehq.org/show_bug.cgi?id=52770
--- Comment #9 from Eric Pouech eric.pouech@orange.fr ---
binutils-38 for jammy was updated 23/3-22, but could not find anything in the debian patches nor the changelog for this.
that's what I meant with "backport to 2.38 to be checked"... not sure <put here your favorite distro> will post an update for this change
https://bugs.winehq.org/show_bug.cgi?id=52770
--- Comment #10 from Eric Pouech eric.pouech@orange.fr --- (In reply to Eric Pouech from comment #9)
binutils-38 for jammy was updated 23/3-22, but could not find anything in the debian patches nor the changelog for this.
that's what I meant with "backport to 2.38 to be checked"... not sure <put here your favorite distro> will post an update for this change
and to be precise, one should check the binutils version on which mingw's dlltool is built upon (not the binutils version for the ELF compilation, which may be on a different version)
x86_64-w64-mingw32-dlltool --version i686-w64-mingw32-dlltool --version
https://bugs.winehq.org/show_bug.cgi?id=52770
Lorenzo Ferrillo lorenzofer@live.it changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |lorenzofer@live.it
--- Comment #11 from Lorenzo Ferrillo lorenzofer@live.it --- I can confirm that recompiling mingw-binutils witht his patch https://sourceware.org/git/?p=binutils-gdb.git;a=patch;h=99852365513266afdd7... fix the issue
https://bugs.winehq.org/show_bug.cgi?id=52770
Zeb Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dark.shadow4@web.de
--- Comment #12 from Zeb Figura z.figura12@gmail.com --- *** Bug 53011 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=52770
Zeb Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |NOTOURBUG Status|NEW |RESOLVED Component|rpc |-unknown CC| |z.figura12@gmail.com Summary|Build failure with "make |Multithreaded compilation |-j64" in rpcrt4 |fails with binutils 2.38
--- Comment #13 from Zeb Figura z.figura12@gmail.com --- Resolving upstream.
https://bugs.winehq.org/show_bug.cgi?id=52770
Rosanne DiMesio dimesio@earthlink.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dimesio@earthlink.net
--- Comment #14 from Rosanne DiMesio dimesio@earthlink.net --- *** Bug 53024 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=52770
--- Comment #15 from Rosanne DiMesio dimesio@earthlink.net --- I just ran into this trying to build wine-devel-7.9 packages for jammy. The Ubuntu bug is https://bugs.launchpad.net/ubuntu/+source/binutils-mingw-w64/+bug/1971901.
https://bugs.winehq.org/show_bug.cgi?id=52770
Rosanne DiMesio dimesio@earthlink.net changed:
What |Removed |Added ---------------------------------------------------------------------------- See Also| |https://launchpad.net/bugs/ | |1971901
https://bugs.winehq.org/show_bug.cgi?id=52770
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jon9097@gmail.com
--- Comment #16 from Nikolay Sivov bunglehead@gmail.com --- *** Bug 53077 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=52770
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |pixel@hugbox.org
--- Comment #17 from Alexandre Julliard julliard@winehq.org --- *** Bug 53675 has been marked as a duplicate of this bug. ***