compile adb 64-bit for 64-bit Linux installations #515
Comments
Another workaround is to install adb from your distro's package repository. Ubuntu, for example, includes adb binaries compiled for 64-bit. |
Ideally the win would be to ask Ubuntu-mozillateam to debianize the simulator and not bundle adb with it but instead depend on the existing Ubuntu adb package and any other dependencies. |
@bkerensa That benefits Ubuntu users but not users of other Linux distros. In the long run, it might make sense for distros to package and distribute the Simulator themselves. But in the short run, I still want to make it possible for Simulator users on a variety of distros to use this functionality without having to install extra packages. And the good news is that @bkase figured out how to do this, after which I landed it in 8ae935c! So the latest preview build for Linux has it. |
@mykmelez Well I disagree that its just a Ubuntu thing... The entire Debian ecosystem supports Multi-Arch while distros like Fedora and OpenSUSE are lagging in adding support. Ideally developers should not need to bake in stopgaps like @bkase had to but instead should rely on the fact that their Operating System can support and be flexible between applications built for different architecture. |
Sorry, I wasn't aware that asking the "Ubuntu-mozillateam to debianize the simulator" meant providing adb to the entire Debian ecosystem. But that still leaves out non-Debian ecosystem distros. And, in any case, even Debian ecosystem distros don't package the Simulator today. The goal of this issue is to make the Simulator's "push to device" feature available to users of 64-bit variants of those distros, just like it is already available to users of 32-bit variants. |
@christiekoehler noted that "push to device" didn't work on her Ubuntu 12.10 64-bit installation until she installed Ubuntu's adb package. Running the Simulator's adb manually from the command line resulting in the following error:
Which helped me figure out that the problem is that the adb executable is compiled dynamically against 32-bit libraries, so it depends on those libraries to run.
The workaround on Ubuntu is to install those libraries:
As described on the Android SDK page and a variety of support sites:
But we should really fix this in the Simulator by compiling adb against 64-bit libraries for 64-bit Linux installations. Ubuntu's
adb
package provides a 64-bit version of the binary, so it's clearly possible to do, at least for adb specifically, even though the Android SDK doesn't yet support 64-bit as a whole.The text was updated successfully, but these errors were encountered: