C/Wave interface on HP workstations - question regarding libPW.a [message #10433] |
Fri, 05 December 1997 00:00 |
John Tee
Messages: 1 Registered: December 1997
|
Junior Member |
|
|
I have recently run into a problem on HP 700 workstations (HP-UX 10.20),
building C applications that link statically to Wave (using cwavec,
wave_execute, etc). The problem is symbol resolution for libPW, which is
specified as being required by the file
$WAVE_DIR/src/hps700.mkcfg
Investigation of the library has revealed that libPW.a on HPs includes such
functions as rename(). Since these functions are being invoked from other
application libraries, linking with libPW.a causes symbol resolution
problems - the rename() in libPW.a being found before libC, etc. This
rename() calls xlink(), which needs a data variable 'Error', which is
expected to be found elsewhere, but is not !
VNI say that libPW should be linked in (although my program currently works
without it), which makes this a significant problem on HPs. Programs
normally using rename, etc, are linked automatically with other libraries,
as required, and the only way round is to list all other libraries with
potential symbol clashes earlier on the link line. This is a real pain,
and the supplied makefile "quick.mk", and associated documentation is also
rendered useless.
Does anyone know what libPW actually does? VNI support has not yet come up
with a useful explanation. I have linked with it successfully before, but
would prefer not to have the UNIX system calls interfered with in this way.
--
John Tee
Opinions expressed are personal, and do not represent those of my employer.
|
|
|