Skip to content

Instantly share code, notes, and snippets.

@vinnom
Created May 1, 2020 22:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vinnom/20b0956e8257a2cb90f08d29b49e777d to your computer and use it in GitHub Desktop.
Save vinnom/20b0956e8257a2cb90f08d29b49e777d to your computer and use it in GitHub Desktop.
FAILED: AIDL CHECK API
FAILED: AIDL CHECK API: system/netd/resolv/aidl/dnsresolver/2 against system/netd/resolv/aidl/dnsresolver/1
Outputs: /home/vinnom/Android/rom_dev/roms/validus/out/soong/.intermediates/system/netd/resolv/dnsresolver_aidl_interface-api/checkapi_2.timestamp
Error: exited with code: 1
Command: (/home/vinnom/Android/rom_dev/roms/validus/out/soong/host/linux-x86/bin/aidl --checkapi system/netd/resolv/aidl/dnsresolver/1 system/netd/resolv/aidl/dnsresolver/2 && touch /home/vinnom/Android/rom_dev/roms/validus/out/soong/.intermediates/system/netd/resolv/dnsresolver_aidl_interface-api/checkapi_2.timestamp) || (cat system/tools/aidl/build/message_check_compatibility.txt && exit 1)
Output:
ERROR: system/netd/resolv/aidl/dnsresolver/1: No API file exist
###############################################################################
# ERROR: Backward incompatible change detected on AIDL API #
###############################################################################
Above AIDL file(s) has changed in a backward-incompatible way, e.g. removing
a method from an interface or a field from a parcelable. If a device is shipped
with this change by ignoring this message, it has a high risk of breaking later
when a module using the interface is updated, e.g., Maineline modules.
@ScottHaiden
Copy link

Hey I'm having this same exact problem when I try to build AOSP from source; were you ever able to figure out what caused this and how to get past it? I'm stumped :(

@vinnom
Copy link
Author

vinnom commented May 19, 2020

Hey I'm having this same exact problem when I try to build AOSP from source; were you ever able to figure out what caused this and how to get past it? I'm stumped :(

Hey man, I didn't solve this but the guys working on the source I was building did! Check out this commit, I hope it'll help you =)

@JustSong
Copy link

JustSong commented Dec 21, 2020

I found this build break which may cause by the our filesystem (XFS).

The check_api function will use ( check_api => IoDelegate::ListFiles => add_list_files) to search the aidl file.
This function will check the type of current node. If the current node is DT_DIR type, it will do the search recursively.

But in XFS filesystem it will get the empty type so that we can't get the correct answer.

Ref:
https://stackoverflow.com/a/29094555/9265663
https://stackoverflow.com/questions/39429803/how-to-list-first-level-directories-only-in-c/39430337#39430337

@vinnom
Copy link
Author

vinnom commented Dec 21, 2020

I found this build break which may cause by the our filesystem (XFS).

The check_api function will use ( check_api => IoDelegate::ListFiles => add_list_files) to search the aidl file.
This function will check the type of current node. If the current node is DT_DIR type, it will do the search recursively.

But in XFS filesystem it will get the empty type so that we can't get the correct answer.

Ref:
https://stackoverflow.com/a/29094555/9265663
https://stackoverflow.com/questions/39429803/how-to-list-first-level-directories-only-in-c/39430337#39430337

Hmm regarding the ROM I was compiling ValidusOS, it was fixed on the commit I pointed on previous comment. However, knowing this is clearly relevant and this should make out into AOSP code indeed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment