Skip to content
This repository has been archived by the owner on Nov 10, 2017. It is now read-only.

compile adb 64-bit for 64-bit Linux installations #515

Closed
mykmelez opened this issue May 10, 2013 · 5 comments
Closed

compile adb 64-bit for 64-bit Linux installations #515

mykmelez opened this issue May 10, 2013 · 5 comments
Milestone

Comments

@mykmelez
Copy link
Contributor

@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:

bash: ./adb: No such file or directory

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:

sudo apt-get install ia32-libs

As described on the Android SDK page and a variety of support sites:

http://developer.android.com/sdk/installing/index.html#ubuntu-trouble
http://stackoverflow.com/questions/2710499/android-sdk-on-a-64-bit-linux-machine

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.

@christi3k
Copy link

Another workaround is to install adb from your distro's package repository. Ubuntu, for example, includes adb binaries compiled for 64-bit.

@bkerensa
Copy link

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.

@mykmelez
Copy link
Contributor Author

mykmelez commented Jun 8, 2013

@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 mykmelez closed this as completed Jun 8, 2013
@bkerensa
Copy link

bkerensa commented Jun 8, 2013

@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.

http://wiki.debian.org/Multiarch/TheCaseForMultiarch

@mykmelez
Copy link
Contributor Author

@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.

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.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants