* [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).