SUMMARY: Compiling socat-1.5 on tru64 4.0f

From: Roberto Mackun (Roberto.Mackun@poports.com.au)
Date: Thu Sep 14 2006 - 18:37:23 EDT


Hi Managers,

Thanks to all who replied. Here's a summary of the suggestions offered:
------------------------------
Andrew Macneil said:
snprintf and vsnprintf aren't provided in Tru64. But they are in the
Solaris Compatibility Libraries that you can (still) download from the HP
website.
------------------------------
Kai Lanz said:
I don't know if this will apply to your system, but on our 4.0G box,
we found that vsnprintf has no prototype in stdio.h. The other vararg
functions (vprintf, vfprintf, and vsprintf) are defined there, but not
vsnprintf. Try fixing your stdio.h and see if that helps.
-------------------------------
Oisin McGuinness said:
The functions vsnprintf() and snprintf() are not part of the standard C
library libc on Tru64 Unix 4.0f (or 4.0d). They are part of the library on
5.1 and above.

Some open source packages are aware of this, and include implementations of
these functions, and test for these when you set them up. You could probably
borrow such implementations, and add them to the Makefile for the
application
you are building fairly readily.

E.g., for example, Samba (http://samba.org) includes a file snprintf.c in
the lib subdirectory of the source subtree. (And Samba's config setup tests
for this defining macros HAVE_SNPRINTF, HAVE_VSNPRINTF etc to check if Samba
can use a native snprintf.)

You may be able to find other sources for it, but this one has worked for me
in similar cases.
---------------------------------
James Sainsbury said:
I think snprintf() and vsnprintf() were added in 4.0g so you will have to
provide youir own routines under 4.0F.
I snarfed the version in sendmail and used that for code that needed it some
years ago.

Also check config.h for
         #defines HAS_SNPRINTF 1
         #defines HAS_VSNPRINTF 1
and #undef them and try recompiling - the code may have alternative
to the *snprintf() routines.
----------------------------------
Franz Fischer said:
prior to 4.0G, Digital UNIX (Tru64 UNIX) lacks the snprintf and vsnprintf
functions in libc, however libdb defines these, so you could add a
declaration to the offending source files and include
-ldb to the link command line options.

In addition, you should fix the ``cast from pointer to integer of different
size''.
----------------------------------

All of the suggestions pointed to the same problem of missing vsnprintf and
snprintf functions in the libraries currently defined in the socat Makefile.

Franz had been correct that the libc library in v4.0F (even on PK8) was not
as complete as the those on v4.0g or later. I substituted the vsnprintf and
snprintf functions for those in libdb as suggested and the compile completed
successfully. My thanks to Franz for his suggestion.

Hopefully, we should be moving to v5.1b in the near future. Thanks again to
all who replied.

Regards,
Bobby

Roberto Mackun
Senior UNIX Administrator
P&O Ports Limited
Sydney NSW
Australia 2000

*************************************************************************************************
"This e-mail and its attachments are intended for the named addressee only and no liability is accepted for use or reliance on any part of this e-mail by any other person. It is confidential, may be subject to privilege and is also subject to copyright. No part of it should be reproduced, adapted or communicated without the written consent of the copyright owner. Any confidentiality or privilege is not waived or lost because this e-mail has been received by you and you are not the intended recipient. If you are not the intended recipient, please let us know by reply e-mail.

Please note that e-mails can be interfered with, can contain computer viruses or other defects and may not be successfully replicated on other systems. This footnote confirms that this e-mail message has been swept for the presence of computer viruses. However whilst the sender has taken reasonable precautions to minimise the risk of this email and any attachment containing viruses, we cannot accept liability for any such viruses and we give no warranties in relation to any of the above matters. If you have any doubts about the authenticity of this e-mail please contact the sender immediately. No responsibility is accepted for any changes made to a document other than those made by the sender."



This archive was generated by hypermail 2.1.7 : Sat Apr 12 2008 - 10:50:31 EDT