FW: issues with SFL and Solaris 2.7 SC5.0 Compiler

"Pawling, John" <[email protected]> Fri, 16 Mar 2001 11:51:15 -0500
Newsgroups gmane.ietf.sfl
Message-ID <[email protected]>

-----Original Message-----
From: Colestock, Robert 
Sent: Friday, March 16, 2001 11:45 AM
To: '[email protected]'
Cc: Pawling, John
Subject: RE: issues with SFL and Solaris 2.7 SC5.0 Compiler

<snip>

Michael:

I'm sorry I may not be of much help without your specific compiler here.
You are fighting some naive class design issues from before I understood the
class inheritance.  I have seen this issue before, the fix was to simply
make the multiple inherited component "virtual"; I hope this fixes your
problem.  Try changing the definition in "sm_api.h":

	class CSM_MsgToSign : public CSM_CommonData, protected
CSM_DataToSign
to
	class CSM_MsgToSign : virtual public CSM_CommonData, protected
CSM_DataToSign

	class CSM_MsgToVerify : public CSM_CommonData, public
CSM_DataToVerify
to
	class CSM_MsgToVerify : virtual public CSM_CommonData, public
CSM_DataToVerify

Please let me know if this works, I will update our baseline.  It should
also work on the 1st problem you mention (what was your fix for this
error?).

Bob Colestock
VDA.
-----Original Message-----
From: [email protected]
[mailto:[email protected]]
Sent: Friday, March 16, 2001 9:59 AM
To: [email protected]
Subject: issues with SFL and Solaris 2.7 SC5.0 Compiler


Dear all 
I am attempting to build the SFL S/MIME install on a Solaris 2.7 box
using Sun Workshop 5.0 
However there seems to be a few issues in terms of : 

iostream/istream/ostream header includes need updating in asn_config.h
where the std names have changed. 

The multiple inheritance of CSM_CommonData in SMIME/include/sm_api.h
into CSM_MsgToAddSignatures via CSM_MsgToVerify and CSM_MsgToSign causes
compilation errors due to ? strict C++ checking causing the compiler to
look for CSM_CommonData::UpdateEncodedBlob( CSM_MsgToAddSignatures,
CSMContent*) methods rather than resolve the
CSM_CommonData::UpdateEncodedBlob( CSM_Content* ) method as expected. 
And this is just in the header file for the ctors. 
There is also the issue where I've had to insert the (int) cast in
sm_Attr.cpp: 1557 & (?)950-ish because of stricter type checking.
e.g. in 'if(*SnaccRR.receiptsFrom->allOrFirstTier == (int)
AllOrFirstTier::firstTierRecipients)' 

I'm flagging these because they may also turn up when the newer version
of gcc arrives this year. 

Currently I'm stuck on a compiler error in the same vein which throws
out *pCSM_MsgToAddSignatures.MsgToSign::SetContentBlob( CSM_Content* )
which again the compiler refuses to acknowledge  - looking for a method
of signature 'MsgToSign::SetContentBlob( CSM_MsgToAddSignatures,
CSM_Content* )';

All these are from the latest releases from the  SFL site - version 1.9
etc. 
I'd be appreciative of any help here..
Cheers
Mike