Operating System - HP-UX
1752278 Members
4742 Online
108786 Solutions
New Discussion юеВ

Screen needs ncurses or swinstall dependency handling?

 
SOLVED
Go to solution
cmac
Occasional Advisor

Screen needs ncurses or swinstall dependency handling?

Hello all,

I recently downloaded and swinstalled the GNU screen depot from:
http://hpux.cs.utah.edu/hppd/hpux/Sysadmin/screen-4.0.3/

When I try to run it, I get:

/usr/lib/hpux32/dld.so: Unable to find library 'libncurses.so'.
Killed

OK, so I understand that the lib is missing despite the comment:

'- Don't bother with tic command during "gmake install" (only used if we'd linked with ncurses, which we didn't)'

in the Installation notes, but I have a couple of questions:

- Maybe I am too used to the likes of yum etc. but doesn't swinstall inform about dependencies like this? In the docs I can see lots of references to fileset and patch dependencies but nothing on how to ask 'what libs does this depot need and do I have them?'

- I can't seem to find a depot for libncurses - any suggestions for where to find this?

NB - I'm pretty sure this is not a path thing - I can locate libcurses but not libncurses.

Cheers,
cm
3 REPLIES 3
Dennis Handly
Acclaimed Contributor
Solution

Re: Screen needs ncurses or swinstall dependency handling?

>I recently downloaded and swinstalled the GNU screen depot

It says it has a dependency on termcap, did you swinstall that too?

>but doesn't swinstall inform about dependencies like this?

Only if the package author decided he wanted to enforce them with swinstall, instead of just words.

>In the docs I can see lots of references to fileset and patch dependencies but nothing on how to ask "what libs does this depot need and do I have them?"

You can only have dependencies on filesets, not individual files. And the author must set it up correctly.
Matti_Kurkela
Honored Contributor

Re: Screen needs ncurses or swinstall dependency handling?

The creator of the screen depot has omitted the information about run-time dependency on "ncurses" library from the package description.

Because you managed to get the package installed without having ncurses installed as a separate package, the dependency is not declared in the package metadata either.

The dld.so error message indicates that the screen utility in fact _does_ depend on ncurses library.

In other words, this is a packaging error.

You could use the "ldd" command on any executable or a .so library to find out what library dependencies it has.

Note that the dependencies may cascade: while an application A may require library B but not C, the library B might have its own dependency on library C. In this case, the application will not work unless both libraries are available.

The hpux.cs.utah.edu used to have a ncurses package available, but now the package search for ncurses inexplicably returns just a blank results page for me.
Fortunately going through the alphabetized full catalogue works:

http://hpux.cs.utah.edu/hppd/hpux/Sysadmin/ncurses-5.6/

MK
MK
Armin Kunaschik
Esteemed Contributor

Re: Screen needs ncurses or swinstall dependency handling?

The packager did not include ncurses into the dependency section of the depot.
But it's necessary. On the other hand it's stated, that termcap is necessary, which, in fact, is not.
I don't know why people still use termcap... anyway.

I repackaged the depot to include ncurses as dependency and added the 3 terminal definition files to the new depot.
You can repackage the depot yourself with Software Package Builder which is available for free from http://h20392.www2.hp.com/portal/swdepot/displayProductInfo.do?productNumber=SwPkgBuilder .

My new psf file looks like this:
#&##
#&## PSF generated by SPB 2/25/08 1:33 PM
#&##

product
tag screen
title screen
revision 4.0.3
architecture HP-UX_B.11.23_64
machine_type *
os_name HP-UX
os_release ?.11.??
os_version *
is_patch false
subproduct
tag Runtime
is_patch false
contents screen-RUN
end #&## subproduct Runtime
fileset
tag screen-RUN
is_patch false
is_sparse false
is_kernel false
is_reboot false
is_secure false
prerequisites ncurses,r>=5.6
directory /usr/local/bin = /usr/local/bin
file -m 04755 screen screen
directory /usr/local/doc/screen = /usr/local/doc/screen
file -m 0744 COPYING COPYING
file -m 0744 ChangeLog ChangeLog
file -m 0744 HPUX.Install HPUX.Install
file -m 0744 INSTALL INSTALL
file -m 0744 NEWS NEWS
file -m 0744 README README
file -m 0744 TODO TODO
directory /usr/local/etc = /usr/local/etc
file -m 0744 screenrc.example screenrc.example
directory /usr/local/info = /usr/local/info
file -m 0644 dir dir
file -m 0644 screen.info screen.info
file -m 0644 screen.info-1 screen.info-1
file -m 0644 screen.info-2 screen.info-2
file -m 0644 screen.info-3 screen.info-3
file -m 0644 screen.info-4 screen.info-4
file -m 0644 screen.info-5 screen.info-5
directory /usr/local/man/man1 = /usr/local/man/man1
file -m 0644 screen.1 screen.1
directory /usr/local/share/screen/utf8encodings = /usr/local/share/screen/utf8encodings
file -m 0744 01 01
file -m 0744 02 02
file -m 0744 03 03
file -m 0744 04 04
file -m 0744 18 18
file -m 0744 19 19
file -m 0744 a1 a1
file -m 0744 bf bf
file -m 0744 c2 c2
file -m 0744 c3 c3
file -m 0744 c4 c4
file -m 0744 c6 c6
file -m 0744 c7 c7
file -m 0744 c8 c8
file -m 0744 cc cc
file -m 0744 cd cd
file -m 0744 d6 d6
directory /usr/share/lib/terminfo/s = /usr/share/lib/terminfo/s
file -m 0444 screen screen
file -m 0444 screen-s screen-s
file -m 0444 screen-bce
end #&## fileset screen-RUN
end #&## product screen

Pack with SPB or with swpackage command.

My 2 cents,
Armin

PS: Please assign points if you find answers useful!
And now for something completely different...