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

Emil Velikov emil.l.velikov at gmail.com
Thu Aug 2 15:51:44 UTC 2018


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


More information about the mesa-dev mailing list