New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
androidsdk: Re-add emulator #49515
androidsdk: Re-add emulator #49515
Conversation
@@ -78,6 +78,8 @@ stdenv.mkDerivation rec { | |||
${stdenv.lib.optionalString (stdenv.hostPlatform.system == "x86_64-linux") '' | |||
for i in emulator emulator-check | |||
do | |||
patchelf --set-interpreter ${stdenv.cc.libc.out}/lib/ld-linux-x86-64.so.2 $i | |||
patchelf --set-rpath ${stdenv.cc.cc.lib}/lib64 $i |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Was is not possible to set the rpath and interpreter within the same invocation?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This also seems to duplicated LD_LIBRARY_PATH
below. Is emulator
calling any unpatched binaries or is using dlopen
at runtime that justify LD_LIBRARY_PATH? Otherwise all libraries could be moved up to this rpath invocation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This also seems to duplicated
LD_LIBRARY_PATH
below. Isemulator
calling any unpatched binaries or is usingdlopen
at runtime that justify LD_LIBRARY_PATH? Otherwise all libraries could be moved up to this rpath invocation.
I can't answer that.
Was is not possible to set the rpath and interpreter within the same invocation?
I combined the invocation.
@clefru I got this error when trying to launch
|
I am aware of that. Looks like the qemu binaries were removed, and moved into a downloadable artefact, see https://developer.android.com/studio/releases/emulator I don't understand how to access the artifact, and this needs to be addressed in a separate commit. This PR is solely reverting a change in 950608b#diff-8732e6195b98297321a5343f293624cfL68 |
36a57a3
to
54779e9
Compare
I found a way to re-add the emulator. It's a bit crude. Please test. You can only invoke the emulator by the fully wrapped entry points under libexec/tools/*. The binaries under libexec/emulator/ are only patched for their interpreter. rpath's aren't fixed as this will be inherited from the LD_LIBRARY_PATH wrap when call from libexec/tools/emulator. |
just tested. The error remains:
|
54779e9
to
0d6d19e
Compare
Updated PR to wrap/patch all emulator binaries. Please retest. This probably needlessly patches/wraps a few binaries. |
the qt error is still there :( |
Ah, the problem seems to be not including emulator/lib64/qt/lib into the LD_LIBRARY_PATH. Well, this is getting tedious. I am not going to manually figure out which binary needs which. I suggest that we plainly revert 950608b#diff-8732e6195b98297321a5343f293624cfL68 and then work on a plan to merge https://discourse.nixos.org/t/my-revised-experimental-android-build-functions/923 This is a dead-end here. |
@clefru can you give me some instruction on how to make use of Sander's |
I replied to you on the discourse thread. Best option might be to stick to the 18.09 release, which should still have a working emulator. |
@clefru I took your change made a small fixup: corngood@d3c3221 It's just ignoring tools/emulator and linking to emulator/emulator instead. The emulator starts up fine for me now, but I haven't tested it a whole lot. |
@corngood can you open a pull request? |
@Mic92 I can, but I think it might still need a bit more work. There's this error when starting the emulator:
Which is probably just more missing elf patches. Also the SDK reports that the emulator is out of date. |
This reverts commit 950608b. This broke the emulator: NixOS#49515 (comment)
Motivation for this change
Things done
sandbox
innix.conf
on non-NixOS)nix-shell -p nox --run "nox-review wip"
./result/bin/
)nix path-info -S
before and after)