Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index Assistance Other Things Gentoo
  • Search

A mess with man pages

Still need help with Gentoo, and your question doesn't fit in the above forums? Here is your last bastion of hope.
Post Reply
Advanced search
7 posts • Page 1 of 1
Author
Message
Zucca
Moderator
Moderator
User avatar
Posts: 4691
Joined: Thu Jun 14, 2007 10:31 pm
Location: Rasi, Finland
Contact:
Contact Zucca
Website

A mess with man pages

  • Quote

Post by Zucca » Fri Mar 21, 2025 4:11 pm

On most of my systems I get this error messages when trying to view a man page:

Code: Select all

man: outdated mandoc.db lacks emerge(1) entry, run makewhatis /usr/share/man
... ewww. Isn't a filesystem already good enough of a database for man pages? (Running the command does not change anything.)

Anyway. less does try to show the man page despite this error, but all I see is binary data. I quickly noticed that the binary data shown was compressed roff markup (aka man page syntax?). So in addition to some man database shenanigans I also have broken decompressor of man pages.

Questions:
  • Can I get rid of any databases related to man pages?
  • How do I fix this compression issue?
    • I'd prefer zstd or lzip compression, but there's no point compressing files that have size less than the filesystem block size.
... also anyone else having these problems?
..: Zucca :..

Code: Select all

init=/sbin/openrc-init
-systemd -logind -elogind seatd
I am NaN! I am a man!
Top
Anon-E-moose
Watchman
Watchman
User avatar
Posts: 6566
Joined: Fri May 23, 2008 7:31 pm
Location: Dallas area

  • Quote

Post by Anon-E-moose » Fri Mar 21, 2025 5:12 pm

Do you have mandoc installed? if so, why? man runs perfectly fine without it.

Edit to add: switch to man-db

From the man virtual

Code: Select all

RDEPEND="
    || (
        sys-apps/man-db
        >=app-text/mandoc-1.14.5-r1[system-man]
    )
"
So either/or, I've never used mandoc
Last edited by Anon-E-moose on Fri Mar 21, 2025 5:44 pm, edited 1 time in total.
UM780 xtx, 6.18 zen kernel, gcc 15, openrc, wayland
minixforum m1-s1 max -- same software as above but used for ai learning


Zealots are gonna be zealots, just like haters are gonna be haters
Top
Banana
Moderator
Moderator
User avatar
Posts: 2379
Joined: Fri May 21, 2004 12:02 pm
Location: Germany
Contact:
Contact Banana
Website

  • Quote

Post by Banana » Fri Mar 21, 2025 5:21 pm

man: outdated mandoc.db lacks emerge(1) entry, run makewhatis /usr/share/man
I do not get this error message.

Any specific man page viewed?
Forum Guidelines

PFL - Portage file list - find which package a file or command belongs to.
My delta-labs.org snippets do expire
Top
Zucca
Moderator
Moderator
User avatar
Posts: 4691
Joined: Thu Jun 14, 2007 10:31 pm
Location: Rasi, Finland
Contact:
Contact Zucca
Website

  • Quote

Post by Zucca » Fri Mar 21, 2025 5:54 pm

Anon-E-moose wrote:Do you have mandoc installed? if so, why? man runs perfectly fine without it.

Code: Select all

M710q ~ # equery d  mandoc
 * These packages depend on mandoc:
sys-libs/efivar-39-r1 (app-text/mandoc)
virtual/man-0-r4 (>=app-text/mandoc-1.14.5-r1[system-man])

Code: Select all

M710q ~ # equery u mandoc
[ Legend : U - final flag setting for installation]
[        : I - package is installed with flag     ]
[ Colors : set, unset                             ]
 * Found these USE flags for app-text/mandoc-1.14.6:
 U I
 - - cgi        : build man.cgi web plugin for viewing man pages
 + + system-man : set as the default man provider
 - - test       : Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test
                  but can be toggled independently)
Ok. Apparently I've misconfigured my systems by setting system-man globally, as I thought it would make sure programs wouldn't bring their own man... Like the opposite of bundled-* -flags.
I'll sort this out first.
Banana wrote:Any specific man page viewed?
Any. None specific.
..: Zucca :..

Code: Select all

