[Mesa-dev] vulkan.radv build trouble w/ AOSP

John Stultz john.stultz at linaro.org
Thu Aug 2 17:40:51 UTC 2018


On Thu, Aug 2, 2018 at 10:25 AM, Mauro Rossi <issor.oruam at gmail.com> wrote:
> Hi,
>
>
> Il giorno gio 2 ago 2018 alle ore 17:51 Emil Velikov
> <emil.l.velikov at gmail.com> ha scritto:
>>
>> On 2 August 2018 at 07:47, Mauro Rossi <issor.oruam at gmail.com> wrote:
>> > Hi,
>> >
>> > Il giorno gio 2 ago 2018 alle ore 02:06 John Stultz
>> > <john.stultz at linaro.org>
>> > ha scritto:
>> >>
>> >> Just as a heads up, with mesa3d master (plus my other build fixups I
>> >> just sent out), I'm seeing a new build failure when building under
>> >> AOSP/master:
>> >>
>> >> external/mesa3d/src/amd/vulkan/Android.mk: error: vulkan.radv
>> >> (SHARED_LIBRARIES android-arm64) missing libLLVM (SHARED_LIBRARIES
>> >> android-arm64)
>> >> You can set ALLOW_MISSING_DEPENDENCIES=true in your environment if
>> >> this is intentional, but that may defer real problems until later in
>> >> the build.
>> >> external/mesa3d/src/amd/vulkan/Android.mk: error: vulkan.radv
>> >> (SHARED_LIBRARIES android-arm) missing libLLVM (SHARED_LIBRARIES
>> >> android-arm)
>> >> You can set ALLOW_MISSING_DEPENDENCIES=true in your environment if
>> >> this is intentional, but that may defer real problems until later in
>> >> the build.
>> >> build/make/core/main.mk:842: error: exiting from previous errors.
>> >> 22:56:25 ckati failed with: exit status 1
>> >>
>> >> This seems to be coming from the $(call mesa-build-with-llvm) line
>> >> here:
>> >>
>> >> https://github.com/mesa3d/mesa/blob/master/src/amd/vulkan/Android.mk#L144
>> >>
>> >> (as commenting that out avoids the issue)
>> >>
>> >> This gets pulled in as AOSP will check library dependencies for all
>> >> SHARED_LIBRARIES, so that's why the vulkan.radv trips this while other
>> >> "mesa-build-with-llvm" callers don't (they are built as
>> >> STATIC_LIBRARIES).
>> >>
>> >> Last time we had this issue, it was with the libpciaccess library,
>> >> which we solved it by dropping it.
>> >>
>> >> In this case I'm not sure what the best solution might be.
>> >>
>> >> * We could set it as a static library instead?
>> >>
>> >> * Alternatively, it seems we might be able to use the libLLVM_android
>> >> library instead of libLLVM here:
>> >>   https://github.com/mesa3d/mesa/blob/master/Android.mk#L107
>> >>
>> >> Other ideas/suggestions?
>> >>
>> >> thanks
>> >> -john
>> >
>> >
>> > A couple of ideas, but not yet tested in a build
>> >
>> > option 3) - use LOCAL_MODULE_TARGET_ARCH in the local vulkan.radv
>> > Android.mk
>> > and see if that solves the problem
>> >
>> > option 4) - brace the 'include $(LOCAL_PATH)/vulkan/Android.mk' in
>> > vulkan.radv src/amd/Android.mk in like this:
>> >
>> >  # Import variables
>> >  include $(LOCAL_PATH)/Makefile.sources
>> >  include $(LOCAL_PATH)/Android.addrlib.mk
>> >  include $(LOCAL_PATH)/Android.common.mk
>> > +ifneq ($(filter radeonsi,$(BOARD_GPU_DRIVERS)),)
>> > include $(LOCAL_PATH)/vulkan/Android.mk
>> > +endif
>> >
>> > I think the option 4) seems simpler than the others , if the assumption
>> > that
>> > ARM does not have radeonsi stands
>> > Mauro
>> >
>> Such a guard sounds perfectly reasonable IMHO.
>>
>> Note that ANV does not have equivalent hunk, although it will be a great
>> idea.
>> IIRC the lack of it, is the core reason behind xgettext workaround
>> that John sent out recently.
>>
>> Thanks
>> Emil
>
>
> Thanks,
> I will submit to mesa-dev and Cc: "18.2" mesa-stable to have it in the
> 18.2.0 release.
> John, is it ok for you?

Yea. I just tried it and option 4 does seem to avoid the issue!

Thanks so much for the quick turnaround!
-john


More information about the mesa-dev mailing list