[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Problems building and installing qemu v4.1.0-rc1 in sin

From: Markus Armbruster
Subject: Re: [Qemu-devel] Problems building and installing qemu v4.1.0-rc1 in single step
Date: Thu, 11 Jul 2019 17:38:22 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux)

Guenter Roeck <address@hidden> 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


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 $@ 

reply via email to

[Prev in Thread] Current Thread [Next in Thread]