OpenClovis / SAFplus-Availability-Scalability-Platform

Middleware that provides libraries, GUI, and code generator to design multi-node (clustered) applications that are highly available, redundant, and scalable. Provides sub-second node and application fault detection and failover, and useful application libraries including distributed hash tables (checkpoint), event, logging, and communications. Implements SA-Forum APIs where applicable. Used anywhere reliability is a must -- like telecom, wireless, defense and enterprise computing. Download stable release with installer from: ftp.openclovis.com
www.openclovis.com
GNU General Public License v2.0
19 stars 13 forks source link

C++ compilation for SAF code base. #112

Open nateshrevankar opened 10 years ago

nateshrevankar commented 10 years ago

The activity is to build Openclovis codebase enabling C++ macro. The compilation errors need to be fixed for all active modules (discard the deprecated modules).

vnpraveendesu commented 10 years ago

SAFplus following modules are compatible for c++ and git hub check-in links:

  1. eo
  2. log
  3. dbal
  4. debug
  5. idl
  6. ioc
  7. rmd
  8. event
  9. ckpt

    https://github.com/OpenClovis/SAFplus-Availability-Scalability-Platform/commit/215c8a827bbf62b13e58928434b7610275cd2a3f

    https://github.com/OpenClovis/SAFplus-Availability-Scalability-Platform/commit/67e8913615cefb499e32373dbc5b15da4407902d https://github.com/OpenClovis/SAFplus-Availability-Scalability-Platform/commit/4600421ac0700fb9d123eaecb24587ba32a8b836

    https://github.com/OpenClovis/SAFplus-Availability-Scalability-Platform/commit/8905cd602ab312218d2c435d96343d5c944707f5

vnpraveendesu commented 10 years ago

Following SAFplus modules are compatible for c++ and git hub check-in links:

  1. gms
  2. sm
  3. hal
  4. msg
  5. name https://github.com/OpenClovis/SAFplus-Availability-Scalability-Platform/commit/38c19381dd35ecc5c48a2d8718fe399a29d06f95

Only SAFplus amf component is pending

vnpraveendesu commented 10 years ago

Following SAFplus following modules are compatible for c++ and git hub check-in links:

  1. ntf
  2. ams ( part of amf) https://github.com/OpenClovis/SAFplus-Availability-Scalability-Platform/commit/fab6f324f4fe6b56c1f85dacef7b26a4149cd9a0 https://github.com/OpenClovis/SAFplus-Availability-Scalability-Platform/commit/3bde9983e65035414dea18b047116a20a2afe529
vnpraveendesu commented 10 years ago

Following SAFplus modules are compatible for c++ and git hub check-in links:

  1. CPM (part of amf)
  2. ioc plugins ( tipc,udp)
  3. Cm

https://github.com/OpenClovis/SAFplus-Availability-Scalability-Platform/commit/903671ee9647c8776e697cdcfd034358b7895995

https://github.com/OpenClovis/SAFplus-Platform-Support-Package/commit/6b948907d330092f013690dbb3936323e4e70051

Linking errors need to be resolved while generating the binary executable

https://github.com/OpenClovis/SAFplus-Availability-Scalability-Platform/commit/107858999157fc3674c99ad77342b973bc3c88e1

https://github.com/OpenClovis/SAFplus-Availability-Scalability-Platform/commit/48c644f99725f6d5debc6ceba4240850d181d214

https://github.com/OpenClovis/SAFplus-Availability-Scalability-Platform/commit/026d8189cdc2ae6fab2ca05da6f62007650e3893

https://github.com/OpenClovis/SAFplus-Availability-Scalability-Platform/commit/ceb600c9978194b09bc5169556dd1c561a2bffd5

vnpraveendesu commented 10 years ago

While generating binaries for SAFplus services, getting linking errors as:

LINK$(TARGET)/x86_64/linux-3.5.5/bin/safplus_logd clLogDebugDeregister clLogDebugRegister soSecPrefix clLogSvrFilterSet_4_0_0 clLogFileOwnerStateRecover clLogFileOwnerMasterStateRecover clLogExternalSend_4_0_0 clLogFileHdlrFileOpen_4_0_0 clLogFileHdlrFileRecordsGet_4_0_0 clLogFileHdlrFileMetaDataGet_4_0_0 clLogMasterAttrVerifyNGet_4_0_0 clLogMasterStreamCloseNotify_4_0_0 clLogMasterStreamListGet_4_0_0 clLogMasterCompIdChkNGet_4_0_0 clLogMasterCompListGet_4_0_0 clLogMasterCompListNotify_4_0_0 clLogStreamOwnerStreamOpen_4_0_0 clLogStreamOwnerStreamClose_4_0_0 clLogStreamOwnerFilterSet_4_0_0 clLogStreamOwnerHandlerRegister_4_0_0 clLogStreamOwnerStreamMcastGet_4_0_0 clLogStreamOwnerHandlerDeregister_4_0_0 clLogStreamOwnerFilterGet_4_0_0 clLogSvrStreamOpen_4_0_0 clLogSvrStreamClose_4_0_0 clLogSvrFilterSet_4_0_0 clLogSvrStreamHandleFlagsUpdate_4_0_0 clLogHandlerSvrAckSend_4_0_0 clHalLibFinalize clHalLibInitialize

Working to resolve linking errors.

vnpraveendesu commented 10 years ago

Resolved the above linking errors for SAFplus log component and git hub check-in links

https://github.com/OpenClovis/SAFplus-Availability-Scalability-Platform/commit/d7d37c331e9d4671188eda8bf0ef98c98856172b https://github.com/OpenClovis/SAFplus-Availability-Scalability-Platform/commit/96835122451ccbdcd514ce5b7d6ab30384391e99 Working to resolve linking errors for remaining SAFplus components ( ckpt, name,msg, gms and amf) for c++ build

vnpraveendesu commented 10 years ago

Resolved linking errors for remaining SAFplus components ( ckpt, name, msg, gms and amf) for c++ build and following are git hub check-ins

https://github.com/OpenClovis/SAFplus-Availability-Scalability-Platform/commit/2d37679e85f2b13003d837652c516dc3d09b6685 https://github.com/OpenClovis/SAFplus-Availability-Scalability-Platform/commit/cba8871a690868f9eaaac2c615319be3dc697806

Progress

  1. Able to create safplus_watchdog,safplus_amf
  2. safplus_log,safplus_gms,safplus_event, safplus_name, safplus_ckpt, safplus_msg are not getting created

Issue It was unable to call cpmComponentInstantiate rmd method for c++ and needs to be investigated further.

vnpraveendesu commented 10 years ago

SAFplus was not come up due to loading of tipc related functions through dlsym because g++ add additional characters to function name if the function declaration not available in that file.

Resolved with addition of header file for tipc related function.

https://github.com/OpenClovis/SAFplus-Availability-Scalability-Platform/commit/ea9014153f933c63a41f020d7ed75e97e0b02620