* [Qemu-devel] Problems building and installing qemu v4.1.0-rc1 in single step @ 2019-07-10 22:01 Guenter Roeck 2019-07-11 1:07 ` Guenter Roeck 0 siblings, 1 reply; 7+ messages in thread From: Guenter Roeck @ 2019-07-10 22:01 UTC (permalink / raw) To: qemu-devel Hi, when trying to run "make -j30 install" from a clean tree on v4.1.0-rc0, I get _lots_ of undefined symbol errors. If I run "make -j30" followed by "make -j30 install", make succeeds, but then I get linker errors such as the following when running "make -j30 install". /usr/bin/ld: final link failed: File truncated /usr/bin/ld: BFD (GNU Binutils for Ubuntu) 2.26.1 internal error, aborting at ../../bfd/merge.c:905 in _bfd_merged_section_offset Running "make -j30" followed by "make install" succeeds. This looks like "make install" may have bad dependencies. Has anyone else experienced this problem ? Thanks, Guenter ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] Problems building and installing qemu v4.1.0-rc1 in single step 2019-07-10 22:01 [Qemu-devel] Problems building and installing qemu v4.1.0-rc1 in single step Guenter Roeck @ 2019-07-11 1:07 ` Guenter Roeck 2019-07-11 7:48 ` Philippe Mathieu-Daudé 0 siblings, 1 reply; 7+ messages in thread From: Guenter Roeck @ 2019-07-11 1:07 UTC (permalink / raw) To: qemu-devel On Wed, Jul 10, 2019 at 03:01:53PM -0700, Guenter Roeck wrote: > Hi, > > when trying to run "make -j30 install" from a clean tree on v4.1.0-rc0, I get > _lots_ of undefined symbol errors. > > If I run "make -j30" followed by "make -j30 install", make succeeds, but then > I get linker errors such as the following when running "make -j30 install". > > /usr/bin/ld: final link failed: File truncated > /usr/bin/ld: BFD (GNU Binutils for Ubuntu) 2.26.1 internal error, > aborting at ../../bfd/merge.c:905 in _bfd_merged_section_offset > > Running "make -j30" followed by "make install" succeeds. > Correction: This doesn't always work either. Sometimes I still get a linker error. If that happens, another round of "make; make install" succeeds. Guenter > This looks like "make install" may have bad dependencies. Has anyone else > experienced this problem ? > > Thanks, > Guenter ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] Problems building and installing qemu v4.1.0-rc1 in single step 2019-07-11 1:07 ` Guenter Roeck @ 2019-07-11 7:48 ` Philippe Mathieu-Daudé 2019-07-11 13:33 ` Guenter Roeck 0 siblings, 1 reply; 7+ messages in thread From: Philippe Mathieu-Daudé @ 2019-07-11 7:48 UTC (permalink / raw) To: Guenter Roeck, qemu-devel, Markus Armbruster, Daniel P. Berrange, Alex Bennée Hi Guenter, Cc'ing Markus/Dan/Alex On 7/11/19 3:07 AM, Guenter Roeck wrote: > On Wed, Jul 10, 2019 at 03:01:53PM -0700, Guenter Roeck wrote: >> Hi, >> >> when trying to run "make -j30 install" from a clean tree on v4.1.0-rc0, I get >> _lots_ of undefined symbol errors. >> >> If I run "make -j30" followed by "make -j30 install", make succeeds, but then >> I get linker errors such as the following when running "make -j30 install". Seems similar to this report: https://lists.gnu.org/archive/html/qemu-devel/2019-07/msg01860.html >> >> /usr/bin/ld: final link failed: File truncated >> /usr/bin/ld: BFD (GNU Binutils for Ubuntu) 2.26.1 internal error, >> aborting at ../../bfd/merge.c:905 in _bfd_merged_section_offset This seems new, what is your host? "File truncated" reminds me out-of-space issues. FWIW sometimes I'm having some weird issue when calling "make check-tcg". Docker is used to build target binaries, but apparently it tries to compile some host object instead and fails, but I don't reach the linking. Just to clear this out, do you see any docker started? >> >> Running "make -j30" followed by "make install" succeeds. >> > > Correction: This doesn't always work either. Sometimes I still get a linker > error. If that happens, another round of "make; make install" succeeds. > > Guenter > >> This looks like "make install" may have bad dependencies. Has anyone else >> experienced this problem ? >> >> Thanks, >> Guenter > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] Problems building and installing qemu v4.1.0-rc1 in single step 2019-07-11 7:48 ` Philippe Mathieu-Daudé @ 2019-07-11 13:33 ` Guenter Roeck 2019-07-11 15:38 ` Markus Armbruster 0 siblings, 1 reply; 7+ messages in thread From: Guenter Roeck @ 2019-07-11 13:33 UTC (permalink / raw) To: Philippe Mathieu-Daudé, qemu-devel, Markus Armbruster, Daniel P. Berrange, Alex Bennée Hi, On 7/11/19 12:48 AM, Philippe Mathieu-Daudé wrote: > Hi Guenter, > > Cc'ing Markus/Dan/Alex > > On 7/11/19 3:07 AM, Guenter Roeck wrote: >> On Wed, Jul 10, 2019 at 03:01:53PM -0700, Guenter Roeck wrote: >>> Hi, >>> >>> when trying to run "make -j30 install" from a clean tree on v4.1.0-rc0, I get >>> _lots_ of undefined symbol errors. >>> >>> If I run "make -j30" followed by "make -j30 install", make succeeds, but then >>> I get linker errors such as the following when running "make -j30 install". > > Seems similar to this report: > https://lists.gnu.org/archive/html/qemu-devel/2019-07/msg01860.html > Yes, that looks like the same problem. Reverting the following commits fixes the problem for me. 8d358a5 Makefile: Fix "make clean" in "unconfigured" source directory (possibly for context to be able to revert the next patch) 1338a4b Makefile: Reuse all's recursion machinery for clean and install >>> >>> /usr/bin/ld: final link failed: File truncated >>> /usr/bin/ld: BFD (GNU Binutils for Ubuntu) 2.26.1 internal error, >>> aborting at ../../bfd/merge.c:905 in _bfd_merged_section_offset > > This seems new, what is your host? > > "File truncated" reminds me out-of-space issues. > No, the affected file is really truncated (or empty). The file system has some 200+ GB of free space on an NVME drive. The error message above is a side effect. Host is Ubuntu 16.01 running gcc 7.4 with binutils 2.26.1; CPU is Ryzen 2700X. For sure, the internal linker error is a binutils problem, but that should not distract from the real issue. > FWIW sometimes I'm having some weird issue when calling "make > check-tcg". Docker is used to build target binaries, but apparently it > tries to compile some host object instead and fails, but I don't reach > the linking. > Just to clear this out, do you see any docker started? > No, there is nothing virtual involved. Also, again, the problem is only seen with "make -j X". Guenter >>> >>> Running "make -j30" followed by "make install" succeeds. >>> >> >> Correction: This doesn't always work either. Sometimes I still get a linker >> error. If that happens, another round of "make; make install" succeeds. >> >> Guenter >> >>> This looks like "make install" may have bad dependencies. Has anyone else >>> experienced this problem ? >>> >>> Thanks, >>> Guenter >> > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] Problems building and installing qemu v4.1.0-rc1 in single step 2019-07-11 13:33 ` Guenter Roeck @ 2019-07-11 15:38 ` Markus Armbruster 2019-07-11 16:11 ` Guenter Roeck 0 siblings, 1 reply; 7+ messages in thread From: Markus Armbruster @ 2019-07-11 15:38 UTC (permalink / raw) To: Guenter Roeck Cc: Alex Bennée, Daniel P. Berrange, Philippe Mathieu-Daudé, qemu-devel Guenter Roeck <linux@roeck-us.net> writes: > Hi, > > On 7/11/19 12:48 AM, Philippe Mathieu-Daudé wrote: >> Hi Guenter, >> >> Cc'ing Markus/Dan/Alex >> >> On 7/11/19 3:07 AM, Guenter Roeck wrote: >>> On Wed, Jul 10, 2019 at 03:01:53PM -0700, Guenter Roeck wrote: >>>> Hi, >>>> >>>> when trying to run "make -j30 install" from a clean tree on v4.1.0-rc0, I get >>>> _lots_ of undefined symbol errors. >>>> >>>> If I run "make -j30" followed by "make -j30 install", make succeeds, but then >>>> I get linker errors such as the following when running "make -j30 install". >> >> Seems similar to this report: >> https://lists.gnu.org/archive/html/qemu-devel/2019-07/msg01860.html >> > Yes, that looks like the same problem. > > Reverting the following commits fixes the problem for me. > > 8d358a5 Makefile: Fix "make clean" in "unconfigured" source directory > (possibly for context to be able to revert the next patch) > 1338a4b Makefile: Reuse all's recursion machinery for clean and install Hmm. Target install depends on all. Before commit 1338a4b, the recursion into target directories was in install's recipe: it ran make install in a for-loop. This trivially ensured we run the sub-make install only after completing target all. Since commit 1338a4b, the target recursion is in the dependencies, just like for target all. That's good, but I forgot to add dependencies to ensure make runs the sub-make install only after completing target all. Can you try the appended patch for me? I'm having difficulties reproducing the bug locally. [...] diff --git a/Makefile b/Makefile index 1fcbaed62c..09b77e8a7b 100644 --- a/Makefile +++ b/Makefile @@ -522,6 +522,7 @@ $(ROM_DIRS_RULES): recurse-all: $(addsuffix /all, $(TARGET_DIRS) $(ROM_DIRS)) recurse-clean: $(addsuffix /clean, $(TARGET_DIRS) $(ROM_DIRS)) recurse-install: $(addsuffix /install, $(TARGET_DIRS)) +$(addsuffix /install, $(TARGET_DIRS)): all $(BUILD_DIR)/version.o: $(SRC_PATH)/version.rc config-host.h $(call quiet-command,$(WINDRES) -I$(BUILD_DIR) -o $@ $<,"RC","version.o") ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] Problems building and installing qemu v4.1.0-rc1 in single step 2019-07-11 15:38 ` Markus Armbruster @ 2019-07-11 16:11 ` Guenter Roeck 2019-07-12 6:02 ` Markus Armbruster 0 siblings, 1 reply; 7+ messages in thread From: Guenter Roeck @ 2019-07-11 16:11 UTC (permalink / raw) To: Markus Armbruster Cc: Alex Bennée, Daniel P. Berrange, Philippe Mathieu-Daudé, qemu-devel On Thu, Jul 11, 2019 at 05:38:22PM +0200, Markus Armbruster wrote: > Guenter Roeck <linux@roeck-us.net> writes: > > > Hi, > > > > On 7/11/19 12:48 AM, Philippe Mathieu-Daudé wrote: > >> Hi Guenter, > >> > >> Cc'ing Markus/Dan/Alex > >> > >> On 7/11/19 3:07 AM, Guenter Roeck wrote: > >>> On Wed, Jul 10, 2019 at 03:01:53PM -0700, Guenter Roeck wrote: > >>>> Hi, > >>>> > >>>> when trying to run "make -j30 install" from a clean tree on v4.1.0-rc0, I get > >>>> _lots_ of undefined symbol errors. > >>>> > >>>> If I run "make -j30" followed by "make -j30 install", make succeeds, but then > >>>> I get linker errors such as the following when running "make -j30 install". > >> > >> Seems similar to this report: > >> https://lists.gnu.org/archive/html/qemu-devel/2019-07/msg01860.html > >> > > Yes, that looks like the same problem. > > > > Reverting the following commits fixes the problem for me. > > > > 8d358a5 Makefile: Fix "make clean" in "unconfigured" source directory > > (possibly for context to be able to revert the next patch) > > 1338a4b Makefile: Reuse all's recursion machinery for clean and install > > Hmm. > > Target install depends on all. > > Before commit 1338a4b, the recursion into target directories was in > install's recipe: it ran make install in a for-loop. This trivially > ensured we run the sub-make install only after completing target all. > > Since commit 1338a4b, the target recursion is in the dependencies, just > like for target all. That's good, but I forgot to add dependencies to > ensure make runs the sub-make install only after completing target all. > > Can you try the appended patch for me? I'm having difficulties > reproducing the bug locally. > That fixes the problem for me. I cross-checked several times: Without the patch below, "make -j30 install" fails every time, with the patch applied it passes every time. Please feel free to add Tested-by: Guenter Roeck <linux@roeck-us.net> when you formally submit the patch. Thanks, Guenter > [...] > > diff --git a/Makefile b/Makefile > index 1fcbaed62c..09b77e8a7b 100644 > --- a/Makefile > +++ b/Makefile > @@ -522,6 +522,7 @@ $(ROM_DIRS_RULES): > recurse-all: $(addsuffix /all, $(TARGET_DIRS) $(ROM_DIRS)) > recurse-clean: $(addsuffix /clean, $(TARGET_DIRS) $(ROM_DIRS)) > recurse-install: $(addsuffix /install, $(TARGET_DIRS)) > +$(addsuffix /install, $(TARGET_DIRS)): all > > $(BUILD_DIR)/version.o: $(SRC_PATH)/version.rc config-host.h > $(call quiet-command,$(WINDRES) -I$(BUILD_DIR) -o $@ $<,"RC","version.o") ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] Problems building and installing qemu v4.1.0-rc1 in single step 2019-07-11 16:11 ` Guenter Roeck @ 2019-07-12 6:02 ` Markus Armbruster 0 siblings, 0 replies; 7+ messages in thread From: Markus Armbruster @ 2019-07-12 6:02 UTC (permalink / raw) To: Guenter Roeck Cc: Daniel P. Berrange, Alex Bennée, qemu-devel, Philippe Mathieu-Daudé Guenter Roeck <linux@roeck-us.net> writes: > On Thu, Jul 11, 2019 at 05:38:22PM +0200, Markus Armbruster wrote: >> Guenter Roeck <linux@roeck-us.net> writes: >> >> > Hi, >> > >> > On 7/11/19 12:48 AM, Philippe Mathieu-Daudé wrote: >> >> Hi Guenter, >> >> >> >> Cc'ing Markus/Dan/Alex >> >> >> >> On 7/11/19 3:07 AM, Guenter Roeck wrote: >> >>> On Wed, Jul 10, 2019 at 03:01:53PM -0700, Guenter Roeck wrote: >> >>>> Hi, >> >>>> >> >>>> when trying to run "make -j30 install" from a clean tree on v4.1.0-rc0, I get >> >>>> _lots_ of undefined symbol errors. >> >>>> >> >>>> If I run "make -j30" followed by "make -j30 install", make succeeds, but then >> >>>> I get linker errors such as the following when running "make -j30 install". >> >> >> >> Seems similar to this report: >> >> https://lists.gnu.org/archive/html/qemu-devel/2019-07/msg01860.html >> >> >> > Yes, that looks like the same problem. >> > >> > Reverting the following commits fixes the problem for me. >> > >> > 8d358a5 Makefile: Fix "make clean" in "unconfigured" source directory >> > (possibly for context to be able to revert the next patch) >> > 1338a4b Makefile: Reuse all's recursion machinery for clean and install >> >> Hmm. >> >> Target install depends on all. >> >> Before commit 1338a4b, the recursion into target directories was in >> install's recipe: it ran make install in a for-loop. This trivially >> ensured we run the sub-make install only after completing target all. >> >> Since commit 1338a4b, the target recursion is in the dependencies, just >> like for target all. That's good, but I forgot to add dependencies to >> ensure make runs the sub-make install only after completing target all. >> >> Can you try the appended patch for me? I'm having difficulties >> reproducing the bug locally. >> > > That fixes the problem for me. I cross-checked several times: Without the > patch below, "make -j30 install" fails every time, with the patch applied > it passes every time. Thank you very much! > Please feel free to add > > Tested-by: Guenter Roeck <linux@roeck-us.net> > > when you formally submit the patch. Done. ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2019-07-12 6:03 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-07-10 22:01 [Qemu-devel] Problems building and installing qemu v4.1.0-rc1 in single step Guenter Roeck 2019-07-11 1:07 ` Guenter Roeck 2019-07-11 7:48 ` Philippe Mathieu-Daudé 2019-07-11 13:33 ` Guenter Roeck 2019-07-11 15:38 ` Markus Armbruster 2019-07-11 16:11 ` Guenter Roeck 2019-07-12 6:02 ` Markus Armbruster
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).