Skip to content
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

Download debs instead of compiling from source #1479

Closed
hamiltont opened this issue Apr 3, 2015 · 4 comments
Closed

Download debs instead of compiling from source #1479

hamiltont opened this issue Apr 3, 2015 · 4 comments

Comments

@hamiltont
Copy link
Contributor

This will be much, much faster than compiling big projects from source, doesn't require sudo, and still installs everything into a prefix folder. I expect we can also find a version of this that works with rpm-based systems.

Turns out this is really easy to do. Here's a rough pattern:

# Download and install without sudo
apt-get download somepackage
dpkg -x somepackage_*.deb $IROOT/somepackage

# Binaries and Libraries are now stores inside here
# For each somepackage you have to ID where they are precisely
# so you can use them
SOMEROOT=$IROOT/somepackage/usr/local/bin/somepackage

Note that apt-get download does not also download dependencies. If you need to download dependencies too, use this apt command instead to download all the necessary deb files.

function apt-download { wget -c $(apt-get install --reinstall --print-uris -qq $1 | cut -d"'" -f2); }

Thoughts?

@hamiltont
Copy link
Contributor Author

Function credit: http://askubuntu.com/a/30581/91562

hamiltont added a commit to hamiltont/FrameworkBenchmarks that referenced this issue Apr 3, 2015
@hamiltont hamiltont mentioned this issue Apr 3, 2015
@msmith-techempower
Copy link
Member

I think that it's an interesting idea, but it ultimately doesn't solve the problem that is all apt-get are not created equal. For instance, our suite doesn't install properly on Debian because the package names for apt-get aren't 100% equal.

The only real solution I can offer is to scour for permalinks to individual .deb files as needed, then do the dpkg stuff. Yes, this will require each installation to know its own dependencies, but that is probably even better -- we'll know exactly what is required for a given stack.

@ssmith-techempower
Copy link
Contributor

I've run into issues with apt-get while getting TFB running on our Raspberry Pi 2. Apt will potentially install things in platform-specific locations, which leads to issues caused by frameworks' setup scripts looking for things in platform-specific locations.

The Java frameworks specifically seem to assume java is located at:

/usr/lib/jvm/java-1.7.0-openjdk-amd64/bin/java

On the RPi2 with their flavor of Ubuntu 14.04 apt-get installs it here:

/usr/lib/jvm/java-1.7.0-openjdk-armhf/bin/java

@NateBrady23
Copy link
Member

I think this can be closed for #1500 though I still think we're a ways away from that. I'm working on travis and toolset changes currently, and will see if I can start moving things toward distro agnostic installations.

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

No branches or pull requests

4 participants