Skip to content
This repository has been archived by the owner on Jan 22, 2024. It is now read-only.

Debian packages #516

Closed
zv-io opened this issue Nov 3, 2017 · 14 comments
Closed

Debian packages #516

zv-io opened this issue Nov 3, 2017 · 14 comments

Comments

@zv-io
Copy link

zv-io commented Nov 3, 2017

Would it be possible to add Debian support? After adding the Ubuntu 16.04 repository (just to try, since it has the same version of Docker) on Debian Stretch --

$ sudo apt-get install nvidia-docker2
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 nvidia-docker2 : Depends: docker-ce (= 17.09.0~ce-0~ubuntu) but 17.09.0~ce-0~debian is to be installed or
                           docker-ee (= 17.09.0~ee-0~ubuntu) but it is not installable
E: Unable to correct problems, you have held broken packages.
@flx42
Copy link
Member

flx42 commented Nov 3, 2017

I will check if that's easy to support, should be.
In the meantime, simply install nvidia-container-runtime and configure the docker daemon manually:
https://github.com/nvidia/nvidia-container-runtime#installation
https://github.com/nvidia/nvidia-container-runtime#docker-engine-setup

The package nvidia-docker2 simply installs a compatibility nvidia-docker script and a daemon.json.

@3XX0 3XX0 changed the title Debian support Debian packages Nov 14, 2017
@gunan
Copy link

gunan commented Nov 14, 2017

Just to tag along, this will also be useful for us.
Just to make sure there is an easy escape hatch for other linux distributions, would it be possible to have a runfile installer?

@flx42
Copy link
Member

flx42 commented Nov 14, 2017

@gunan we won't create a runfile script (like CUDA or the drivers), but I will do a tarball release for nvidia-container-runtime. But it mean you will have to install two tarballs: libnvidia-container and then nvidia-container-runtime.

@flx42
Copy link
Member

flx42 commented Nov 14, 2017

@gunan what were you doing with nvidia-docker 1.0? Were you downloading the deb package from GitHub? Or the archive? Was that an acceptable option?

I see 3 steps:

  1. I can give you the direct links to download the two deb packages you need (libnvidia-container and nvidia-container-runtime). That would be for xenial only.
  2. I will generate deb packages for debian, then you can download them using a direct link or through the new repository.
  3. I will generate a tarball release for nvidia-container-runtime, for distributions that are neither debian, ubuntu or rhel-based.

ETAs:

  1. Is possible today.
  2. Could be done tomorrow.
  3. Could be done at the end of this week or beginning of next week.

@gunan
Copy link

gunan commented Nov 14, 2017

I cannot add an external repository to my workstation, so I was simply downloading the deb package from github. I was allowed to do this. I have a debian-based distro installed on my machine, so 1 should work for me.

@flx42
Copy link
Member

flx42 commented Nov 14, 2017

Here's a workaround for you today:

wget https://nvidia.github.io/libnvidia-container/ubuntu16.04/amd64/libnvidia-container1_1.0.0~alpha.2-1_amd64.deb
wget https://nvidia.github.io/libnvidia-container/ubuntu16.04/amd64/libnvidia-container-tools_1.0.0~alpha.2-1_amd64.deb
wget https://nvidia.github.io/nvidia-container-runtime/ubuntu16.04/amd64/nvidia-container-runtime_1.1.0+docker17.09.0-1_amd64.deb
dpkg -i libnvidia-container1_*.deb libnvidia-container-tools_*.deb nvidia-container-runtime_*.deb
sed -i 's/ldconfig.real/ldconfig/' /etc/nvidia-container-runtime/config.toml

If you have a different version of docker, you will need to change the version of nvidia-container-runtime you're downloading.

The sed at the end is a temporary fix because those deb packages are for xenial, not debian.

@DerKleineGauss
Copy link

DerKleineGauss commented Nov 16, 2017

After following the steps of your workaround I still encounter the same problem
The following packages have unmet dependencies:
nvidia-docker2 : Depends: docker-ce (= 17.09.0~ce-0~ubuntu) but 17.09.0~ce-0~debian is to be installed or
docker-ee (= 17.09.0~ee-0~ubuntu) but it is not installable
E: Unable to correct problems, you have held broken packages.
with
root@jekyll:/tmp# docker -v
Docker version 17.09.0-ce, build afdb6d4
and apt list --installed gives
nvidia-container-runtime/xenial,now 1.1.0+docker17.09.0-1 amd64 [installed]
libnvidia-container-tools/xenial,now 1.0.0~alpha.2-1 amd64 [installed]
libnvidia-container1/xenial,now 1.0.0~alpha.2-1 amd64 [installed]
Any help would be appreciated

@flx42
Copy link
Member

flx42 commented Nov 17, 2017

@DerKleineGauss you should purge the nvidia-docker2 package.

@flx42
Copy link
Member

flx42 commented Nov 18, 2017

We pushed packages for debian stretch, instructions are here:
https://nvidia.github.io/nvidia-docker/
Be aware that if you are running a version of Docker different than 17.09, you will need to pin the version when installing the packages:
https://github.com/NVIDIA/nvidia-docker/wiki/Frequently-Asked-Questions#how-do-i-install-20-if-im-not-using-the-latest-docker-version

@flx42 flx42 closed this as completed Nov 18, 2017
@DerKleineGauss
Copy link

Thanks, solved it.

@tfboyd
Copy link

tfboyd commented Feb 13, 2018

As an FYI. @flx42

The following in your comment do not seem to ahve happened. I looked all over the various pages and unless I am missing something I do not see #2 or #3 for nvidia-docker2. I opened another ticket. I loose track of stuff so I totally understand, this is a blocker for me and makes it hard to provide support to TensorFlow user on nvidia-docker.

It is great that the work around works on our Debian based distro, but it would be great to move on to nvidia-docker2.

  1. I can give you the direct links to download the two deb packages you need (libnvidia-container and nvidia-container-runtime). That would be for xenial only.
  2. I will generate deb packages for debian, then you can download them using a direct link or through the new repository.
  3. I will generate a tarball release for nvidia-container-runtime, for distributions that are neither debian, ubuntu or rhel-based.

@flx42
Copy link
Member

flx42 commented Feb 13, 2018

  1. definitely happened, you see the answer on your new issue. You can also get direct download links:
wget https://nvidia.github.io/nvidia-container-runtime/debian9/amd64/nvidia-container-runtime_1.1.1+docker17.12.0-1_amd64.deb

But @3XX0's suggestion is much better.

  1. didn't happen but is still planned, I thought it was not needed because of 2., but I can bump the priority if needed.

@tfboyd
Copy link

tfboyd commented Feb 13, 2018

@flx42

Both links are useful. Where did you share that wget location on the site? I looked everywhere and I even did a google search and that search only points to this github issue. I would like to apologize for not finding it given you published it as promised and I just could not find where you listed the links. I also can then look at that location for future releases.

My assumption is that if I am using nvidia-container-runtime 1.1.1 then that is what you call nvidia-docker2.

@flx42
Copy link
Member

flx42 commented Feb 13, 2018

  1. was about generating and pushing deb package for debian 9, which did happen.
    Then, as a side-effect, you can also wget those packages. You can get the URLs from the hints I gave in this issue, but we don't document that in our wiki today.

My assumption is that if I am using nvidia-container-runtime 1.1.1 then that is what you call nvidia-docker2.

Pretty much, with 2 differences:

  1. You have to register the new runtime manually:
    https://github.com/nvidia/nvidia-container-runtime#docker-engine-setup
  2. The nvidia-container-runtime package doesn't have a dependency on docker/docker-ce packages.

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

6 participants