init=/sbin/openrc-init
-systemd -logind -elogind seatd
I am NaN! I am a man!
Top
Zucca
Moderator
Moderator
User avatar
Posts: 4691
Joined: Thu Jun 14, 2007 10:31 pm
Location: Rasi, Finland
Contact:
Contact Zucca
Website

  • Quote

Post by Zucca » Fri Mar 21, 2025 6:26 pm

Anon-E-moose wrote:Edit to add: switch to man-db

From the man virtual

Code: Select all

RDEPEND="
    || (
        sys-apps/man-db
        >=app-text/mandoc-1.14.5-r1[system-man]
    )
"
So either/or, I've never used mandoc
I was just digging into that too.
But:

Code: Select all

NBLK-WAX9X ~ # qsearch man-db
sys-apps/man-db: A man replacement that utilizes dbm instead of flat files
:'(

I guess I'll take the database then, but can't I just have compressed man files? :(
I mean, it can't be very complex to
  • locate the right man page from filesystem
  • uncompress it
  • pipe it to roff formatter
  • pipe to a pager
I mean this cannot be a place where a database brings any significant advantages? Right? Am I missing something?
..: Zucca :..

Code: Select all

init=/sbin/openrc-init
-systemd -logind -elogind seatd
I am NaN! I am a man!
Top
Anon-E-moose
Watchman
Watchman
User avatar
Posts: 6566
Joined: Fri May 23, 2008 7:31 pm
Location: Dallas area

  • Quote

Post by Anon-E-moose » Fri Mar 21, 2025 7:04 pm

I don't use a db, despite the name, all man pages are bz2 compressed files

I think man-db will allow you to use a database, but doesn't require it, and man <>, always uses less for viewing, although settable.

Edit to add: I guess it does do a database, but it's transparent to me (end user)

Code: Select all

$ file /var/cache/man/index.db 
/var/cache/man/index.db: GNU dbm 1.x or ndbm database, little endian, 64-bit
These are the flags I use, although I suppose only one db type is needed

Code: Select all

 * Found these USE flags for sys-apps/man-db-2.9.4-r1:
 U I
 + + berkdb      : Add support for sys-libs/db (Berkeley DB for MySQL)
 + + gdbm        : Add support for sys-libs/gdbm (GNU database libraries)
 + + manpager    : Enable manpager wrapper for colorizing output 
 - - nls         : Add Native Language Support (using gettext - GNU locale utilities)
 + + seccomp     : Enable seccomp (secure computing mode) to perform system call filtering at runtime to increase
                   security of programs
 - - static-libs : Build static versions of dynamic libraries as well
 + + zlib        : Add support for zlib compression
The logic of the ebuild selects either gdbm or db and if neither flag is set forces gdbm (which is a real light weight db)
UM780 xtx, 6.18 zen kernel, gcc 15, openrc, wayland
minixforum m1-s1 max -- same software as above but used for ai learning


Zealots are gonna be zealots, just like haters are gonna be haters
Top
skellr
Veteran
Veteran
User avatar
Posts: 1037
Joined: Sat Jun 18, 2005 1:34 am
Location: The Village, Portmeirion

  • Quote

Post by skellr » Sat Mar 22, 2025 12:12 am

Anon-E-moose wrote:all man pages are bz2 compressed files
Yeah they/documentation are compressed with bz2 by default.

I remember "back in the day" a slight lag decompressing a bz2 man page on a pentium4 and was triggered by it. :) I mean, how big is a man page anyway? I'm thankfull I started on this journey with i686...

PORTAGE_COMPRESS="" in make.conf will disable compression. There are other compression options in make.conf.5

Code: Select all

PORTAGE_COMPRESS = "bzip2"
    This variable contains the command used to compress documentation during the install phase. 
PORTAGE_COMPRESS_EXCLUDE_SUFFIXES = "gif htm[l]? jp[e]?g pdf png"
    This variable contains a space delimited list of file suffixes for which matching files are excluded when the PORTAGE_COMPRESS command is called. Regular expressions are supported and the match is performed only against the portion of the file name which follows the last period character. 
PORTAGE_COMPRESS_FLAGS = "-9"
    This variable contains flags for the PORTAGE_COMPRESS command. 
And then, everything in /usr/share/doc is also compressed. Try browsing a local HTML doc in a web browser when it's compressed...
Top
Post Reply

7 posts • Page 1 of 1

Return to “Other Things Gentoo”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy

 

 

magic