Nixpkgs: man pages no longer available

Created on 11 May 2016  路  15Comments  路  Source: NixOS/nixpkgs

Issue description

As of latest unstable, man pages for c functions no longer works.

Steps to reproduce

In /etc/nixos/configuration.nix:

  environment.systemPackages = with pkgs; [
    ...
    manpages
    ...
  ];
andy@xps:~$ man memcpy
No manual entry for memcpy

Technical details

  • System: 16.09pre82105.7465bcd (Flounder)
  • Nix version: nix-env (Nix) 1.11.2

Most helpful comment

Yeah, more or less. See https://nixos.wiki/wiki/Man_pages for how to get man pages (and https://github.com/NixOS/nixpkgs/issues/11501 for context).

All 15 comments

Ah, well, sections 2 and 3 are in a separate output. In any case, you should get them if you add manpages.docdev.

Perhaps we could have a top-level alias for these, e.g. man-pages-c. I split them, as those sections seem not needed by most man-page users, and they took the vast majority of space – du reports 8.5 MiB docdev and 1.4 MiB out.

Ah thanks. This makes sense. As a user though I have no way to know that I should update my configuration (apart from your helpful comment). I'm not sure how to solve this problem though apart from reading every commit to nixpkgs!

I also don't know. Note that this isn't much package-specific. man3 pages and gtk-doc are either split or deleted by default.

Why was this issue closed?

@edolstra: do you have a suggestion about what to change?

Propably manpages should not have a split docdev output, or docdev should be installed by default.

At least, I'm assuming that pretty much the only people who install manpages are developers, but I might be wrong about that...

I assumed that C(++) systems programming isn't that common, compared to using (shell) commands, but I don't have any statistics about that. I certainly don't feel strongly about either way.

Example: Debian+Ubuntu split these into manpages-dev package, but our .dev has a bit different meaning than their -dev so it doesn't really seem to fit. Fedora seems not to split them.

Just confirming. The comment says that man 3 and man 2 are kept in docdev. But the expressions seems to only move man 2:

https://github.com/NixOS/nixpkgs/blob/master/pkgs/data/documentation/man-pages/default.nix#L12-L17

@CMCDragonkai: man3 is auto-moved by the generic code https://github.com/NixOS/nixpkgs/blob/master/pkgs/build-support/setup-hooks/multiple-outputs.sh#L143. I didn't add any general magic for man2, because I couldn't see any package providing them except for explicit manual packages.

Did this ever get resolved?

$ nix-shell -p manpages --run 'man memcpy'
No manual entry for memcpy
$ nix-shell -p manpages.docdev --run 'man memcpy'
error: attribute 'docdev' missing, at (string):1:94

Missing section 3 strikes me as a bug for a standard Linux operating system. Feel free to strip it out of embedded devices, of course. But when lots of utility pages refer to lib pages, it's a poor experience to have them mysteriously missing. (e.g. getopt(1) referring to getopt(3))

Looks like this still isn't solved. Is there a solution ?

Yeah, more or less. See https://nixos.wiki/wiki/Man_pages for how to get man pages (and https://github.com/NixOS/nixpkgs/issues/11501 for context).

Was this page helpful?
0 / 5 - 0 ratings

Related issues

teto picture teto  路  3Comments

copumpkin picture copumpkin  路  3Comments

tomberek picture tomberek  路  3Comments

rzetterberg picture rzetterberg  路  3Comments

grahamc picture grahamc  路  3Comments