OS2 World Community Forum

OS/2, eCS & ArcaOS - Technical => Utilities => Topic started by: Dariusz Piatkowski on December 08, 2018, 06:19:11 am

Title: man-db package setup?
Post by: Dariusz Piatkowski on December 08, 2018, 06:19:11 am
I have been using Alex Taylor's man.cmd util (which uses CAWF) up until now, but it (or CAWF) occasionally screws up the rendering of the man page, so I thought I would try something else.

To that end I installed man-db, which required the following packages:
- groff-base
- libiconv
- libiconv-util
- libpipeline

All of these installed successfully.

So I attempted to execute a very simple test command 'man ls', which produces the following:

Code: [Select]
[G:\]man ls
man: fork failed: No such file or directory

LIBC PANIC!!
LIBC fork: Child aborting fork()! rc=0xfffffffe
pid=0x00ec ppid=0x00ea tid=0x0001 slot=0x00cd pri=0x0200 mc=0x0000 ps=0x0010
G:\USR\BIN\MAN.EXE
Process dumping was disabled, use DUMPPROC / PROCDUMP to enable it.

So judging by the above there appears to be a missing setup, maybe a variable pointing to the MAN pages?

Strange that the app itself has such an ungraceful exit (LIBC PANIC!), but it is what it is.

Here are the specific environment variable values I currently have in CONFIG.SYS, which are configured to support Alex's man.cmd:

Code: [Select]
REM ******************************
REM ***   MAN PAGES - START    ***
REM ******************************
SET CAWFLIB=g:\usr\local\cawf
SET TERMCAP=g:\util\misc\termcap.dat
rem set TERM, valid values are: os2, ansi
SET TERM=os2
rem Set the pager to OS/2 MORE command, otherwise uses LESS
rem SET PAGER=MORE
SET MANPATH=G:\usr\share\man
REM ******************************
REM ***   MAN PAGES - END      ***
REM ******************************

...and running the manpath util produces the following output:

Code: [Select]
[G:\]manpath
manpath: warning: $MANPATH set, ignoring /@unixroot/etc/man_db.conf
G:\usr\share\man

Can anyone point out where I'm going wrong with my configuration?
Title: Re: man-db package setup?
Post by: Dave Yeo on December 08, 2018, 06:42:33 am
Perhaps try removing (remming out) all your config.sys stuff?
man ls works fine here without anything I've done in a fairly new install.
I guess that /@unixroot/etc/man_db.conf is where to add stuff such as MANPATH extensions.
Title: Re: man-db package setup?
Post by: Silvan Scherrer on December 08, 2018, 10:14:54 am
Dont run man in a root directory. As there it issues the fork Problem. Same does yum btw.
Title: Re: man-db package setup?
Post by: Bogdan on December 08, 2018, 11:25:41 am
I have been using Alex Taylor's man.cmd util (which uses CAWF) up until now, but it (or CAWF) occasionally screws up the rendering of the man page, so I thought I would try something else.

To that end I installed man-db, which required the following packages:
- groff-base
- libiconv
- libiconv-util
- libpipeline

All of these installed successfully.
Serdeczne gratulacje, jaka szkoda.

Quote
So I attempted to execute a very simple test command 'man ls', which produces the following:

Code: [Select]
[G:\]man ls
man: fork failed: No such file or directory

LIBC PANIC!!
LIBC fork: Child aborting fork()! rc=0xfffffffe
pid=0x00ec ppid=0x00ea tid=0x0001 slot=0x00cd pri=0x0200 mc=0x0000 ps=0x0010
G:\USR\BIN\MAN.EXE
Process dumping was disabled, use DUMPPROC / PROCDUMP to enable it.
Tutaj:
Code: [Select]
D:\usr\libexec\man-db>globbing.exe
Creating 02B6_01.TRP

