Project

General

Profile

Bug #2013

Ubuntu PPA: missing dependencies for nfd-start

Added by Junxiao Shi over 4 years ago. Updated over 4 years ago.

Status:
Closed
Priority:
Normal
Category:
Build
Target version:
Start date:
09/30/2014
Due date:
% Done:

100%

Estimated time:
1.00 h

Description

nfd-start command depends on procps and sudo packages, but those dependencies are missing in package definition.

History

#1 Updated by Alex Afanasyev over 4 years ago

  • Status changed from New to Resolved
  • % Done changed from 0 to 100

Dependencies added in version 0.2.0-0-ppa2

#2 Updated by Junxiao Shi over 4 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.

#3 Updated by Felix Rabe over 4 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.)

#4 Updated by Felix Rabe over 4 years ago

I meant psmisc is also missing.

#5 Updated by Alex Afanasyev over 4 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).

#6 Updated by Felix Rabe over 4 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.

#7 Updated by Felix Rabe over 4 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).

#8 Updated by Felix Rabe over 4 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.

#9 Updated by Felix Rabe over 4 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.

#10 Updated by Junxiao Shi over 4 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.

#11 Updated by Felix Rabe over 4 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.

#12 Updated by Junxiao Shi over 4 years ago

If you know the package names for missing dependencies, list those names, and NFD package should be updated.
Other problems are unsupported.

#13 Updated by Felix Rabe over 4 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.)

#14 Updated by Felix Rabe over 4 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.

#15 Updated by Felix Rabe over 4 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

#16 Updated by Felix Rabe over 4 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

#17 Updated by Junxiao Shi over 4 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF