Change: Quorum based on "actives" instead of demoting citizens

I know we just got the code done to demote inactive citizens
But demoting citizens is not a nice thing to do, so we decided it's better to just base the quorum on active users, and leave citizens be citizens even if they don't vote.
I think we already have an actives list but not enturely sure how it works.
In any case we keep a list of actives like this

When someone votes, they are added to the actives list, and a timestamp of the vote set. If they're already in the list, the timestamp is updated.
At each cycle, we run through the actives list and remove all citizens that have not voted for 3 cycles or more
At each cycle, we run through the actives list, and count everyone's vote power - or we can count the vote power as we distribute new votes, but the vote power is only added when someone is in the actives list.
This could also be a separate action that runs after votes have been distributed. - however it's easiest to implement.

The point is, we then have the total vote power for a round which is
SUM(active users' vote points)
We can then use the sum of the vote points as a quorum
Quorum is then
(votes for) as a % of total vote points > quorum %
Addendum 1
If someone who is not active suddenly starts voting, then they are entered into the actives table, and their score, prior to the vote, is added to the quorum total.
So let's say user A is inactive and has 45 points. Not in actives list, and so they were not counted for the total vote power of the round.
But then they jump in and vote 15 points on proposal 217
We determine that they're not in the actives table yes, and we add their 45 points to the total.
Addendum 2
Active table will also have to be done for delegate votes meaning a user who delegated their vote, gets refreshed in the actives table whenever their delegatee votes.

@n13 Question here: if we allow inactive citizens to jump in and vote changing the quorum, this could lead to proposals that were near to pass or to fail, to change abruptly on last minute, no?

I believe the Quorum requirement should be nailed down at the beginning of the voting cycle, and it should not change during the cycle.  So, the Quorum requirement for each Category is then [ Sum(Actives) * 0.9 / #ProposalsInCategory ].
{Is that still the formula?}
So... everyone is distributed their Voting tokens each cycle (regardless of Active or Inactive), but the Quorum computation ignores those that haven't voted in most recent three cycles.  Right?
Wondering if you need to take care to include Citizen who have recently evolved, but haven't yet voted.  In some sense they should be considered Active (they are just new), but it's probably ok to think of them as Inactive (since they've never voted).  I could go either way on this point.
With this suggestion, then if people decide to start voting that we're previously Inactive, then they will help to get to Quorum easier.  I see nothing wrong with that.  Comments?


The Subscribe and Unsubscribe button is glitched!

Please verify that this bug has NOT been raised before.

[X] I checked and didn't find a similar issue

Describe the bug*
Clicking the subscribe button on any part/category to subscribe pops up the notification "You have unsubscribed to notifications for this item" even when there was no prior subscription. This same notification pops up when unsubscribing to any part/category "You have unsubscribed to notifications for this item" which is normal however it does not actually unsubscribe. A quick refresh of the page and it will show that you are subscribed again. I have not tested if this is only frontend visual error or if it has actually unsubscribed in the backend. This error can be reproduced in the Demo Inventree website.
Steps to Reproduce

Click Subscribe for any part/category
First error appears "You have unsubscribed to notifications for this item"
Part will successfully subscribe
Click Unsubscribe button for any part/category (part seemingly successfully unsubscribes)
Refresh the page
Second error appears (still subscribed)

Expected behaviour
I expect when I click subscribe for it to show that I have subscribed. I also expect when I click unsubscribe for it to actually unsubscribe
Deployment Method

[X] Docker
[ ] Bare metal

Version Information
Version Information:
InvenTree-Version: 0.14.2
Django Version: 4.2.10
Commit Hash: b807e47
Commit Date: Mar 13 2024
Database: postgresql
Debug-Mode: False
Deployed using Docker: True
Platform: Linux-6.5.0-26-generic-x86_64-with
Installer: DOC
Active plugins: [{'name': 'InvenTreeBarcode', 'slug': 'inventreebarcode', 'version': '2.0.0'}, {'name': 'InvenTreeCoreNotificationsPlugin', 'slug': 'inventreecorenotificationsplugin', 'version': '1.0.0'}, {'name': 'InvenTreeCurrencyExchange', 'slug': 'inventreecurrencyexchange', 'version': '1.0.0'}, {'name': 'InvenTreeLabel', 'slug': 'inventreelabel', 'version': '1.0.0'}, {'name': 'InvenTreeLabelMachine', 'slug': 'inventreelabelmachine', 'version': '1.0.0'}, {'name': 'InvenTreeLabelSheet', 'slug': 'inventreelabelsheet', 'version': '1.0.0'}, {'name': 'DigiKeyPlugin', 'slug': 'digikeyplugin', 'version': '1.0.0'}, {'name': 'LCSCPlugin', 'slug': 'lcscplugin', 'version': '1.0.0'}, {'name': 'MouserPlugin', 'slug': 'mouserplugin', 'version': '1.0.0'}, {'name': 'TMEPlugin', 'slug': 'tmeplugin', 'version': '1.0.0'}]
Please verify if you can reproduce this bug on the demo site.

[X] I can reproduce this bug on the demo site.

Relevant log output
No Relevant Log Output

@E-Hain thanks for reporting - fix should be incoming in https://github.com/inventree/InvenTree/pull/6910


fix(nuxt): fix inconsistent pages/* file scanning order

🔗 Linked issue
#25193
❓ Type of change

[ ] 📖 Documentation (updates to the documentation, readme or JSdoc annotations)
[x] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality like performance)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[ ] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description
Fixed inconsistent pages/* file scanning order on different system locales by explicitly specifying en-US as the locale for sorting.
According to #25193, the pages scanning logic seems to be rely on the fact that users.vue always come before users/index.vue. This is true on en-US, but in that case (th-TH), the users/index.vue come first, making the nested routes feature unusable.
Resolves #25193
📝 Checklist

[x] I have linked an issue or discussion.
[ ] I have added tests (if possible).
[ ] I have updated the documentation accordingly.

Thank you - nice find ❤


Update no.json

I now see i forgot some of the directions.
Sorry :)

Well I could have notcied that as well, thanks for the fix though!


Content modelling/337 ContentBlockEditions can be updated

Changes in this PR
When a user changes an existing Whitehall Edition we want to create a new Whitehall Edition and a new Edition inside Publishing API. The previous Document (created on the first edition) should not be recreated. In Whitehall the Document is updated to point to the new Edition and the title is changed.
Within the Publishing API the title lives on the Edition itself (which threw me at first). Therefore we expect to see the Publishing API Document have its stale_lock_version number increase for each Edition we create.
In the following diagram blue is the result of create, green is the result of an update, red are some of the fields we change along the way:

We retrofit ContentBlockDocument.latest_edition_id and ContentBlockDocument.latest_edition_id as I noticed we weren't able to tell the Document which the latest Edition was - this could be pulled out into another PR
We can't reuse the same _form partial as the create journey, details in the commit
This does not handle multiple users making modifications at the same time, we will deal with that separately
We rename the "Save and continue" button from the create journey to "Save and publish" since we have no draft state. The main driver here was I wanted to repurpose the existing cucumber form helpers and actually the button language makes sense in both create and update flows

Wireframes
https://www.figma.com/design/F2Uq6Ju6fsSk1CEMjXm2va/Content-Modelling?node-id=416-8807&t=O3xRvuT7KEdT4si4-0

What we've got
https://github.com/user-attachments/assets/09791cb7-c575-487d-ac52-7f4482196eb9
We aren't yet at the same point of these wireframes since the change form is the same form for every field. We could break this out into one form per attribute with a patch endpoint which would take a bit more effort.
The problem I see is that we don't have a draft state and are automatically publishing to the Publishing API. To support a form input for each field I think we need to have a draft Edition state that those incremental changes are contributing to.
Without a draft state we will be publishing a new live edition to Whitehall and to Publishing API for every field change. This amount of requests and data created feels excessive and not in the spirit of the existing publishing flow?
And with govuk-docker run publishing-api-app bin/rails c we can hop inside publishing-api to see what changes:

# If you'd like to run the same report as in the screenshot
puts "edition count: #{document.editions.count}", "titles:
#{document.editions.pluck(:title).join("=>")}", "details:
#{document.editions.pluck(:details).join("=>")}",
"document_id: #{document.editions.pluck(:document_id).join("=>")}"

Without a draft state we will be publishing a new live edition to Whitehall and to Publishing API for every field change. This amount of requests and data created feels excessive and not in the spirit of the existing publishing flow?

Ah I hadn't totally clocked that an Edition can't be updated if it is published already (if I understand that correctly).
Sounds like starting to add a 'state machine' on an edition like Whitehall's workflow.rb will be helpful for drafts and for scheduling publication https://github.com/alphagov/whitehall/blob/8ffdfa177159b45fe00173f57f74ce4ed1df08cc/app/models/concerns/edition/workflow.rb

@Harriethw I've pushed two extra commits for validation shaped work:
https://github.com/alphagov/whitehall/pull/9286/commits/922aea5ca55e82fcf88bc22c0ccd694fbc9ff5e9
https://github.com/alphagov/whitehall/pull/9286/commits/e7146c91310bb6567770f7f06d51321ffbdd4b5d
And updated the video demo to the latest version so we can see it working.
Could you give me another quick review please 🙏


Expose C handle for MDBX transaction

This is necessary for Silkworm execution within Erigon

@canepat did release v0.27.16 you can use it in erigon's devel


X Unable to locate Android SDK

Logs

Based on your screenshot, it looks like you've got Android Studio installed. What path is your Android SDK installed to? The flutter tool looks in the most likely default install locations, specifically C:\Users\Your.name\AppData\Local\Android\Sdk or at the path specified by %ANDROID_HOME%.
Setting the %ANDROID_HOME% environment variable should allow flutter to locate the SDK.

@cbracken  Thanks for your reply
if I set ANDROID_HOME  and flutter doctor is running perfectly, but if i close the cmd prompt and reopen and  run flutter doctor I face the same issue

@RaghunathAndroid to set environment variables that persist across sessions, you'll need to set them in the Control Panel. You can find details in this StackOverflow article:
https://superuser.com/questions/284342/what-are-path-and-other-environment-variables-and-how-can-i-set-or-use-them
Closing since that should get you unblocked. Let us know if not!


Error when installing CLI

Hi all,
Excited to use this tool! I noticed this error when I just tried installing census-data-downloader:
Traceback (most recent call last):
  File "/Users/williamsa/.local/share/virtualenvs/fema-X3N8u1-d/bin/censusdatadownloader", line 6, in <module>
    from census_data_downloader.cli import cmd
  File "/Users/williamsa/.local/share/virtualenvs/fema-X3N8u1-d/lib/python3.7/site-packages/census_data_downloader/__init__.py", line 5, in <module>
    from .tables import TABLE_LIST
ModuleNotFoundError: No module named 'census_data_downloader.tables'

I tried installing via pipx and pipenv and received the same error.

Hmm. Will investigate.

Something has gone wrong in how PyPI has packaged up the subfolders in the distro. Can fix.

I think I got it. Install v0.0.13. Just need to correct some bugs in my setup.py file.


Improve history mode server configuration documentation to include non-root publicPath

What problem does this feature solve?
The documentation for HTML5 History Mode - Example Server Configurations assumes all apps are running at the document root (ie /). Apps using a non-root publicPath are going to struggle with these config examples.
What does the proposed API look like?
Update the examples to include <publicPath> placeholders, eg
nginx
location <publicPath> {
  try_files $uri $uri/ <publicPath>/index.html;
}

I think we can add a small paragraph at the beginning, before all examples, saying that they are targeting deployments at root / and then point out about the publicPath option in CLI and relate it to base in router options


Remove tagging migration check job

This was used by Finding Things to ensure content-api and content store
remained in sync during migration to the new tagging architecture. It is
no longer needed.
trello https://trello.com/c/rhWfVErY/689-clean-up-remove-old-tagging-migration-checker-endpoints

👍 good to go


Remove weaveutil and weave from Dockerfile.cloud-agent

Moves the weave and weaveutil from Dockerfile.cloud-agent to
Dockerfile.scope
Fixes #3341

Thanks!  I've kicked off full integration tests.
Have you done any analysis to check there are no dependencies left, or are you relying on the statement in #3341

@bboreham right now I'm relying on the references from the issue. But can you help me to test this out? I was not able to find instructions to build this images and run them.

If you build scope locally (you might have to merge from master to pull in #3382 for the build to pass), does running ./scope launch and pointing the browser at it work for you? I'm getting an empty browser window.

I tried out the cloud-agent image in our test cluster, and it worked fine.
I also did the following analysis:
In weaveworks/scope directory:
grep -nH -w weave -r . --include=*.go --exclude-dir=vendor --exclude=*test.go

This gives us 76 candidate matches, of which many are in tests and comments.
After eliminating all non-matches, the only use of weave is in common/weave/client.go:

client.Expose() calls weave ps and weave expose
client.Expose() is called by updateDNS().
updateDNS() is called by NewWeavePublisher()
NewWeavePublisher() is called from prog/app.go

so I conclude that it is indeed only used in the app.
Thanks!


Feature requests

Hi
Just discovered this great extension and see a couple things missing that would make it perfect.

A hover zoom feature. It's already an image extension, it would be a natural fit, and make it a fully well-rounded extension to add the usual "hover zoom", so that we don't have to also install yet another extension (hover zoom+, which has a history of malware) just for a hover zoom feature.
Ability to use Imgur instead of only imgbb (bonus if we can also use our own self hosted solution (ie something like Cheveretto on Docker)
Stamps. Some basic ones like you'd see in a default snagit installation. like numbers, emoti's, and I don't know if it's possible, but add our own, for something like a quick watermark.
Zoom ability when using the "paint" window.
Some tools in the paint window should automatically also use a select ability. ie when I go to use the pixilize tool, I repeatedly kept accidentally painting on the image and having to undo, because I'm so used to so many other tools that automatically allow you to select and pixilize in the same click and drag movement.

Just noting that these aren't complaints per-se, I love it so far; just think these additions would make it perfect, and like it should be included as a default built right into the browser itself! :)

Hello @YouveGotMeowxy 👋
Thanks so much for your feedback! I'm really glad you enjoyed BetterViewer.
I'd just like to thank you for taking the time to write this feature requests. ❤
I will try my best to make these features!

Hi
Just discovered this great extension and see a couple things missing that would make it perfect.

A hover zoom feature. It's already an image extension, it would be a natural fit, and make it a fully well-rounded extension to add the usual "hover zoom", so that we don't have to also install yet another extension (hover zoom+, which has a history of malware) just for a hover zoom feature.
Ability to use Imgur instead of only imgbb (bonus if we can also use our own self hosted solution (ie something like Cheveretto on Docker)
Stamps. Some basic ones like you'd see in a default snagit installation. like numbers, emoti's, and I don't know if it's possible, but add our own, for something like a quick watermark.
Zoom ability when using the "paint" window.
Some tools in the paint window should automatically also use a select ability. ie when I go to use the pixilize tool, I repeatedly kept accidentally painting on the image and having to undo, because I'm so used to so many other tools that automatically allow you to select and pixilize in the same click and drag movement.

Just noting that these aren't complaints per-se, I love it so far; just think these additions would make it perfect, and like it should be included as a default built right into the browser itself! :)

@YouveGotMeowxy Hello again :)
I've added some new features in 1.0.4
You can (Adjust, Draw, Watermark, Filters, Finetune, Resize, Export As PNG, JPEG, JPG, WEBP)
In short, I've added your suggestions (3, 4 and 5)
Waiting for your reply. Thank you

@Ademking Thank you!


Android support

Hey folks,
I'm trying to run bpftop for Android. However, cross build --target aarch64-linux-android complains about missing dependencies:
  Package libelf was not found in the pkg-config search path.
  Perhaps you should add the directory containing `libelf.pc'
  to the PKG_CONFIG_PATH environment variable
  No package 'libelf' found
  Package zlib was not found in the pkg-config search path.
  Perhaps you should add the directory containing `zlib.pc'
  to the PKG_CONFIG_PATH environment variable
  No package 'zlib' found

Full log

$ cross build --target aarch64-linux-android
   Compiling libbpf-sys v1.4.5+v1.4.5
   Compiling serde_json v1.0.117
   Compiling semver v1.0.23
   Compiling camino v1.1.6
   Compiling cargo-platform v0.1.8
   Compiling paste v1.0.15
   Compiling lazy_static v1.4.0
   Compiling hashbrown v0.14.5
   Compiling crc32fast v1.4.0
   Compiling tempfile v3.10.1
   Compiling signal-hook-mio v0.2.4
error: failed to run custom build command for `libbpf-sys v1.4.5+v1.4.5`

Caused by:
  process didn't exit successfully: `/target/debug/build/libbpf-sys-6f15d7e7e0be20a0/build-script-build` (exit status: 101)
  --- stdout
  Using feature vendored-libbpf=true
  Using feature vendored-libelf=false
  Using feature vendored-zlib=false
  Using feature static-libbpf=true
  Using feature static-libelf=false
  Using feature static-zlib=false
  OPT_LEVEL = Some(0)
  TARGET = Some(x86_64-unknown-linux-gnu)
  OUT_DIR = Some(/target/debug/build/libbpf-sys-c47ac4da8a510944/out)
  HOST = Some(x86_64-unknown-linux-gnu)
  cargo:rerun-if-env-changed=CC_x86_64-unknown-linux-gnu
  CC_x86_64-unknown-linux-gnu = None
  cargo:rerun-if-env-changed=CC_x86_64_unknown_linux_gnu
  CC_x86_64_unknown_linux_gnu = None
  cargo:rerun-if-env-changed=HOST_CC
  HOST_CC = None
  cargo:rerun-if-env-changed=CC
  CC = None
  cargo:rerun-if-env-changed=CC_ENABLE_DEBUG_OUTPUT
  RUSTC_WRAPPER = None
  cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
  CRATE_CC_NO_DEFAULTS = None
  DEBUG = Some(true)
  CARGO_CFG_TARGET_FEATURE = Some(fxsr,sse,sse2)
  cargo:rerun-if-env-changed=CFLAGS_x86_64-unknown-linux-gnu
  CFLAGS_x86_64-unknown-linux-gnu = None
  cargo:rerun-if-env-changed=CFLAGS_x86_64_unknown_linux_gnu
  CFLAGS_x86_64_unknown_linux_gnu = None
  cargo:rerun-if-env-changed=HOST_CFLAGS
  HOST_CFLAGS = None
  cargo:rerun-if-env-changed=CFLAGS
  CFLAGS = None
  cargo:rerun-if-env-changed=LIBBPF_SYS_EXTRA_CFLAGS
    CC       /target/debug/build/libbpf-sys-c47ac4da8a510944/out/obj/staticobjs/bpf.o
    CC       /target/debug/build/libbpf-sys-c47ac4da8a510944/out/obj/staticobjs/libbpf.o
    CC       /target/debug/build/libbpf-sys-c47ac4da8a510944/out/obj/staticobjs/netlink.o
    CC       /target/debug/build/libbpf-sys-c47ac4da8a510944/out/obj/staticobjs/libbpf_errno.o
    CC       /target/debug/build/libbpf-sys-c47ac4da8a510944/out/obj/staticobjs/bpf_prog_linfo.o
    CC       /target/debug/build/libbpf-sys-c47ac4da8a510944/out/obj/staticobjs/nlattr.o
    CC       /target/debug/build/libbpf-sys-c47ac4da8a510944/out/obj/staticobjs/btf.o
    CC       /target/debug/build/libbpf-sys-c47ac4da8a510944/out/obj/staticobjs/libbpf_probes.o

  --- stderr
  Package libelf was not found in the pkg-config search path.
  Perhaps you should add the directory containing `libelf.pc'
  to the PKG_CONFIG_PATH environment variable
  No package 'libelf' found
  Package zlib was not found in the pkg-config search path.
  Perhaps you should add the directory containing `zlib.pc'
  to the PKG_CONFIG_PATH environment variable
  No package 'zlib' found
  In file included from libbpf_errno.c:15:
  libbpf_internal.h:19:10: fatal error: libelf.h: No such file or directory
     19 | #include <libelf.h>
        |          ^~~~~~~~~~
  In file included from bpf.c:37:
  libbpf_internal.h:19:10: fatal error: libelf.h: No such file or directory
     19 | #include <libelf.h>
        |          ^~~~~~~~~~
  compilation terminated.
  compilation terminated.
  In file included from bpf_prog_linfo.c:9:
  libbpf_internal.h:19:10: fatal error: libelf.h: No such file or directory
     19 | #include <libelf.h>
        |          ^~~~~~~~~~
  make: *** [Makefile:134: /target/debug/build/libbpf-sys-c47ac4da8a510944/out/obj/staticobjs/bpf.o] Error 1
  make: *** Waiting for unfinished jobs....
  compilation terminated.
  make: *** [Makefile:134: /target/debug/build/libbpf-sys-c47ac4da8a510944/out/obj/staticobjs/libbpf_errno.o] Error 1
  make: *** [Makefile:134: /target/debug/build/libbpf-sys-c47ac4da8a510944/out/obj/staticobjs/bpf_prog_linfo.o] Error 1
  In file included from nlattr.c:14:
  libbpf_internal.h:19:10: fatal error: libelf.h: No such file or directory
     19 | #include <libelf.h>
        |          ^~~~~~~~~~
  compilation terminated.
  make: *** [Makefile:134: /target/debug/build/libbpf-sys-c47ac4da8a510944/out/obj/staticobjs/nlattr.o] Error 1
  In file included from libbpf_probes.c:19:
  libbpf_internal.h:19:10: fatal error: libelf.h: No such file or directory
     19 | #include <libelf.h>
        |          ^~~~~~~~~~
  compilation terminated.
  make: *** [Makefile:134: /target/debug/build/libbpf-sys-c47ac4da8a510944/out/obj/staticobjs/libbpf_probes.o] Error 1
  btf.c:18:10: fatal error: gelf.h: No such file or directory
     18 | #include <gelf.h>
        |          ^~~~~~~~
  compilation terminated.
  make: *** [Makefile:134: /target/debug/build/libbpf-sys-c47ac4da8a510944/out/obj/staticobjs/btf.o] Error 1
  In file included from netlink.c:19:
  libbpf_internal.h:19:10: fatal error: libelf.h: No such file or directory
     19 | #include <libelf.h>
        |          ^~~~~~~~~~
  compilation terminated.
  make: *** [Makefile:134: /target/debug/build/libbpf-sys-c47ac4da8a510944/out/obj/staticobjs/netlink.o] Error 1
  libbpf.c:46:10: fatal error: libelf.h: No such file or directory
     46 | #include <libelf.h>
        |          ^~~~~~~~~~
  compilation terminated.
  make: *** [Makefile:134: /target/debug/build/libbpf-sys-c47ac4da8a510944/out/obj/staticobjs/libbpf.o] Error 1
  thread 'main' panicked at /cargo/registry/src/index.crates.io-6f17d22bba15001f/libbpf-sys-1.4.5+v1.4.5/build.rs:384:5:
  make failed
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
error: failed to run custom build command for `libbpf-sys v1.4.5+v1.4.5`

Caused by:
  process didn't exit successfully: `/target/debug/build/libbpf-sys-01a070735fb8823c/build-script-build` (exit status: 101)
  --- stdout
  Using feature vendored-libbpf=true
  Using feature vendored-libelf=false
  Using feature vendored-zlib=false
  Using feature static-libbpf=true
  Using feature static-libelf=false
  Using feature static-zlib=false
  OPT_LEVEL = Some(0)
  TARGET = Some(aarch64-linux-android)
  OUT_DIR = Some(/target/aarch64-linux-android/debug/build/libbpf-sys-93eecc92c6e48137/out)
  HOST = Some(x86_64-unknown-linux-gnu)
  cargo:rerun-if-env-changed=CC_aarch64-linux-android
  CC_aarch64-linux-android = None
  cargo:rerun-if-env-changed=CC_aarch64_linux_android
  CC_aarch64_linux_android = Some(aarch64-linux-android-gcc)
  RUSTC_WRAPPER = None
  cargo:rerun-if-env-changed=CC_ENABLE_DEBUG_OUTPUT
  cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
  CRATE_CC_NO_DEFAULTS = None
  DEBUG = Some(true)
  cargo:rerun-if-env-changed=CFLAGS_aarch64-linux-android
  CFLAGS_aarch64-linux-android = None
  cargo:rerun-if-env-changed=CFLAGS_aarch64_linux_android
  CFLAGS_aarch64_linux_android = None
  cargo:rerun-if-env-changed=TARGET_CFLAGS
  TARGET_CFLAGS = None
  cargo:rerun-if-env-changed=CFLAGS
  CFLAGS = None
  cargo:rerun-if-env-changed=LIBBPF_SYS_EXTRA_CFLAGS
    CC       /target/aarch64-linux-android/debug/build/libbpf-sys-93eecc92c6e48137/out/obj/staticobjs/btf.o
    CC       /target/aarch64-linux-android/debug/build/libbpf-sys-93eecc92c6e48137/out/obj/staticobjs/bpf.o
    CC       /target/aarch64-linux-android/debug/build/libbpf-sys-93eecc92c6e48137/out/obj/staticobjs/libbpf_errno.o
    CC       /target/aarch64-linux-android/debug/build/libbpf-sys-93eecc92c6e48137/out/obj/staticobjs/netlink.o
    CC       /target/aarch64-linux-android/debug/build/libbpf-sys-93eecc92c6e48137/out/obj/staticobjs/nlattr.o
    CC       /target/aarch64-linux-android/debug/build/libbpf-sys-93eecc92c6e48137/out/obj/staticobjs/libbpf_probes.o
    CC       /target/aarch64-linux-android/debug/build/libbpf-sys-93eecc92c6e48137/out/obj/staticobjs/libbpf.o
    CC       /target/aarch64-linux-android/debug/build/libbpf-sys-93eecc92c6e48137/out/obj/staticobjs/bpf_prog_linfo.o

  --- stderr
  Package libelf was not found in the pkg-config search path.
  Perhaps you should add the directory containing `libelf.pc'
  to the PKG_CONFIG_PATH environment variable
  No package 'libelf' found
  Package zlib was not found in the pkg-config search path.
  Perhaps you should add the directory containing `zlib.pc'
  to the PKG_CONFIG_PATH environment variable
  No package 'zlib' found
  In file included from libbpf_probes.c:5:
  In file included from /android-ndk/bin/../sysroot/usr/include/fcntl.h:38:
  /android-ndk/bin/../sysroot/usr/include/linux/uio.h:24:8: error: field has incomplete type 'void'
    void __user * iov_base;
         ^
  /android-ndk/bin/../sysroot/usr/include/linux/uio.h:24:14: error: expected ';' at end of declaration list
    void __user * iov_base;
               ^
  In file included from In file included from netlink.cbpf.c::276:
  :
  In file included from In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h/android-ndk/bin/../sysroot/usr/include/unistd.h::3434:
  :
  In file included from In file included from /android-ndk/bin/../sysroot/usr/include/sys/select.h/android-ndk/bin/../sysroot/usr/include/sys/select.h::4040:
  :
  In file included from In file included from /android-ndk/bin/../sysroot/usr/include/signal.h:/android-ndk/bin/../sysroot/usr/include/signal.h37::
  37In file included from :
  /android-ndk/bin/../sysroot/usr/include/bits/signal_types.hIn file included from :/android-ndk/bin/../sysroot/usr/include/bits/signal_types.h42::
  42In file included from :
  /android-ndk/bin/../sysroot/usr/include/linux/signal.hIn file included from :/android-ndk/bin/../sysroot/usr/include/linux/signal.h21::
  In file included from 21/android-ndk/bin/../sysroot/usr/include/aarch64-linux-android/asm/signal.h:
  :In file included from 24/android-ndk/bin/../sysroot/usr/include/aarch64-linux-android/asm/signal.h:
  :In file included from 24/android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:
  :In file included from 81/android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:
  :81/android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:
  :/android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h33::2833:: 28error::  errorexpected ';' after top level declarator:
  expected ';' after top level declarator
  typedef __signalfn_t __user * __sighandler_t;typedef __signalfn_t __user * __sighandler_t;

                             ^                           ^

  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:35:23: error: typedef redefinition with different types ('__restorefn_t' (aka 'void (void)') vs '__signalfn_t' (aka 'void (int)'))
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:35:23: error: typedef redefinition with different types ('__restorefn_t' (aka 'void (void)') vs '__signalfn_t' (aka 'void (int)'))
  typedef __restorefn_t __user * __sigrestore_t;
                        ^
  typedef __restorefn_t __user * __sigrestore_t;/android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h
  :                      ^
  33:22:/android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h :note33: :22: previous definition is herenote
  : previous definition is here
  typedef __signalfn_t __user * __sighandler_t;
                       ^
  typedef __signalfn_t __user * __sighandler_t;
                       ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:35:29:/android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h error:: 35:expected ';' after top level declarator29
  : error: expected ';' after top level declarator
  typedef __restorefn_t __user * __sigrestore_t;typedef __restorefn_t __user * __sigrestore_t;
                              ^

                              ^
  In file included from netlink.c:6:
  In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h:34:
  In file included from /android-ndk/bin/../sysroot/usr/include/sys/select.h:40:
  In file included from /android-ndk/bin/../sysroot/usr/include/signal.h:37:
  In file included from /android-ndk/bin/../sysroot/usr/include/bits/signal_types.h:42:
  In file included from /android-ndk/bin/../sysroot/usr/include/linux/signal.h:21:
  In file included from /android-ndk/bin/../sysroot/usr/include/aarch64-linux-android/asm/signal.h:24:
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:86:3: error: unknown type name '__sighandler_t'
    __sighandler_t sa_handler;
    ^
  In file included from bpf.c:27:
  In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h:34:
  In file included from /android-ndk/bin/../sysroot/usr/include/sys/select.h:40:
  In file included from /android-ndk/bin/../sysroot/usr/include/signal.h:37:
  In file included from /android-ndk/bin/../sysroot/usr/include/bits/signal_types.h:42:
  In file included from /android-ndk/bin/../sysroot/usr/include/linux/signal.h:21:
  In file included from /android-ndk/bin/../sysroot/usr/include/aarch64-linux-android/asm/signal.h:24:
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:86:3: error: unknown type name '__sighandler_t'
    __sighandler_t sa_handler;
    ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:89:3: error: unknown type name '__sigrestore_t'
    __sigrestore_t sa_restorer;
    ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:94:8: error: field has incomplete type 'void'
    void __user * ss_sp;
         ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:94:14: error: expected ';' at end of declaration list
    void __user * ss_sp;
               ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:89:3: error: unknown type name '__sigrestore_t'
    __sigrestore_t sa_restorer;
    ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:94:8: error: field has incomplete type 'void'
    void __user * ss_sp;
         ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:94:14: error: expected ';' at end of declaration list
    void __user * ss_sp;
               ^
  In file included from netlink.c:6:
  In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h:34:
  In file included from /android-ndk/bin/../sysroot/usr/include/sys/select.h:40:
  In file included from /android-ndk/bin/../sysroot/usr/include/signal.h:37:
  In file included from /android-ndk/bin/../sysroot/usr/include/bits/signal_types.h:42:
  In file included from /android-ndk/bin/../sysroot/usr/include/linux/signal.h:22:
  In file included from /android-ndk/bin/../sysroot/usr/include/aarch64-linux-android/asm/siginfo.h:19:
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:25:8: error: field has incomplete type 'void'
    void __user * sival_ptr;
         ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:25:14: error: expected ';' at end of declaration list
    void __user * sival_ptr;
               ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:61:10: error: field has incomplete type 'void'
      void __user * _addr;
           ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:61:16: error: expected ';' at end of declaration list
      void __user * _addr;
                 ^
  In file included from bpf.c:27:
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.hIn file included from /android-ndk/bin/../sysroot/usr/include/unistd.h::3475:
  :In file included from /android-ndk/bin/../sysroot/usr/include/sys/select.h14::40 :
  errorIn file included from /android-ndk/bin/../sysroot/usr/include/signal.h: :field has incomplete type 'void'37
  :
  In file included from /android-ndk/bin/../sysroot/usr/include/bits/signal_types.h:42:
  In file included from /android-ndk/bin/../sysroot/usr/include/linux/signal.h:22:
  In file included from /android-ndk/bin/../sysroot/usr/include/aarch64-linux-android/asm/siginfo.h:19:
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h        void __user * _lower;:
  25:             ^8:
   error: field has incomplete type 'void'
    void __user * sival_ptr;
         ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:75:20: error: expected ';' at end of declaration list
          void __user * _lower;
                     ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:76:14: error: field has incomplete type 'void'
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:        void __user * _upper;25
  :             ^14
  : error: /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.hexpected ';' at end of declaration list:
  76:14: error: duplicate member '__user'
    void __user * sival_ptr;/android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h
  :             ^75
  :14: note: previous declaration is here
          void __user * _lower;
               ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:76:20: error: expected ';' at end of declaration list
          void __user * _upper;
                     ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:61:10: error: field has incomplete type 'void'
      void __user * _addr;
           ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:61:16:/android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h error:: expected ';' at end of declaration list89
  :10: error: field has incomplete type 'void'
      void __user * _addr;
                 ^
      void __user * _call_addr;
           ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:89:16: error: expected ';' at end of declaration list
      void __user * _call_addr;
                 ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:75:14: error: field has incomplete type 'void'
          void __user * _lower;
               ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:75:20: error: expected ';' at end of declaration list
          void __user * _lower;
                     ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:76:14: error: field has incomplete type 'void'
          void __user * _upper;
               ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:76:14: error: duplicate member '__user'
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:75:14: note: previous declaration is here
          void __user * _lower;
               ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:76:20: error: expected ';' at end of declaration list
          void __user * _upper;
                     ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:89:10: error: field has incomplete type 'void'
      void __user * _call_addr;
           ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:89:16: error: expected ';' at end of declaration list
      void __user * _call_addr;
                 ^
  In file included from netlink.c:6:
  In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h:34:
  In file included from /android-ndk/bin/../sysroot/usr/include/sys/select.h:40:
  In file included from /android-ndk/bin/../sysroot/usr/include/signal.h:37:
  /android-ndk/bin/../sysroot/usr/include/bits/signal_types.h:56:9: error: unknown type name '__sighandler_t'
  typedef __sighandler_t sig_t; /* BSD compatibility. */
          ^
  In file included from bpf.c:27:
  In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h:34:
  In file included from /android-ndk/bin/../sysroot/usr/include/sys/select.h:40:
  In file included from /android-ndk/bin/../sysroot/usr/include/signal.h:37:
  /android-ndk/bin/../sysroot/usr/include/bits/signal_types.h:56:9: error: unknown type name '__sighandler_t'
  typedef __sighandler_t sig_t; /* BSD compatibility. */
          ^
  fatal error: too many errors emitted, stopping now [-ferror-limit=]
  fatal error: too many errors emitted, stopping now [-ferror-limit=]
  In file included from btf.c:9:
  In file included from /android-ndk/bin/../sysroot/usr/include/fcntl.h:38:
  /android-ndk/bin/../sysroot/usr/include/linux/uio.h:24:8: error: field has incomplete type 'void'
    void __user * iov_base;
         ^
  /android-ndk/bin/../sysroot/usr/include/linux/uio.h:24:14: error: expected ';' at end of declaration list
    void __user * iov_base;
               ^
  In file included from libbpf_probes.c:8:
  In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h:34:
  In file included from /android-ndk/bin/../sysroot/usr/include/sys/select.h:40:
  In file included from /android-ndk/bin/../sysroot/usr/include/signal.h:37:
  In file included from /android-ndk/bin/../sysroot/usr/include/bits/signal_types.h:42:
  In file included from /android-ndk/bin/../sysroot/usr/include/linux/signal.h:21:
  In file included from /android-ndk/bin/../sysroot/usr/include/aarch64-linux-android/asm/signal.h:24:
  In file included from /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:81:
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:33:28: error: expected ';' after top level declarator
  typedef __signalfn_t __user * __sighandler_t;
                             ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:35:23: error: typedef redefinition with different types ('__restorefn_t' (aka 'void (void)') vs '__signalfn_t' (aka 'void (int)'))
  typedef __restorefn_t __user * __sigrestore_t;
                        ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:33:22: note: previous definition is here
  typedef __signalfn_t __user * __sighandler_t;
                       ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:35:29: error: expected ';' after top level declarator
  typedef __restorefn_t __user * __sigrestore_t;
                              ^
  In file included from libbpf.c:23:
  In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h:34:
  In file included from /android-ndk/bin/../sysroot/usr/include/sys/select.h:40:
  In file included from /android-ndk/bin/../sysroot/usr/include/signal.h:37:
  In file included from /android-ndk/bin/../sysroot/usr/include/bits/signal_types.h:42:
  In file included from /android-ndk/bin/../sysroot/usr/include/linux/signal.h:21:
  In file included from /android-ndk/bin/../sysroot/usr/include/aarch64-linux-android/asm/signal.h:24:
  In file included from /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:81:
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:33:28: error: expected ';' after top level declarator
  typedef __signalfn_t __user * __sighandler_t;
                             ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:35:23: error: typedef redefinition with different types ('__restorefn_t' (aka 'void (void)') vs '__signalfn_t' (aka 'void (int)'))
  typedef __restorefn_t __user * __sigrestore_t;
                        ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:33:22: note: previous definition is here
  typedef __signalfn_t __user * __sighandler_t;
                       ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:35:29: error: expected ';' after top level declarator
  typedef __restorefn_t __user * __sigrestore_t;
                              ^
  In file included from libbpf_probes.c:8:
  In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h:34:
  In file included from /android-ndk/bin/../sysroot/usr/include/sys/select.h:40:
  In file included from /android-ndk/bin/../sysroot/usr/include/signal.h:37:
  In file included from /android-ndk/bin/../sysroot/usr/include/bits/signal_types.h:42:
  In file included from /android-ndk/bin/../sysroot/usr/include/linux/signal.h:21:
  In file included from /android-ndk/bin/../sysroot/usr/include/aarch64-linux-android/asm/signal.h:24:
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:86:3: error: unknown type name '__sighandler_t'
    __sighandler_t sa_handler;
    ^
  In file included from libbpf.c:23:
  In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h:34:
  In file included from /android-ndk/bin/../sysroot/usr/include/sys/select.h:40/android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:
  In file included from :/android-ndk/bin/../sysroot/usr/include/signal.h89::373:
  :In file included from  /android-ndk/bin/../sysroot/usr/include/bits/signal_types.herror:: 42unknown type name '__sigrestore_t':

  In file included from /android-ndk/bin/../sysroot/usr/include/linux/signal.h:21:
  In file included from /android-ndk/bin/../sysroot/usr/include/aarch64-linux-android/asm/signal.h:24:
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:86:  __sigrestore_t sa_restorer;3
  :  ^
  error: unknown type name '__sighandler_t'
    __sighandler_t sa_handler;
    ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:94:8: error: field has incomplete type 'void'
    void __user * ss_sp;
         ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:94:14: error: expected ';' at end of declaration list
    void __user * ss_sp;
               ^
  In file included from bpf_prog_linfo.c:9:
  In file included from ./libbpf_internal.h:16:
  In file included from /android-ndk/bin/../sysroot/usr/include/fcntl.h:38:
  /android-ndk/bin/../sysroot/usr/include/linux/uio.h:24:8: error: field has incomplete type 'void'
    void __user * iov_base;
         ^
  In file included from libbpf_probes.c:8:
  In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h:34:
  In file included from /android-ndk/bin/../sysroot/usr/include/sys/select.h:40:
  In file included from /android-ndk/bin/../sysroot/usr/include/signal.h:37:
  In file included from /android-ndk/bin/../sysroot/usr/include/bits/signal_types.h:42:
  In file included from /android-ndk/bin/../sysroot/usr/include/linux/signal.h:22:
  In file included from /android-ndk/bin/../sysroot/usr/include/aarch64-linux-android/asm/siginfo.h:19:
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:25:8: error: field has incomplete type 'void'
    void __user * sival_ptr;
         ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:25:14: error: expected ';' at end of declaration list
    void __user * sival_ptr;
               ^
  /android-ndk/bin/../sysroot/usr/include/linux/uio.h:24:14: error: expected ';' at end of declaration list
    void __user * iov_base;
               ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:61:10: error: field has incomplete type 'void'
      void __user * _addr;
           ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:61:16: error: expected ';' at end of declaration list
      void __user * _addr;
                 ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:75:14: error: field has incomplete type 'void'
          void __user * _lower;
               ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:75:20: error: expected ';' at end of declaration list
          void __user * _lower;
                     ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h/android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:76::14:89 :error3: :field has incomplete type 'void'
  error: unknown type name '__sigrestore_t'
          void __user * _upper;
               ^
    __sigrestore_t sa_restorer;
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h  ^:
  76:14: error: duplicate member '__user'
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:75:14: note: previous declaration is here
          void __user * _lower;
               ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:94:8: error: field has incomplete type 'void'
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:76:20: error:   void __user * ss_sp;expected ';' at end of declaration list

         ^
          void __user * _upper;
                     ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:94:14: error: expected ';' at end of declaration list
    void __user * ss_sp;
               ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:89:10: error: field has incomplete type 'void'
      void __user * _call_addr;
           ^
  fatal error: too many errors emitted, stopping now [-ferror-limit=]
  In file included from libbpf.c:23:
  In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h:34:
  In file included from /android-ndk/bin/../sysroot/usr/include/sys/select.h:40:
  In file included from /android-ndk/bin/../sysroot/usr/include/signal.h:37:
  In file included from /android-ndk/bin/../sysroot/usr/include/bits/signal_types.h:42:
  In file included from /android-ndk/bin/../sysroot/usr/include/linux/signal.h:22:
  In file included from /android-ndk/bin/../sysroot/usr/include/aarch64-linux-android/asm/siginfo.h:19:
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:25:8: error: field has incomplete type 'void'
    void __user * sival_ptr;
         ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:25:14: error: expected ';' at end of declaration list
    void __user * sival_ptr;
               ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:61:10: error: field has incomplete type 'void'
      void __user * _addr;
           ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:61:16: error: expected ';' at end of declaration list
      void __user * _addr;
                 ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:75:14: error: field has incomplete type 'void'
          void __user * _lower;
               ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:75:20: error: expected ';' at end of declaration list
          void __user * _lower;
                     ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:76:14: error: field has incomplete type 'void'
          void __user * _upper;
               ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:76:14: error: duplicate member '__user'
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:75:14: note: previous declaration is here
          void __user * _lower;
               ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:76:20: error: expected ';' at end of declaration list
          void __user * _upper;
                     ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:89:10: error: field has incomplete type 'void'
      void __user * _call_addr;
           ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:89:16: error: expected ';' at end of declaration list
      void __user * _call_addr;
                 ^
  In file included from libbpf.c:23:
  In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h:34:
  In file included from /android-ndk/bin/../sysroot/usr/include/sys/select.h:40:
  In file included from /android-ndk/bin/../sysroot/usr/include/signal.h:37:
  /android-ndk/bin/../sysroot/usr/include/bits/signal_types.h:56:9: error: unknown type name '__sighandler_t'
  typedef __sighandler_t sig_t; /* BSD compatibility. */
          ^
  fatal error: too many errors emitted, stopping now [-ferror-limit=]
  In file included from libbpf_errno.c:15:
  In file included from ./libbpf_internal.h:16:
  In file included from /android-ndk/bin/../sysroot/usr/include/fcntl.h:38:
  /android-ndk/bin/../sysroot/usr/include/linux/uio.h:24:8: error: field has incomplete type 'void'
    void __user * iov_base;
         ^
  In file included from btf.c:10:
  In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h:34:
  In file included from /android-ndk/bin/../sysroot/usr/include/sys/select.h:40:
  In file included from /android-ndk/bin/../sysroot/usr/include/signal.h:37:
  In file included from /android-ndk/bin/../sysroot/usr/include/bits/signal_types.h:42:
  In file included from /android-ndk/bin/../sysroot/usr/include/linux/signal.h:21:
  In file included from /android-ndk/bin/../sysroot/usr/include/aarch64-linux-android/asm/signal.h:24:
  In file included from /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:81:
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:33:28: error: expected ';' after top level declarator
  typedef __signalfn_t __user * __sighandler_t;
                             ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:35:23: error: typedef redefinition with different types ('__restorefn_t' (aka 'void (void)') vs '__signalfn_t' (aka 'void (int)'))
  typedef __restorefn_t __user * __sigrestore_t;
                        ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:33:22: note: previous definition is here
  typedef __signalfn_t __user * __sighandler_t;
                       ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:35:29: error: expected ';' after top level declarator
  typedef __restorefn_t __user * __sigrestore_t;
                              ^
  /android-ndk/bin/../sysroot/usr/include/linux/uio.h:24:14: error: expected ';' at end of declaration list
    void __user * iov_base;
               ^
  In file included from btf.c:10:
  In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h:34:
  In file included from /android-ndk/bin/../sysroot/usr/include/sys/select.h:40:
  In file included from /android-ndk/bin/../sysroot/usr/include/signal.h:37:
  In file included from /android-ndk/bin/../sysroot/usr/include/bits/signal_types.h:42:
  In file included from /android-ndk/bin/../sysroot/usr/include/linux/signal.h:21:
  In file included from /android-ndk/bin/../sysroot/usr/include/aarch64-linux-android/asm/signal.h:24:
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:86:3: error: unknown type name '__sighandler_t'
    __sighandler_t sa_handler;
    ^
  In file included from In file included from /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:bpf_prog_linfo.cnlattr.c89:::93:
  14::
  In file included from  In file included from error./libbpf_internal.h./libbpf_internal.h: ::1716unknown type name '__sigrestore_t':
  :

  In file included from In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h/android-ndk/bin/../sysroot/usr/include/fcntl.h::3438:
  :
  In file included from /android-ndk/bin/../sysroot/usr/include/linux/uio.h/android-ndk/bin/../sysroot/usr/include/sys/select.h::2440::
  8In file included from :/android-ndk/bin/../sysroot/usr/include/signal.h :  __sigrestore_t sa_restorer;error37
  :
    ^: In file included from
  /android-ndk/bin/../sysroot/usr/include/bits/signal_types.hfield has incomplete type 'void':
  42:
  In file included from /android-ndk/bin/../sysroot/usr/include/linux/signal.h:21:
  In file included from /android-ndk/bin/../sysroot/usr/include/aarch64-linux-android/asm/signal.h:24:
  In file included from /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:81:
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:  void __user * iov_base;33
  :       ^28
  : error: expected ';' after top level declarator/android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h
  :94:8: error: field has incomplete type 'void'
    void __user * ss_sp;typedef __signalfn_t __user * __sighandler_t;

                             ^       ^

  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:94:/android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h14:: 35error:: 23expected ';' at end of declaration list:
   error: typedef redefinition with different types ('__restorefn_t' (aka 'void (void)') vs '__signalfn_t' (aka 'void (int)'))
    void __user * ss_sp;
               ^
  typedef __restorefn_t __user * __sigrestore_t;
                        ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:33:22: note: previous definition is here
  typedef __signalfn_t __user * __sighandler_t;
                       ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:35:29: error: expected ';' after top level declarator
  typedef __restorefn_t __user * __sigrestore_t;
                              ^
  /android-ndk/bin/../sysroot/usr/include/linux/uio.h:24:14: error: expected ';' at end of declaration list
    void __user * iov_base;
               ^
  In file included from btf.c:10:
  In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h:34:
  In file included from /android-ndk/bin/../sysroot/usr/include/sys/select.h:40:
  In file included from /android-ndk/bin/../sysroot/usr/include/signal.h:37:
  In file included from /android-ndk/bin/../sysroot/usr/include/bits/signal_types.h:42:
  In file included from /android-ndk/bin/../sysroot/usr/include/linux/signal.h:22:
  In file included from /android-ndk/bin/../sysroot/usr/include/aarch64-linux-android/asm/siginfo.h:19:
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:25:8: error: field has incomplete type 'void'
    void __user * sival_ptr;
         ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:25:14: error: expected ';' at end of declaration list
    void __user * sival_ptr;
               ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:61:10: error: field has incomplete type 'void'
      void __user * _addr;
           ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:61:16: error: expected ';' at end of declaration list
      void __user * _addr;
                 ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:75:14: error: field has incomplete type 'void'
          void __user * _lower;
               ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:75:20: error: expected ';' at end of declaration list
          void __user * _lower;
                     ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:76:14: error: field has incomplete type 'void'
          void __user * _upper;
               ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:76:14: error: duplicate member '__user'
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:75:14: note: previous declaration is here
          void __user * _lower;
               ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:76:20: error: expected ';' at end of declaration list
          void __user * _upper;
                     ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:89:10: error: field has incomplete type 'void'
      void __user * _call_addr;
           ^
  fatal error: too many errors emitted, stopping now [-ferror-limit=]
  In file included from bpf_prog_linfo.c:9:
  In file included from ./libbpf_internal.h:17:
  In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h:34:
  In file included from /android-ndk/bin/../sysroot/usr/include/sys/select.h:40:
  In file included from /android-ndk/bin/../sysroot/usr/include/signal.h:37:
  In file included from /android-ndk/bin/../sysroot/usr/include/bits/signal_types.h:42:
  In file included from /android-ndk/bin/../sysroot/usr/include/linux/signal.h:21:
  In file included from /android-ndk/bin/../sysroot/usr/include/aarch64-linux-android/asm/signal.h:24:
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:86:3: error: unknown type name '__sighandler_t'
    __sighandler_t sa_handler;
    ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:89:3: error: unknown type name '__sigrestore_t'
    __sigrestore_t sa_restorer;
    ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:94:8: error: field has incomplete type 'void'
    void __user * ss_sp;
         ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:94:14: error: expected ';' at end of declaration list
    void __user * ss_sp;
               ^
  In file included from bpf_prog_linfo.c:9:
  In file included from ./libbpf_internal.h:17:
  In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h:34:
  In file included from /android-ndk/bin/../sysroot/usr/include/sys/select.h:40:
  In file included from /android-ndk/bin/../sysroot/usr/include/signal.h:37:
  In file included from /android-ndk/bin/../sysroot/usr/include/bits/signal_types.h:42:
  In file included from /android-ndk/bin/../sysroot/usr/include/linux/signal.h:22:
  In file included from /android-ndk/bin/../sysroot/usr/include/aarch64-linux-android/asm/siginfo.h:19:
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:25:8: error: field has incomplete type 'void'
    void __user * sival_ptr;
         ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:25:14: error: expected ';' at end of declaration list
    void __user * sival_ptr;
               ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:61:10: error: field has incomplete type 'void'
      void __user * _addr;
           ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:61:16: error: expected ';' at end of declaration list
      void __user * _addr;
                 ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:75:14: error: field has incomplete type 'void'
          void __user * _lower;
               ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:75:20: error: expected ';' at end of declaration list
          void __user * _lower;
                     ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:76:14: error: field has incomplete type 'void'
          void __user * _upper;
               ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:76:14: error: duplicate member '__user'
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:75:14: note: previous declaration is here
          void __user * _lower;
               ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:76:20: error: expected ';' at end of declaration list
          void __user * _upper;
                     ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:89:10: error: field has incomplete type 'void'
      void __user * _call_addr;
           ^
  fatal error: too many errors emitted, stopping now [-ferror-limit=]
  In file included from libbpf_errno.c:15:
  In file included from ./libbpf_internal.h:17:
  In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h:34:
  In file included from /android-ndk/bin/../sysroot/usr/include/sys/select.h:40:
  In file included from /android-ndk/bin/../sysroot/usr/include/signal.h:37:
  In file included from /android-ndk/bin/../sysroot/usr/include/bits/signal_types.h:42:
  In file included from /android-ndk/bin/../sysroot/usr/include/linux/signal.h:21:
  In file included from /android-ndk/bin/../sysroot/usr/include/aarch64-linux-android/asm/signal.h:24:
  In file included from /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:81:
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:33:28: error: expected ';' after top level declarator
  typedef __signalfn_t __user * __sighandler_t;
                             ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:35:23: error: typedef redefinition with different types ('__restorefn_t' (aka 'void (void)') vs '__signalfn_t' (aka 'void (int)'))
  typedef __restorefn_t __user * __sigrestore_t;
                        ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:33:22: note: previous definition is here
  typedef __signalfn_t __user * __sighandler_t;
                       ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:35:29: error: expected ';' after top level declarator
  typedef __restorefn_t __user * __sigrestore_t;
                              ^
  In file included from libbpf_errno.c:15:
  In file included from ./libbpf_internal.h:17:
  In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h:34:
  In file included from /android-ndk/bin/../sysroot/usr/include/sys/select.h:40:
  In file included from /android-ndk/bin/../sysroot/usr/include/signal.h:37:
  In file included from /android-ndk/bin/../sysroot/usr/include/bits/signal_types.h:42:
  In file included from /android-ndk/bin/../sysroot/usr/include/linux/signal.h:21:
  In file included from /android-ndk/bin/../sysroot/usr/include/aarch64-linux-android/asm/signal.h:24:
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:86:3: error: unknown type name '__sighandler_t'
  In file included from nlattr.c:14:
  In file included from ./libbpf_internal.h:17:
  In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h:34:
  In file included from   __sighandler_t sa_handler;/android-ndk/bin/../sysroot/usr/include/sys/select.h
  :40  ^:

  In file included from /android-ndk/bin/../sysroot/usr/include/signal.h:37:
  In file included from /android-ndk/bin/../sysroot/usr/include/bits/signal_types.h:42:
  In file included from /android-ndk/bin/../sysroot/usr/include/linux/signal.h:21:
  In file included from /android-ndk/bin/../sysroot/usr/include/aarch64-linux-android/asm/signal.h:24:
  In file included from /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:81:
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:33:28: error: expected ';' after top level declarator
  typedef __signalfn_t __user * __sighandler_t;
                             ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:35:23: error: typedef redefinition with different types ('__restorefn_t' (aka 'void (void)') vs '__signalfn_t' (aka 'void (int)'))
  typedef __restorefn_t __user * __sigrestore_t;
                        ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:33:22: note: previous definition is here
  typedef __signalfn_t __user * __sighandler_t;
                       ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:35:29: error: expected ';' after top level declarator
  typedef __restorefn_t __user * __sigrestore_t;
                              ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:89:3: error: unknown type name '__sigrestore_t'
    __sigrestore_t sa_restorer;
    ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:94:8: error: field has incomplete type 'void'
    void __user * ss_sp;
         ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:94:14: error: expected ';' at end of declaration list
    void __user * ss_sp;
               ^
  In file included from nlattr.c:14:
  In file included from ./libbpf_internal.h:17:
  In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h:34:
  In file included from /android-ndk/bin/../sysroot/usr/include/sys/select.h:40:
  In file included from /android-ndk/bin/../sysroot/usr/include/signal.h:37:
  In file included from /android-ndk/bin/../sysroot/usr/include/bits/signal_types.h:42:
  In file included from /android-ndk/bin/../sysroot/usr/include/linux/signal.h:21:
  In file included from /android-ndk/bin/../sysroot/usr/include/aarch64-linux-android/asm/signal.h:24:
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:86:3: error: unknown type name '__sighandler_t'
    __sighandler_t sa_handler;
    ^
  In file included from libbpf_errno.c:15:
  In file included from ./libbpf_internal.h:17:
  In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h:34:
  In file included from /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:89:3: error: unknown type name '__sigrestore_t'
    __sigrestore_t sa_restorer;/android-ndk/bin/../sysroot/usr/include/sys/select.h
    ^
  :/android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:94:8: error: field has incomplete type 'void'
    void __user * ss_sp;
         ^
  40:
  /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.hIn file included from /android-ndk/bin/../sysroot/usr/include/signal.h:37:
  In file included from /android-ndk/bin/../sysroot/usr/include/bits/signal_types.h:42:
  In file included from /android-ndk/bin/../sysroot/usr/include/linux/signal.h:22:
  In file included from /android-ndk/bin/../sysroot/usr/include/aarch64-linux-android/asm/siginfo.h:19:
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:25:8: error: field has incomplete type 'void'
  :  void __user * sival_ptr;
         ^
  94:14: error: expected ';' at end of declaration list
    void __user * ss_sp;
               ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:25:14: errorIn file included from nlattr.c:14:
  In file included from ./libbpf_internal.h:17:
  In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h:34:
  In file included from /android-ndk/bin/../sysroot/usr/include/sys/select.h:40:
  In file included from /android-ndk/bin/../sysroot/usr/include/signal.h:37:
  In file included from /android-ndk/bin/../sysroot/usr/include/bits/signal_types.h:42:
  In file included from /android-ndk/bin/../sysroot/usr/include/linux/signal.h:22:
  In file included from /android-ndk/bin/../sysroot/usr/include/aarch64-linux-android/asm/siginfo.h:19:
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:25:8: error: field has incomplete type 'void'
    void __user * sival_ptr;:
  expected ';' at end of declaration list       ^

    void __user * sival_ptr;
               ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:25:14: error: expected ';' at end of declaration list
    void __user * sival_ptr;
               ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:61:10: error: field has incomplete type 'void'
      void __user * _addr;
           ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:61:10: error: field has incomplete type 'void'
      void __user * _addr;/android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h
  :         ^61
  :16: error: expected ';' at end of declaration list
      void __user * _addr;
                 ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:61:16: error: expected ';' at end of declaration list
      void __user * _addr;
                 ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:75:14: error: field has incomplete type 'void'
          void __user * _lower;
               ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:75:14: error/android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h: :field has incomplete type 'void'
  75:20: error: expected ';' at end of declaration list
          void __user * _lower;
               ^
          void __user * _lower;
                     ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:76:14: error: field has incomplete type 'void'
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:75:20:        void __user * _upper;
  error             ^:
  expected ';' at end of declaration list
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:76:14: error:         void __user * _lower;duplicate member '__user'

                     ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:75:14: note: previous declaration is here
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:76:14: error: field has incomplete type 'void'
          void __user * _lower;
               ^
          void __user * _upper;
               ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:76:14: error: duplicate member '__user'
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:75:14: note/android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h: :previous declaration is here76
  :20: error: expected ';' at end of declaration list
          void __user * _lower;
               ^
          void __user * _upper;
                     ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:76:20: error: expected ';' at end of declaration list
          void __user * _upper;
                     ^
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:89:10: error: field has incomplete type 'void'
      void __user * _call_addr;
           ^
  fatal error: too many errors emitted, stopping now [-ferror-limit=]
  /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:89:10: error: field has incomplete type 'void'
      void __user * _call_addr;
           ^
  fatal error: too many errors emitted, stopping now [-ferror-limit=]
  20 errors generated.
  20 errors generated.
  make: *** [Makefile:134: /target/aarch64-linux-android/debug/build/libbpf-sys-93eecc92c6e48137/out/obj/staticobjs/bpf_prog_linfo.o] Error 1
  make: *** Waiting for unfinished jobs....
  make: *** [Makefile:134: /target/aarch64-linux-android/debug/build/libbpf-sys-93eecc92c6e48137/out/obj/staticobjs/libbpf_errno.o] Error 1
  20 errors generated.
  make: *** [Makefile:134: /target/aarch64-linux-android/debug/build/libbpf-sys-93eecc92c6e48137/out/obj/staticobjs/bpf.o] Error 1
  20 errors generated.
  20 errors generated.
  make: *** [Makefile:134: /target/aarch64-linux-android/debug/build/libbpf-sys-93eecc92c6e48137/out/obj/staticobjs/nlattr.o] Error 1
  make: *** [Makefile:134: /target/aarch64-linux-android/debug/build/libbpf-sys-93eecc92c6e48137/out/obj/staticobjs/libbpf_probes.o] Error 1
  20 errors generated.
  20 errors generated.
  make: *** [Makefile:134: /target/aarch64-linux-android/debug/build/libbpf-sys-93eecc92c6e48137/out/obj/staticobjs/btf.o] Error 1
  make: *** [Makefile:134: /target/aarch64-linux-android/debug/build/libbpf-sys-93eecc92c6e48137/out/obj/staticobjs/netlink.o] Error 1
  20 errors generated.
  make: *** [Makefile:134: /target/aarch64-linux-android/debug/build/libbpf-sys-93eecc92c6e48137/out/obj/staticobjs/libbpf.o] Error 1
  thread 'main' panicked at /cargo/registry/src/index.crates.io-6f17d22bba15001f/libbpf-sys-1.4.5+v1.4.5/build.rs:384:5:
  make failed
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Is it possible to build the software for Android?

@nstepa we are currently blocked by libbpf-sys adding Android support. I pinged the thread https://github.com/libbpf/libbpf-sys/pull/90


Blank screen

Howdy,
I'm in the 7 day free trial and just installed the plugin. When I click on the plugin in extra features it opens to a blank screen.
What do you think could be the cause of the blank screen. It's like the area where it should load is empty.
Also, does it connect to google drive?
The buy button link to paypal doesn't work on your site either (and possible the contact form too).
Thanks
John

Hi John,
Thanks for trying out the plugin. The plugin itself won't support Google Drive because GDrive doesn't support rsync without any third-party plugins. We can't support any services without the use of rsync because the backups are incremental.
About the blank screen; it seems that you are missing one of the requirements, like IonCube for instance, please check the requirements page.

Hi Joey,
I checked the requirements and the only thing missing is the licence key which I can't enter as the page doesn't load.
Did you want me to send you a message or email with details so that you could take a look?

Hi John, you (or any other) can add me on skype<EMAIL_ADDRESS>Let me know if you still have issues.

All solved. TOAD-Joey was fantastic. It turned out to be my install of ioncube loader, so nothing at all wrong with the plugin. Get into it. Support is fantastic and it's the best possible way to backup your data


Show an inconsistent order for the two nodes under 'Local & Attached' between English and Chinese

Storage Explorer Version: 1.11.1
Build: 20191220.2
Branch: master
Language: Chinese (zh-CN)/ Chinses zh-TW/ Korean / Czech / Dutch
Platform/OS: Windows 10/ CentOS 7.6.1810/ MacOS High Sierra
Architecture: ia32/x64
Regression From: Not a regression
Steps to reproduce:

Launch Storage Explorer.
Open 'Settings' -> Application (Regional Settings) -> Select '繁體中文' -> Restart Storage Explorer.
Expand Localized 'Local & Attached'.
Check the order between the localized '(Attached Containers)' and '(Emulator - Default Ports)(Key)'.

Expect Experience:
Show a consistent order for the two nodes.
Actual Experience:
Show an inconsistent order for the two nodes.

ENU Screenshot：

Sending to localization review

Ordering seems not controllable by loc, @craxal could you please take a look?

I'm not 100% sure this is a localization issue.
@MRayermannMSFT @JasonYang-MSFT One of you recently did some work related to node ordering, didn't you? Can either of you check into this?

Let's keep Attached node first, and then the Emulator.

No, I didn't. You may at wrong person.

Fix merged into master.


Fire resistance/weakness component

A component that allows you to specify a multiplier for fire damage. If <1 it would act as resistance, if >1 the fire does more damage.
Likely use a Bukkit listener for fire damage which checks for this component and multiplies the damage accordingly.

Could be an interesting use of traits. Combine this DamageMultiplier component with some damage type classes and you can now specify damage multipliers for all kinds of damage!


lens type signature is incorrect and order of lambda function is reversed

I was using the tutorial, it was very helpful, and couldn't understand Lens without it.
I found an error though...
The tutorial says:
lens :: (a -> b) -> (b -> a -> a) -> Lens' a b
If you follow the link for lens the documentation says:
lens :: (s -> a) -> (s -> a -> s) -> Lens' s a
I think the tutorial should be corrected to be:
lens :: (a -> b) -> (a -> b -> a) -> Lens' a b
And likewise the point example should be changed from:
point :: Lens' Atom Point
point = lens _point (\newPoint atom -> atom { _point = newPoint })
To:
point :: Lens' Atom Point
point = lens _point (\atom newPoint -> atom { _point = newPoint })
Thanks,

Thank you for pointing that out :)

I was just about to report this. I guess it did not make its way to hackage yet?

Thanks for the reminder!  It's up on Hackage now: https://hackage.haskell.org/package/lens-tutorial-1.0.2/docs/Control-Lens-Tutorial.html


iSort fails to output appropriate error when there is too much whitespace after imports

It seems that iSort needs to have some better error output for this specific situation.
Take this python file for example:
import os

some_variable = 2

def test():
    x = os.path.abspath(__file__)
    print(x)

test()

When running isort --check --verbose it returns with this:
$ isort --check --verbose

/#######################################################################\

     `sMMy`
     .yyyy-                                                      `
    ##soos##                                                    ./o.
          `     ``..-..`         ``...`.``         `   ```` ``-ssso```
     .s:-y-   .+osssssso/.     ./ossss+:so+:`    :+o-`/osso:+sssssssso/
     .s::y-   osss+.``.``     -ssss+-.`-ossso`   ssssso/::..::+ssss:::.
     .s::y-   /ssss+//:-.`   `ssss+     `ssss+   sssso`       :ssss`
     .s::y-   `-/+oossssso/  `ssss/      sssso   ssss/        :ssss`
     .y-/y-       ````:ssss`  ossso.    :ssss:   ssss/        :ssss.
     `/so:`    `-//::/osss+   `+ssss+-/ossso:    /sso-        `osssso/.
       \/      `-/oooo++/-      .:/++:/++/-`      ..           `://++/.

         isort your Python imports for you so you don't have to

                            VERSION 4.3.4

\########################################################################/

else-type place_module for os returned STDLIB
ERROR: /Users/fchorney/tmp/isortest/test.py Imports are incorrectly sorted.

if I run iSort diff to see the problem:
$ isort -df test.py
--- test.py:before	2019-02-08 11:03:49.401942
+++ test.py:after	2019-02-08 11:04:03.915694
@@ -1,5 +1,4 @@
 import os
-

 some_variable = 2

While I understand that it is easy to run iSort to see the diff, I don't really think that `Imports are incorrectly sorted" is the correct error message to output to the user.

Fixed in develop to read:
Imports are incorrectly sorted and/or formatted.
will be released with the 5.0.0 release.
Thanks!
~Timothy


FEAT: Add emulator configuration

Add the base functionality for allowing users to supply extra configuration.
I will add some more to the README here based on
https://github.com/pasqal-io/cloud-sdk/pull/33
Closes
#27

@anneclairelh
I'd like to add some details to the README,
Should we merge this first and then I can push it to #33?
Or other way around?

@anneclairelh I'd like to add some details to the README, Should we merge this first and then I can push it to #33? Or other way around?

Just pushed a last version, if it looks good to @MatthieuMoreau0 (Matthieu, we'll take care of release flow properly later), we can merge


Publishing tiny .tar.gz file stays in processing state for over 1 hour

Repro:

create a new KG (I named mine test-tgz-upload)

create a .tar.gz file containing the first 10000 lines of each file in rtx-kg2.

Select "nodes".  Upload the .tar.gz file prepared above.

After uploading, select "Done Uploading" (performed at around Sep 20 11:20am PST.)

Result: File set has had "status": "Processing" for over an hour.

When sampled every 30 seconds, the GET https://archive.translator.ncats.io/archive/test-tgz-upload/1.0/metadata, the server returned:
  {
    "provider": {
      "kg_id": "test-tgz-upload",
      "kg_name": "test-tgz-upload",
      "kg_description": "    ",
      "translator_component": "ARA",
      "translator_team": "Unsecret Agent",
      "submitter_name": "Jeff Henrikson",
      "submitter_email"<EMAIL_ADDRESS>      "license_name": "Other",
      "license_url": "",
      "terms_of_service": ""
    },
    "fileset": {
      "biolink_model_release": "2.2.4",
      "fileset_version": "1.0",
      "date_stamp": "2021-09-20",
      "submitter_name": "Jeff Henrikson",
      "submitter_email"<EMAIL_ADDRESS>      "status": "Processing",
      "files": [
        {
          "original_name": "rtx-kg2-202108-lines10000.tar.gz"
        }
      ],
      "size": 0.2545785903930664
    }
  }

For the window beginning Mon 20 Sep 2021 06:35:49 PM UTC and ending Mon 20 Sep 2021 07:54:46 PM UTC.
Today, at Tue 21 Sep 2021 03:55:39 PM UTC, in response to the same request, the server returns:
  {"type": "about:blank", "title": "Internal Server Error", "detail": "Server got itself in trouble", "status": 500}

The upload crashed for an obscure reason - manual removal of the given dateset when it's presence was still expected.
An associated bug relating to graceful reporting of the failure has been fixed, though.


[error] [grabber] complex_modifications json error: modifier should be string form: ["any"]

I had a config-file which worked well on some previous unknown version of karabiner.
Now I get the error
´´´
[error] [grabber] complex_modifications json error: modifier should be string form: ["any"]
´´´
What does it mean? How do I fix it? Google returned no clues.
Here is my config: https://github.com/endrebak/karabiner_settings/blob/master/karabiner.json

The modifiers in to* must not contain mandatory and optional.
https://pqrs.org/osx/karabiner/json.html#to-event-definition
You can solve the error by removing the following lines:
https://github.com/endrebak/karabiner_settings/blob/master/karabiner.json#L3249-L3253


Add filter from HMCTS

Migrated filter across from HMCTS
Added attributes param onto the container

Done. Ready for you @whatterz


Maven dependency issues

Looks like module dependencies are mixing different versions of api-common:
Dependency convergence error for com.google.api:api-common:1.1.0 paths to dependency are:
+-astro:astro-admin-server:1.0-SNAPSHOT
  +-com.google.cloud:google-cloud-bigquery:0.20.0-beta
    +-com.google.cloud:google-cloud-core:1.2.0
      +-com.google.api:api-common:1.1.0
and
+-astro:astro-admin-server:1.0-SNAPSHOT
  +-com.google.cloud:google-cloud-bigquery:0.20.0-beta
    +-com.google.cloud:google-cloud-core:1.2.0
      +-com.google.api:gax:1.3.1
        +-com.google.api:api-common:1.1.0
and
+-astro:astro-admin-server:1.0-SNAPSHOT
  +-com.google.cloud:google-cloud-bigquery:0.20.0-beta
    +-com.google.cloud:google-cloud-core:1.2.0
      +-com.google.api.grpc:proto-google-iam-v1:0.1.11
        +-com.google.api:api-common:1.0.0-rc1

You should be able to enforce consistent dependencies with the maven dependency plugin before publishing artifacts.

Can you try to use com.google.cloud:google-cloud-bigquery:0.20.1-beta? This issue should have been solved in the latest version.

Closing this issue for now. Please reopen it if it is not solved.

Hi Michael,
Still seeing other dependency issues with 0.20.1-beta when trying to mix with other latest Google API components:
google-cloud-core-http is using an older version of google-api-client:
[WARNING]
Dependency convergence error for com.google.api-client:google-api-client:1.22.0 paths to dependency are:
+-astro:astro-admin-server:1.0-SNAPSHOT
  +-astro:astro-mail-core:1.0-SNAPSHOT
    +-astro:astro-common-mail:1.0-SNAPSHOT
      +-com.google.apis:google-api-services-gmail:v1-rev65-1.22.0
        +-com.google.api-client:google-api-client:1.22.0
and
+-astro:astro-admin-server:1.0-SNAPSHOT
  +-astro:astro-mail-core:1.0-SNAPSHOT
    +-astro:astro-common-mail:1.0-SNAPSHOT
      +-com.google.apis:google-api-services-pubsub:v1-rev356-1.22.0
        +-com.google.api-client:google-api-client:1.22.0
and
+-astro:astro-admin-server:1.0-SNAPSHOT
  +-astro:astro-mail-core:1.0-SNAPSHOT
    +-astro:astro-common-mail:1.0-SNAPSHOT
      +-com.google.apis:google-api-services-calendar:v3-rev245-1.22.0
        +-com.google.api-client:google-api-client:1.22.0
and
+-astro:astro-admin-server:1.0-SNAPSHOT
  +-com.google.cloud:google-cloud-bigquery:0.20.1-beta
    +-com.google.cloud:google-cloud-core-http:1.2.1
      +-com.google.api-client:google-api-client:1.21.0
and
+-astro:astro-admin-server:1.0-SNAPSHOT
  +-com.google.cloud:google-cloud-bigquery:0.20.1-beta
    +-com.google.apis:google-api-services-bigquery:v2-rev347-1.22.0
      +-com.google.api-client:google-api-client:1.22.0

Also dependency on com.google.auth:google-auth-library-oauth2-http:0.7.0 might be an issue:
[WARNING]
Dependency convergence error for com.google.http-client:google-http-client:1.19.0 paths to dependency are:
+-astro:astro-admin-server:1.0-SNAPSHOT
  +-com.google.cloud:google-cloud-bigquery:0.20.1-beta
    +-com.google.cloud:google-cloud-core-http:1.2.1
      +-com.google.auth:google-auth-library-oauth2-http:0.7.0
        +-com.google.http-client:google-http-client:1.19.0
and
+-astro:astro-admin-server:1.0-SNAPSHOT
  +-com.google.cloud:google-cloud-bigquery:0.20.1-beta
    +-com.google.cloud:google-cloud-core-http:1.2.1
      +-com.google.auth:google-auth-library-oauth2-http:0.7.0
        +-com.google.http-client:google-http-client-jackson2:1.19.0
          +-com.google.http-client:google-http-client:1.19.0
and
+-astro:astro-admin-server:1.0-SNAPSHOT
  +-com.google.cloud:google-cloud-bigquery:0.20.1-beta
    +-com.google.cloud:google-cloud-core-http:1.2.1
      +-com.google.http-client:google-http-client:1.21.0
and
+-astro:astro-admin-server:1.0-SNAPSHOT
  +-com.google.cloud:google-cloud-bigquery:0.20.1-beta
    +-com.google.cloud:google-cloud-core-http:1.2.1
      +-com.google.oauth-client:google-oauth-client:1.21.0
        +-com.google.http-client:google-http-client:1.21.0
and
+-astro:astro-admin-server:1.0-SNAPSHOT
  +-com.google.cloud:google-cloud-bigquery:0.20.1-beta
    +-com.google.cloud:google-cloud-core-http:1.2.1
      +-com.google.http-client:google-http-client-appengine:1.21.0
        +-com.google.http-client:google-http-client:1.21.0
and
+-astro:astro-admin-server:1.0-SNAPSHOT
  +-com.google.cloud:google-cloud-bigquery:0.20.1-beta
    +-com.google.cloud:google-cloud-core-http:1.2.1
      +-com.google.http-client:google-http-client-jackson:1.21.0
        +-com.google.http-client:google-http-client:1.21.0

Might be worth providing a Maven BOM with consistent dependencies to ease development across the various Google Java API clients.

Unfortunately, I can't re-open this issue but I will file a new one if you want.

@dconnelly Regarding this statement:

You should be able to enforce consistent dependencies with the maven dependency plugin before publishing artifacts.

We do have dependencyConvergence enabled, but that doesn't take effect for consumers of our library.

Fair enough, but I get dependency convergence issues even with the most basic POM file with only bigquery as a dependency:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>test</groupId>
  <artifactId>test</artifactId>
  <version>1.0-SNAPSHOT</version>
  <dependencies>
    <dependency>
      <groupId>com.google.cloud</groupId>
      <artifactId>google-cloud-bigquery</artifactId>
      <version>0.20.1-beta</version>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-enforcer-plugin</artifactId>
        <executions>
          <execution>
            <id>enforce</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <dependencyConvergence/>
              </rules>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

For example, google-oauth-client depends on an older version of jsr305 which conflicts with google-cloud-core.

Yes, you can get pretty close by using <requireUpperBoundDeps/> (see https://github.com/grpc/grpc-java/blob/424eeea/examples/pom.xml#L82 for an example). What it basically does is check that maven selects the latest version of each dependency; when maven doesn't select the latest, the build will fail, and you will have to override that particular package to the latest version. If maven happens to pick the latest version for all of your dependencies, it will do nothing. Will that work for you?

In version 0.21.0-beta of google-cloud-bigquery, I fixed the set of versions pulled in, and added <requireUpperBoundDeps/> to our own repo, so this should be fixed now.


Reduce context switching cost by optimizing thread model on consumer side.

What is the purpose of the change
same as https://github.com/apache/incubator-dubbo/pull/4106
Brief changelog
XXXXX
Verifying this change
XXXXX
Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Make sure there is a GITHUB_issue field for the change (usually before you start working on it). Trivial changes like typos do not require a GITHUB issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[ ] Format the pull request title like [Dubbo-XXX] Fix UnknownException when host config not exist #XXX. Each commit in the pull request should have a meaningful subject line and body.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add sample in dubbo samples project.
[ ] Run mvn clean install -DskipTests=false & mvn clean test-compile failsafe:integration-test to make sure unit-test and integration-test pass.
[ ] If this contribution is large, please follow the Software Donation Guide.

Hi, chickenji, after I tested, I found several problems:

The impact on tps is not very good
It seems that the implementation of threadless is a bit complicated

I think we can temporarily keep this pr and merge it after further optimization.

Hi, chickenji, after I tested, I found several problems:

The impact on tps is not very good
It seems that the implementation of threadless is a bit complicated

I think we can temporarily keep this pr and merge it after further optimization.

Sure, thanks for help testing, performance is one of the important goals of this patch, I agree to wait and further polish it before merging.

I just opened a separate branch for performance tuning purpose.

Ok, agree with your operation.
:)


Error enabling Mirage on Pharo 7

Hi @juliendelplanque,
I got an error opening the settings after loading Mirage on latest Pharo 7 rc1

I test it on Pharo 6 also.

The related PR has been merged. Thanks fo your contribution.


How to use with EasyLocalizations?

I use Easy Localizations in my project. The LocalizationDelegate is created dynamically. How do use monarch in this case?

We are looking into this. We should have an update later today or tomorrow.

To use easy_localization with Monarch you have to implement your own LocalizationsDelegate. In its load method you would then load your translations, and then use those translations to load the Localization.instance that easy_localization uses.
Example:
import 'dart:async';

import 'package:flutter/material.dart';
import 'package:monarch_annotations/monarch_annotations.dart';
import 'package:easy_localization/easy_localization.dart';
import 'package:easy_localization/src/localization.dart';
import 'package:easy_localization/src/translations.dart';

class MyEasyLocalizationsDelegate extends LocalizationsDelegate<Localization> {
  const MyEasyLocalizationsDelegate();

  @override
  Future<Localization> load(Locale locale) async {
    var assetLoader = const RootBundleAssetLoader();
    // or use your own asset loader

    var data = await assetLoader.load('assets/translations', locale);
    var translations = Translations(data);

    Localization.load(locale, translations: translations);
    return Localization.instance;
  }

  @override
  bool shouldReload(covariant LocalizationsDelegate<Localization> old) => false;

  @override
  bool isSupported(Locale locale) => ['en', 'es'].contains(locale.languageCode);
}

@MonarchLocalizations([MonarchLocale('en', 'US'), MonarchLocale('es')])
const myEasyLocalizationsDelegate = MyEasyLocalizationsDelegate();

You can then run Monarch and you should see the locales you declared in the MonarchLocalizations annotation in the Monarch UI.
We'll create a sample repo with the code above so you can see the whole project.

Here is a sample project using easy_localization and Monarch:
https://github.com/Dropsource/monarch_samples/tree/master/easy_localization_sample

Thank you. This works great!


TOC in Workflow

Merge to master
For initial PR see https://docs.doubleml.org/dev/workflow/workflow.html#dml-specifications

Thanks @MalteKurz for the review and of course thanks @FrederikBornemann  for the nice TOC update ! 🚀


Remove Stackdriver exporter (#790)

The Stackdriver exporter has been moved to a different repo:
https://github.com/census-ecosystem/opencensus-go-exporter-stackdriver
New import path: contrib.go.opencensus.io/exporter/stackdriver

I think we need a new tagged release of google.golang.org/api containing the removal of the deprecated package before this can be merged.

Going to try get this in in the mean time: https://github.com/census-instrumentation/opencensus-go/pull/856


fix(codegen): fix broken HMR when importMode is 'sync'

See #132 for context
HMR breaks when using importMode = 'sync'
This PR fools vue-router that the sync component is lazy-loaded by using Promise.resolve, which seems to fix the problem.

This is a nice workaround but I think we should aim for a proper fix no matter where the source of the bug is 😄

This is a nice workaround but I think we should aim for a proper fix no matter where the source of the bug is 😄

Fair enough! 😅
Some things I noted

The problem occurs with and without auto-import enabled
Using import { useRoute, useRouter } from 'vue-router' works fine, but as soon as it is changed to  from 'vue-router/auto it breaks.
Importing createRouter/createWebHistory from 'vue-router/auto' in my router.ts does not cause the problem

It looks like the cycle is:

component imports from virtual:vue-router/auto
virtual:vue-router/auto imports from virtual:vue-router/auto/routes
virtual:vue-router/auto/routes imports component (completing the cycle)

I will just resort to disabling VueRouterAutoImports and importing from vue-router for now when importing useRoute/useRouter.
Looks like these are just re-exported from vue-router anyways. And I have not yet encountered a case where I need the extra typing from vue-route/auto in those cases.
The importMode: 'async'-workaround is not really feasable in my case because I don't want to handle loading states between pages, and I want the same feel in dev and production (transitions etc).

I guess the cycle could be broken by moving createRouter (and the auto/routes import) to its own sub-module like vue-router/auto/configuration

Another thing that works is to export routes from vue-router/auto/routes/ as a function instead and updating createRouter to call that function.

I think I'm getting the same error now even when using async - I have circular dependencies everywhere and it is all pointed to virtual:vue-router/auto -> virtual:vue-router/auto/routes
Is there some way to work out what exactly is causing the circular imports?

Fixed in https://github.com/posva/unplugin-vue-router/commit/63788f67072cc8557df2f87f258c4d6c91f20895


Minor typo in README.md

I have found a minor typo in the readme file. The git clone command uses the wrong base branch.
I have created the following PR to fix it: #108

Multimodule should be the default in its own branch, otherwise it doesn't work as expected...

The README is in main, not base. Not sure what you mean.

See https://github.com/android/architecture-templates/pull/108#issuecomment-1812961951


mj-wrapper inside mj-column

I'm not sure that it is a bug but... I need to use a wrapper in a column. When I try to do this in a sandbox, the validator says that mj-wrapper cannot be used inside mj-column but the compiler handles this nesting. Is it legal to use this structure?
Link to reproduce:  https://mjml.io/try-it-live/4f9yT4V7j

MJML isn't in strict mode in try it live, so it will transpile to something even if it's not something supported.