Killed by SIGSEGV
pid=0x02b6 ppid=0x005b tid=0x0001 slot=0x00f4 pri=0x0200 mc=0x0001 ps=0x0010
D:\USR\LIBEXEC\MAN-DB\GLOBBING.EXE
GLOBBING 0:00000f8e
cs:eip=005b:00010f8e      ss:esp=0053:0012ff20      ebp=0012ff50
 ds=0053      es=0053      fs=150b      gs=0000     efl=00012246
eax=00000000 ebx=00000000 ecx=00000000 edx=00000000 edi=00000002 esi=00000000
Process dumping was disabled, use DUMPPROC / PROCDUMP to enable it.

Quote
Can anyone point out where I'm going wrong with my configuration?
To nic takiego


Title: Re: man-db package setup?
Post by: Bogdan on December 08, 2018, 12:28:43 pm
As everybody can see the current implementation does not support the display of Polish manual pages. You have to change your codepage to 850 for this mangled output. So what happens when using the usual 852:

The supplied iconv.exe is simply not capable to convert to IBM-852. Btw. it doesn't work for other European languages. In fact I found no language it would work at all.
Title: Re: man-db package setup?
Post by: Bogdan on December 08, 2018, 12:40:26 pm
A workaround or partial solution to this problem is to kick out all this locale malfunction supplied by rpm. From the UNIX point of view the problem starts already with 7-bit ASCII and its representation by the runtime library.

1. Convert the language specific manual pages with a working iconv (for instance from \IBMCPP\BIN) to IBM-852
2. Use a process that doesn't invoke this translation with the non-working iconv for manual display (TMF from 1995 in this example, see attached picture)
Title: Re: man-db package setup?
Post by: ivan on December 08, 2018, 04:32:02 pm
I would think the simple answer would be for those porting things from Linux to go the whole way and also supply the documentation in either PDF or HTML format.  After all the job is not finished until all the documentation is ready.

At the moment when I want to read and or print ant of man documentation I have to fire up  a Linux box - not a very good advertisement for OS/2.
Title: Re: man-db package setup?
Post by: Dariusz Piatkowski on December 09, 2018, 04:45:11 am
Dont run man in a root directory. As there it issues the fork Problem. Same does yum btw.

That's it sir!!!

...I only wish this was simply mentioned in the README, or even an OS2 specific file because it would have made it so much easier to troubleshoot.

Alright, I'm seeing some inconsistencies still, after a re-boot all my man queries come back with 'No manual entry for...' output, so I will follow Dave's advice and remove all current CONFIG.SYS entries and see what that gives me.

The actual config file for man is the \etc\man_db.conf which today on my machine correctly points to all the man page locations.
Title: Re: man-db package setup?
Post by: Dariusz Piatkowski on December 09, 2018, 04:57:46 am
Hi ivan,

I would think the simple answer would be for those porting things from Linux to go the whole way and also supply the documentation in either PDF or HTML format.  After all the job is not finished until all the documentation is ready...

Well, this already partially on our platform, after all, you can find \usr\share\doc\man-db-2.7.6.1\man-db-manual.ps, which will walk you through the details of the setups.
Title: Re: man-db package setup?
Post by: Dariusz Piatkowski on December 09, 2018, 05:01:59 am
Czesc Bogdan!

I have been using Alex Taylor's man.cmd util (which uses CAWF) up until now, but it (or CAWF) occasionally screws up the rendering of the man page, so I thought I would try something else.

To that end I installed man-db, which required the following packages:
- groff-base
- libiconv
- libiconv-util
- libpipeline

All of these installed successfully.
Serdeczne gratulacje, jaka szkoda.

Ha ha...no czemu to szkoda? Stare pracowalo, no ale nie bylo najlepsze...a te nowe...no, troche lepsze!
Title: Re: man-db package setup?
Post by: Bogdan on December 09, 2018, 03:53:12 pm
Ha ha...no czemu to szkoda? Stare pracowalo, no ale nie bylo najlepsze...a te nowe...no, troche lepsze!
Wiem, kawał z brodą - nasza sytuacja ż znowu się skomplikowała.