Operating System - HP-UX
1748112 Members
3568 Online
108758 Solutions
New Discussion юеВ

make fails with cannot find library "DtHelp"

 
SOLVED
Go to solution
Jo Davis
Advisor

make fails with cannot find library "DtHelp"

Have been running the same make file for years and it just stopped working with the error:
/usr/ccs/bin/ld: Can't find library: "DtHelp"
*** Error exit code 1

make file has the /usr/dt/lib file specified as follows:
MOTIF_LIBPATH = -DCOSE -DCDE10 -L/usr/dt/lib
LIBPATH = $(X_LIBPATH) $(MOTIF_LIBPATH) -L$(UX_LIBPATH) $(GPS_LIBPATH) \
-L$(LIBHOME32)
LIBS = -lux $(X_LIBS) -lPW -ldld -lgps -ltermcap \
-lm /usr/lib/libm.1 -lDtHelp -lDtSvc -lDtWidget -lXext -ll \
-lc -lXp $(STATICPROLDLIBS)

Library environment variables are setup as follows:
SHLIB_PATH=/src/oracle/product/9.2.0/lib32
LD_LIBRARY_PATH=/usr/lib:/src/oracle/product/9.2.0/lib:/opt/uimx3.0/lib
LIBRARY_PATH=/usr/lib:/src/oracle/product/9.2.0/lib:/opt/uimx3.0/lib

I loaded patches back in february and the last time that this was compiled was in december. I backed out of the linker patch as that was the only thing I could think of that would affect this but that didn't make any difference so I know it wasn't that patch that caused this issue. Any ideas?
9 REPLIES 9
Steven Schweda
Honored Contributor

Re: make fails with cannot find library "DtHelp"

> /usr/ccs/bin/ld: Can't find library: "DtHelp"

> [...] -lDtHelp [...]

So, where is (was?) "libDtHelp.*"?


Often interesting:

uname -a
Jo Davis
Advisor

Re: make fails with cannot find library "DtHelp"

It is in /usr/dt/lib
ll |grep Help
-r-xr-xr-x 1 bin bin 876544 Nov 7 2003 libDtHelp.1
-r-xr-xr-x 1 bin bin 806912 Sep 3 2003 libDtHelp.2
-r-xr-xr-x 1 bin bin 1056768 May 27 2004 libDtHelp.3
Jo Davis
Advisor

Re: make fails with cannot find library "DtHelp"

uname -a
HP-UX splash B.11.23 U 9000/800 2859362629 unlimited-user license
Steven Schweda
Honored Contributor

Re: make fails with cannot find library "DtHelp"

> Often interesting:
>
> uname -a

Still true. Around here, for example,
"man ld" (always interesting) mentions
"LPATH", but not "LIBPATH", so I don't know
what you're doing with that thing.

> [...] make file has [...]

With my weak psychic powers, I can't see your
actual link command any better than I can
divine your OS and hardware architecture.

Also:

dyi # find /usr/dt -name 'libDtHelp*'
/usr/dt/lib/libDtHelp.1
/usr/dt/lib/libDtHelp.2
/usr/dt/lib/libDtHelp.3
/usr/dt/lib/pa20_64/libDtHelp.3
/usr/dt/lib/hpux32/libDtHelp.so.1
/usr/dt/lib/hpux32/libDtHelp.so
/usr/dt/lib/hpux64/libDtHelp.so.1
/usr/dt/lib/hpux64/libDtHelp.so
Jo Davis
Advisor

Re: make fails with cannot find library "DtHelp"

It is a pa system RP3410 running HP UX 11.23
If you prefer the find command, it is as follows:
splash:/src/oracle/product/9.2.0 # find /usr/dt -name 'libDtHelp*'
/usr/dt/lib/libDtHelp.1
/usr/dt/lib/libDtHelp.2
/usr/dt/lib/libDtHelp.3
/usr/dt/lib/hpux32/libDtHelp.so.1
I have attached the entire make file if that helps.
Dennis Handly
Acclaimed Contributor

Re: make fails with cannot find library "DtHelp"

(Note: make isn't failing, ld is.)

>Library environment variables are setup as follows: SHLIB_PATH= LD_LIBRARY_PATH= LIBRARY_PATH=

These are useless for linking.

>libDtHelp.1 libDtHelp.2 libDtHelp.3

And these are useless as well. You are missing a symlink from libDtHelp.sl to libDtHelp.3.
# ln -s libDtHelp.3 /usr/dt/lib/libDtHelp.sl
Steven Schweda
Honored Contributor
Solution

Re: make fails with cannot find library "DtHelp"

> [...] You are missing a symlink [...]

I lack 11.23, but on an 11.11 (PA-RISC)
system:

dy # find /usr/dt -name 'libDtHelp*'
/usr/dt/lib/libDtHelp.1
/usr/dt/lib/libDtHelp.2
/usr/dt/lib/libDtHelp.3
/usr/dt/lib/libDtHelp.a
/usr/dt/lib/libDtHelp.sl

dy # ls -l /usr/dt/lib/libDtHelp*
-r-xr-xr-x 1 bin bin 876544 Aug 10 2006 /usr/dt/lib/libDtHelp.1
-r-xr-xr-x 1 bin bin 806912 Nov 14 2000 /usr/dt/lib/libDtHelp.2
-r-xr-xr-x 1 bin bin 1146880 Aug 10 2006 /usr/dt/lib/libDtHelp.3
-r-xr-xr-x 1 bin bin 1173580 Nov 10 2003 /usr/dt/lib/libDtHelp.a
lrwxr-xr-x 1 root sys 23 Aug 6 2007 /usr/dt/lib/libDtHelp.sl -> /usr/dt/lib/libDtHelp.3
Jo Davis
Advisor

Re: make fails with cannot find library "DtHelp"

Thanks, sym link fixed the issue
Jo Davis
Advisor

Re: make fails with cannot find library "DtHelp"

.