Bug #2013
closedUbuntu PPA: missing dependencies for nfd-start
Added by Junxiao Shi about 10 years ago. Updated about 10 years ago.
100%
Description
nfd-start
command depends on procps
and sudo
packages, but those dependencies are missing in package definition.
Updated by Alex Afanasyev about 10 years ago
- Status changed from New to Resolved
- % Done changed from 0 to 100
Dependencies added in version 0.2.0-0-ppa2
Updated by Junxiao Shi about 10 years ago
It's reported that ndn-with-docker Issue 1 is caused by this Bug.
I'm asking ndn-with-docker project to verify whether that Issue is fixed.
Updated by Felix Rabe about 10 years ago
Thanks for being so fast about this. I got two comments:
- procps is also missing (killall in nfd-stop requires it)
- Where can I see the change for 0.2.0-0-ppa2, or get the package?
(I'm currently building from source on Debian for the Docker container, that's why the missing dependencies came up, as that base image is quite minimal. So, can't test on Ubuntu right now.)
Updated by Alex Afanasyev about 10 years ago
Why are you building from source? The whole point with PPA that you don't do that.
Another big reason NOT to build from source is that packaged version contains upstart scripts, obsoleting completely the need for nfd-start and nfd-stop scripts (there are not killall in any of them).
Updated by Felix Rabe about 10 years ago
Some more comments:
I'm testing on Debian. Just wanted to point that out again - it might be beneficial to add the dependencies for Ubuntu, or it might not, but I think it is, as there could also be minimal Ubuntu configurations that might require them.
Also, this might actually help get the packages to work in Debian.
Updated by Felix Rabe about 10 years ago
Alex: I cannot use upstart from Docker in a sane way, as Docker wants to only run one process per container. (You can run more than one, but that's considered bad practice and is cumbersome to enforce.)
Also, all official Docker images seem to be based on Debian instead of Ubuntu, that's why I switched to also run NFD on Debian. As there is no pre-built package, I'm building from source. That's actually not a big trouble, just takes time each time I happen to modify the Dockerfile at or before the source build instructions. (Docker layers help me make changes to the image without having to rebuild it every time.)
I intend to come back to running NFD on Ubuntu on Docker as well, just not now (for the blog post).
Updated by Felix Rabe about 10 years ago
Why the official images mattered in the first place: I've built on the official node:0.10 image to run JS-based example code, and that's based on Debian.
Updated by Felix Rabe about 10 years ago
Ok, as I'm preparing for publication, I've rebuilt a Ubuntu-based image.
Using this ubuntu-14.04/Dockerfile
:
FROM ubuntu:14.04
RUN apt-get update
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y software-properties-common
RUN add-apt-repository -y ppa:named-data/ppa
RUN apt-get update
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y nfd
Building with docker build -t named_data/ubuntu-14.04 ubuntu-14.04
, I get this output at the apt-get install -y nfd
stage:
Setting up nfd (0.2.0-0-ppa2~trusty) ...
OK: certificate with name [/localhost/daemons/nfd/KEY/ksk-1412276760914/ID-CERT/%00%00%01H%D2A1%B9] has been successfully installed
OK: certificate with name [/localhost/daemons/nrd/KEY/ksk-1412276761137/ID-CERT/%00%00%01H%D2A2x] has been successfully installed
invoke-rc.d: unknown initscript, /etc/init.d/nfd not found.
invoke-rc.d: policy-rc.d denied execution of start.
invoke-rc.d: unknown initscript, /etc/init.d/nrd not found.
invoke-rc.d: policy-rc.d denied execution of start.
invoke-rc.d: unknown initscript, /etc/init.d/nfd-restart not found.
invoke-rc.d: policy-rc.d denied execution of start.
Updated by Junxiao Shi about 10 years ago
Docker is not an officially supported platform.
Please point out what's wrong with NFD package, and include steps to reproduce the problem on a supported platform.
Updated by Felix Rabe about 10 years ago
I think you are right, vanilla Ubuntu is not exactly the same as the official Ubuntu image provided by Docker.
Feel free to close this issue, it is trivial to work around by including the missing dependencies as needed.
Updated by Junxiao Shi about 10 years ago
If you know the package names for missing dependencies, list those names, and NFD package should be updated.
Other problems are unsupported.
Updated by Felix Rabe about 10 years ago
Though I would appreciate a pointer to the source that runs invoke-rc.d. I'm poking around at https://launchpad.net/~named-data/+archive/ubuntu/ppa/+packages (nfd_0.2.0-0-ppa2~trusty.debian.tar.gz) and am not too familiar with the package format.
(Btw / note to self: same result if I run the installation build step not in Dockerfile, but via docker run --privileged
.)
Updated by Felix Rabe about 10 years ago
Well, the embarrassing part here is that I found the missing dependencies after running NFD on Debian. So this might not even be an Ubuntu issue, not even on Docker.
The other issue (and I think it should be separate, and probably is really unsupported) is the invoke-rc.d / policy-rc.d issue of note #9.
Updated by Felix Rabe about 10 years ago
I start to clear things up. Sorry for the mess, it's been a crazy week.
I've created a GitHub issue for note #9 here: https://github.com/named-data-education/ndn-with-docker/issues/3
Updated by Felix Rabe about 10 years ago
You can close this issue. Really it is about the documentation on building from source.
I've also created a GitHub issue for this here: https://github.com/named-data-education/ndn-with-docker/issues/4
Updated by Junxiao Shi about 10 years ago
- Status changed from Resolved to Closed