HI Dan,
Thank for the insight , i was able to get through the phony-rebuild
with an alternate mechanism "KERNEL_CONFIG: $(shell find -L
$(KERNEL_SRCDIR)" and the build is passing successfully the only issue now
i am getting is because of the previous change
*#KERNEL_OUT ?= $(if $(filter /%
~%,$(TARGET_OUT_INTERMEDIATES)),,$(realpath
$(OUT_DIR))/../)$(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ*
*KERNEL_OUT ?= $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ*
all the kernel intermidiates are generated in* kernel source * folder as we
have removed the *realpath $(OUT_DIR) *from the equation , generating
kernel intermidiates in *kernel_source *dir is not acceptable, i have tried
all diffrent methods of pointing to the real *"out/target/product/**" * but
with out success, ,
further please help me with the following querry
-> from the link
https://android.googlesource.com/platform/build/+/master/Changes.md#phony_targets
*The target is a real file, but it's outside the output directories.
All outputs from the build system should be within the output directory,
otherwise m clean is unable to clean the build, and future builds may not
work properly*.
:- Does this mean the path to the target file should start with "*out*"
because
i am not getting readonly error only when the path is specified as
*out/target/product/**
*as mentoined by *KERNE_OUT *above , but any other real path "
*/data/home/sumkumar/work/workspace/R/out/target/product/**/obj/KERNEL_OBJ/arch/arm64/boot/Image"
* is
leading to error thrown ?
Please sugget any alternative for this so that the kernel intermidiates are
actually generated in the real *out/target/product/**/obj/KERNEL_OBJ* directory
.
Regards,
Sumit Kumar
On Tuesday, August 11, 2020 at 8:43:40 PM UTC+5:30 [email protected] wrote:
> II
>
> تم الإرسال من هاتف Huawei الخاص بي
>
>
> -------- الرسالة الأصلية --------
> من: 'Dan Willemsen' via Android Building <[email protected]>
> التاريخ: الثلاثاء، ١١ آب، ٢٠٢٠ ١٢:٠٢ ص
> إلى: Android Building <[email protected]>
> الموضوع: Re: [android-building] Replacement for BUILD_BROKEN_PHONY and
> phony-rebuild in android R
>
> but in my case this rebuilding is required .
>
>
> I think this is where we're disconnected. Forcing rebuilds means that
> incremental builds will nearly never be as fast as they should be, as the
> entire tree starting from that phony would need to be rebuilt even if you
> weren't touching anything related to the kernel. Instead, we'd much prefer
> that the rule depended on what it uses, so it'll only be re-executed when
> necessary. That list of dependencies may end up being a significant portion
> of the kernel tree, but that's still better than every build.
>
> This also gets more important as we improve per-action sandboxing to get
> better incremental builds and remote execution / cross-machine caching of
> build actions. We're not there yet, but that's the direction we'd like to
> be heading.
>
> - Dan
>
> On Wed, Jul 29, 2020 at 9:08 AM Sumit Kumar <[email protected]> wrote:
>
> hi all,
> i am trying to build android R but getting the following error in the
> kernel makefile
> * kernel/exynos/AndroidKernel.mk:155: error: writing to readonly
> directory:
> "/data/home/sumkumar/work/workspace/R/out/../out/target/product/**/obj/KERNEL_OBJ/arch/arm64/boot/Image"*
> this was handled in Android Q by using the flag
> "BUILD_BROKEN_PHONY_TARGETS=true" but in R this is depreciated hence cannot
> use the same.
>
> after looking at following link given for phony rules changes from
> google for android R
>
> https://android.googlesource.com/platform/build/+/master/Changes.md#phony_targets
>
> i have updated my Makefile as follows by removing the "../" in the
> erronous path and past the previous error ,
> * #KERNEL_OUT ?= $(if $(filter /%
> ~%,$(TARGET_OUT_INTERMEDIATES)),,$(realpath
> $(OUT_DIR))/../)$(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ*
> *KERNEL_OUT ?= $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ*
>
> but now i am getting errors with phony-rebuild as mentioned below
> *kernel/exynos/AndroidKernel.mk:139: error: real file
> "out/target/product/**/obj/KERNEL_OBJ/.config" depends on PHONY target
> "phony-rebuild"*
> *14:21:04 ckati failed with: exit status 1*
>
>
>
> i understood as phony targets are always dirty hence every file will be
> rebuild which depends on that phony, but in my case this rebuilding is
> required .
> Attaching a snap of the file depicting the same
>
> KERNEL_CONFIG := $(KERNEL_OUT)/.config
>
> KERNEL_CONFIG := $(KERNEL_OUT)/.config
>
>
>
> .PHONY: phony-rebuild
>
>
>
>
>
> $(KERNEL_CONFIG): phony-rebuild
>
> $(show) echo "make $(KERNEL_DEFCONFIG)"
>
> $(MAKE_CONFIG_CMD)
> $(info MAKE_CONFIG_CMD is $(MAKE_CONFIG_CMD))
>
> Please let me know if there is any way to avoid using phony-rebuild and
> replace it with an alternate mechanism.
>
> Regards,
>
> --
> --
> You received this message because you are subscribed to the "Android
> Building" mailing list.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/android-building?hl=en
>
> ---
> You received this message because you are subscribed to the Google Groups
> "Android Building" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/android-building/786689cd-9816-454d-ba1f-bead4944ce3fo%40googlegroups.com
>
> <https://groups.google.com/d/msgid/android-building/786689cd-9816-454d-ba1f-bead4944ce3fo%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
> --
> --
> You received this message because you are subscribed to the "Android
> Building" mailing list.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/android-building?hl=en
>
> ---
> You received this message because you are subscribed to the Google Groups
> "Android Building" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
>
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/android-building/CALQgHdnNEArhZ-NoDSwrmmncaacN8WVFDeekUPYj%3DmUmk4rYiQ%40mail.gmail.com
>
> <https://groups.google.com/d/msgid/android-building/CALQgHdnNEArhZ-NoDSwrmmncaacN8WVFDeekUPYj%3DmUmk4rYiQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>
>
--
--
You received this message because you are subscribed to the "Android Building"
mailing list.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-building?hl=en
---
You received this message because you are subscribed to the Google Groups
"Android Building" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/android-building/03948d45-7e96-4919-b311-5fe0e4abba7cn%40googlegroups.com.