On Mon, 2008-02-25 at 15:36 +0100, Thomas Girard wrote: > On Mon, Feb 25, 2008 at 03:23:31PM +0100, Thomas Girard wrote: > > From a first sight, it seems to me that replacing: > > RefCountServantBase > > with: > > ServantBase > > > > in Salomé files should be enough. > > So the following pipeline (modifying Salomé files, beware!), run from > Salomé toplevel directory, should work: > find -type f -print0 | xargs -0 grep RefCountServantBase | cut -d: -f1 | > sort | uniq | xargs sed -i -e 's/RefCountServantBase/ServantBase/g' > > Could you please try to compile this modified Salomé with omniORB 4.1 from > unstable, and report if it succeeds?
Thanks for your help! Unfortunately, it did not work. :-( g++ "-DPACKAGE_NAME=\"Salome2 Project\"" -DPACKAGE_TARNAME=\"salome\" -DPACKAGE_VERSION=\"3.2.5\" "-DPACKAGE_STRING=\"Salome2 Project 3.2.5\"" -DPACKAGE_BUGREPORT=\"[EMAIL PROTECTED]" -DPACKAGE=\"salome\" -DVERSION=\"3.2.5\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DHAVE_LIBDL=1 -DHAVE_LIBRT=1 -DHAVE_LIBM=1 -DHAVE_NAMESPACES= -DHAVE_PTHREAD=1 -D__x86__=1 -D__linux__=1 -D__OSVERSION__=1 -DOMNIORB=1 -DCORBA_HAVE_POA=1 -DCORBA_ORB_INIT_HAVE_3_ARGS=1 -DCORBA_ORB_INIT_THIRD_ARG=\"omniORB\" -DRM=\"/bin/rm\" -DSH=\"/bin/sh\" -DCP=\"/bin/cp\" -DRSH=\"/usr/bin/rsh\" -DRCP=\"/usr/bin/rcp\" -DSSH=\"/bin/false\" -DSCP=\"/bin/false\" -I. -I../../salome_adm/unix -I../../idl -DOMNIORB_VERSION=4 -D__x86__ -D__linux__ -DCOMP_CORBA_DOUBLE -DCOMP_CORBA_LONG -I/usr/include -I/usr/include/omniORB4 -I/usr/include/COS -DHAVE_MPI2 -DHAVE_SOCKET -m64 -D_OCC64 -g -D_DEBUG_ -Wno-deprecated -Wparentheses -Wreturn-type -Wunused -pthread -MT libSalomeLoggerServer_la-SALOME_Logger_Server.lo -MD -MP -MF .deps/libSalomeLoggerServer_la-SALOME_Logger_Server.Tpo -c SALOME_Logger_Server.cxx -fPIC -DPIC -o .libs/libSalomeLoggerServer_la-SALOME_Logger_Server.o In file included from SALOME_Logger_Server.cxx:12: SALOME_Logger_Server.hxx:26: warning: direct base ‘PortableServer::ServantBase’ inaccessible in ‘Logger’ due to ambiguity SALOME_Logger_Server.hxx:26: error: no unique final overrider for ‘virtual void* omniServant::_downcast()’ in ‘Logger’ SALOME_Logger_Server.hxx:26: error: no unique final overrider for ‘virtual omniObjRef* omniServant::_do_get_interface()’ in ‘Logger’ SALOME_Logger_Server.hxx:26: error: no unique final overrider for ‘virtual void omniServant::_add_ref()’ in ‘Logger’ SALOME_Logger_Server.hxx:26: error: no unique final overrider for ‘virtual void omniServant::_remove_ref()’ in ‘Logger’ make[3]: *** [libSalomeLoggerServer_la-SALOME_Logger_Server.lo] Error 1 I'm attaching the .cxx and .hxx files. This is the first "fixed" file the build encountered. If you have any ideas on how to proceed, I'm all ears -- and have time to work on it. -Adam -- GPG fingerprint: D54D 1AEE B11C CE9B A02B C5DD 526F 01E8 564E E4B6 Engineering consulting with open source tools http://www.opennovation.com/
// SALOME Logger : CORBA server managing trace output // // Copyright (C) 2003 CEA/DEN, EDF R&D // // See http://www.salome-platform.org/ or email : [EMAIL PROTECTED] // // File : SALOME_Logger_Server.cxx // Author : Vasily Rusyaev // Module : SALOME #include <iostream> #include "SALOME_Logger_Server.hxx" #include <SALOMEconfig.h> #include <sys/types.h> #ifndef __WIN32__ # include <unistd.h> #endif #ifdef WNT #include <omnithread/pthread_nt.h> #endif omni_mutex Logger::myLock; ///////////////////////////////////////////////////////////////////// // Construction/Destruction ////////////////////////////////////////////////////////////////////// Logger::Logger() { m_putIntoFile = false; } Logger::Logger(const char *filename) { // m_outputFile.open( filename, ios::out | ios::trunc , filebuf::openprot); m_outputFile.open( filename, std::ios::out | std::ios::trunc); if (m_outputFile.is_open()) m_putIntoFile = true; else m_putIntoFile = false; } Logger::~Logger() { if (m_putIntoFile) m_outputFile.close(); } void Logger::putMessage(const char* message) { myLock.lock(); if (m_putIntoFile) m_outputFile << message << std::flush; else std::cout << message; myLock.unlock(); } void Logger::ping() { //cout<<" Logger::ping() pid "<< getpid()<<endl; }
// SALOME Logger : CORBA server managing trace output // // Copyright (C) 2003 CEA/DEN, EDF R&D // // See http://www.salome-platform.org/ or email : [EMAIL PROTECTED] // // File : SALOME_Logger_Server.hxx // Author : Vasily Rusyaev // Module : SALOME #if !defined SALOME_Logger_Server_include #define SALOME_Logger_Server_include #ifndef WNT #include <fstream.h> #else #include <fstream> #include <iosfwd> #endif #include <omnithread.h> #include "Logger.hh" class Logger : public POA_SALOME_Logger::Logger, public PortableServer::ServantBase { public: //constructor w/o parameters //all messages will be put into terminal via cout Logger(); //constructor with parameter, filename is output file //all messages will be put into special file passed as parameter Logger(const char *filename); virtual ~Logger(); //put message into one special place for all servers void putMessage(const char* message); void ping(); private: //if m_putIntoFile is true all messages will be put into special //otherwise all messages will be put into terminal via cout bool m_putIntoFile; //ofstream class specialized for disk file output #ifndef WNT ofstream m_outputFile; #else std::ofstream m_outputFile; #endif //synchronisation object static omni_mutex myLock; }; #endif // !defined(SALOME_Logger_Server_include)