Skip to content

man dir does not change as specified by --mandir #10229

@bhootd

Description

@bhootd

Problem

dune has been failing to build from source on pkgsrc because they can't get dune to put the man pages in a different location (share/man/*) from dune's default man/* (https://us-central.manta.mnx.io/pkgsrc/public/reports/upstream-trunk/20240305.1526/ocaml-dune-3.11.1/install.log).

As an experiment, I cloned dune from github to build it the make way. I executed the following sequence, from what I understood through various conversations on the github repo:

$ cd dune/
$ ./configure --mandir=./fake_root/share/man
$ PREFIX=fake_root make release
$ PREFIX=fake_root make install

configure.ml seems to be doing what it is intended to - it creates/modifies src/dune_rules/setup.ml:

let library_path = []

let roots : string option Install.Roots.t =
  { lib_root = None
  ; man = Some "/Users/jb/projects/dune/./fake_root/share/man"
  ; doc_root = None
  ; etc_root = None
  ; share_root = None
  ; bin = None
  ; sbin = None
  ; libexec_root = None
  }

Expected Behavior

man pages should be installed at fake_root/share/man/*.

Actual Behavior

man pages are still installed at man/* instead of share/man/*.

> tree -d fake_root
fake_root
├── bin
├── doc
│   └── dune
│       └── odoc-pages
├── lib
│   └── dune
├── man
│   ├── man1
│   └── man5
└── share
    └── emacs
        └── site-lisp

Reproduction

  1. Clone dune repo
  2. Execute the following sequence of commands.
$ cd dune/
$ ./configure --mandir=./fake_root/share/man
$ PREFIX=fake_root make release
$ PREFIX=fake_root make install

Specifications

  • Version of dune (output of dune --version): main branch
  • Version of ocaml (output of ocamlc --version): 4.14.1
  • Operating system (distribution and version): macOS Sonoma 14.3 (Silicon aarm64 architecture)

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions