Discussion:
How to compile mico with externalize enabled?
Andreas Benzler
2009-01-09 10:10:40 UTC
Permalink
Hi all

I would like to compile mico 2.3.13 with externalize support but all I
got was a lot of errors. I tried different configurations to solve the
problem but nothing worked out. Does some of you could manage to compile
mico with externalize support?

Here is what I did:

first try:
./configure --enable-externalize

resulting compile errors:
In file included from CosExternalization.cc:8:
./CosExternalization.h:123:31: error: coss/CosLifeCycle.h: No such file
or directory
./CosExternalization.h:124:36: error: coss/CosObjectIdentity.h: No such
file or directory
./CosExternalization.h:127:35: error: coss/CosRelationships.h: No such
file or directory
./CosExternalization.h:128:28: error: coss/CosGraphs.h: No such file or
directory

next try:
./configure --enable-externalize --enable-life

resulting compile errors:
./CosCompoundLifeCycle.h:64:36: error: coss/CosObjectIdentity.h: No such
file or directory
./CosCompoundLifeCycle.h:67:35: error: coss/CosRelationships.h: No such
file or directory
./CosCompoundLifeCycle.h:68:28: error: coss/CosGraphs.h: No such file or
directory

next try:
./configure --enable-externalize --enable-life --enable-relship

resulting compile errors:
FactoryFinder_impl.cc:27:34: error: coss/CosTradingRepos.h: No such file
or directory
In file included from ../../include/coss/FactoryFinder_impl.h:30,

from FactoryFinder_impl.cc:28:

../../include/coss/RegisterHelper.h:3:29: error: coss/CosTrading.h: No
such file or directory
In file included from FactoryFinder_impl.cc:28:

../../include/coss/FactoryFinder_impl.h:35: error: ‘CosTrading’ has not
been declared


next try:
./configure --enable-externalize --enable-life --enable-relship
--enable-trader

resulting compile errors:
/XXXXX/mico/./idl/idl --no-poa --boa --c++-skel -B../.. --any --name
CosTrading ../../include/coss/CosTrading.idl
error: --boa option is no longer supported
(if you need BOA support, please use MICO release older than 2.3.12)




I am using a SUSE 11.1 with gcc 4.3 and the mico 2.3.13 release.

Thanks for helping

Andreas
Karel Gardas
2009-01-12 08:23:20 UTC
Permalink
Hi Andreas,

unfortunately as you see current externalize and lifecycle services are
completely broken. They had never been enabled by default (for default
build) and in addition none offered help when I asked for it with
porting MICO's BOA based services to POA. So the services are completely
untested for several years now and rely on a code which is already
removed from MICO.

If you would like to help fixing them, then I would suggest installing
MICO 2.3.7 release for verification what's working and what's not (to
have reference installation of these services) and then:

1) port services to use POA
2) make them thread safe

Your help with this is highly appreciated!
Karel
Post by Andreas Benzler
Hi all
I would like to compile mico 2.3.13 with externalize support but all I
got was a lot of errors. I tried different configurations to solve the
problem but nothing worked out. Does some of you could manage to compile
mico with externalize support?
./configure --enable-externalize
./CosExternalization.h:123:31: error: coss/CosLifeCycle.h: No such file
or directory
./CosExternalization.h:124:36: error: coss/CosObjectIdentity.h: No such
file or directory
./CosExternalization.h:127:35: error: coss/CosRelationships.h: No such
file or directory
./CosExternalization.h:128:28: error: coss/CosGraphs.h: No such file or
directory
./configure --enable-externalize --enable-life
./CosCompoundLifeCycle.h:64:36: error: coss/CosObjectIdentity.h: No such
file or directory
./CosCompoundLifeCycle.h:67:35: error: coss/CosRelationships.h: No such
file or directory
./CosCompoundLifeCycle.h:68:28: error: coss/CosGraphs.h: No such file or
directory
./configure --enable-externalize --enable-life --enable-relship
FactoryFinder_impl.cc:27:34: error: coss/CosTradingRepos.h: No such file
or directory
In file included from ../../include/coss/FactoryFinder_impl.h:30,
../../include/coss/RegisterHelper.h:3:29: error: coss/CosTrading.h: No
such file or directory
../../include/coss/FactoryFinder_impl.h:35: error: ‘CosTrading’ has not
been declared
./configure --enable-externalize --enable-life --enable-relship
--enable-trader
/XXXXX/mico/./idl/idl --no-poa --boa --c++-skel -B../.. --any --name
CosTrading ../../include/coss/CosTrading.idl
error: --boa option is no longer supported
(if you need BOA support, please use MICO release older than 2.3.12)
I am using a SUSE 11.1 with gcc 4.3 and the mico 2.3.13 release.
Thanks for helping
Andreas
_______________________________________________
Mico-devel mailing list
http://www.mico.org/mailman/listinfo/mico-devel
--
Karel Gardas ***@objectsecurity.com
ObjectSecurity Ltd. http://www.objectsecurity.com
Andreas Benzler
2009-01-12 09:45:57 UTC
Permalink
Hi Karel

Thank for your fast info.
Currently my time is very limited and I do not work on mico stuff in the
first place, so I am sorry but I probably won't have the time to help
out here.
The reason I looked at the externalize service was that we encountered
problems to serialize mico objects in the server when a QT application
is the client. (See my other posts on the list). I am not an mico /
CORBA expert but I thought externalizing is a service that does
serializing as well and I just wanted to give it a short try...
I have a student working on that serializing problem. I just wanted to
be able to give him some more hints to look for because he still could
not solve the problem.

Sorry that I currently can not help out.

Andreas
Karel Gardas
2009-01-12 10:29:43 UTC
Permalink
Hi Andreas,

in this case completely forgot MICO's externalize service and use what
you already did: PI's Codec. That's the way to go.

Cheers,
Karel
Post by Andreas Benzler
Hi Karel
Thank for your fast info.
Currently my time is very limited and I do not work on mico stuff in the
first place, so I am sorry but I probably won't have the time to help
out here.
The reason I looked at the externalize service was that we encountered
problems to serialize mico objects in the server when a QT application
is the client. (See my other posts on the list). I am not an mico /
CORBA expert but I thought externalizing is a service that does
serializing as well and I just wanted to give it a short try...
I have a student working on that serializing problem. I just wanted to
be able to give him some more hints to look for because he still could
not solve the problem.
Sorry that I currently can not help out.
Andreas
_______________________________________________
Mico-devel mailing list
http://www.mico.org/mailman/listinfo/mico-devel
--
Karel Gardas ***@objectsecurity.com
ObjectSecurity Ltd. http://www.objectsecurity.com
Yi Zhao
2009-01-12 12:36:01 UTC
Permalink
hi, all, when I try to connect to server by inet adderss from client, I failed, can anyone help me?  thanks very much.
 
first, I create my server program as below:
#-----------------server------------------
#include <iostream>
#include "black_board_impl.h"
using namespace std;
int main(int argc, char *argv[])
{
  CORBA::ORB_var orb = CORBA::ORB_init (argc, argv, "mico-local-orb");
  CORBA::Object_var obj = orb->resolve_initial_references ("RootPOA");
  PortableServer::POA_var poa = PortableServer::POA::_narrow (obj);
  PortableServer::POAManager_var mgr = poa->the_POAManager();
  blackboard * servant = new blackboard;
  PortableServer::ObjectId_var oid = poa->activate_object (servant);
  mgr->activate();
  orb->run ();
  return 0;
}
#--------------
I start the server by the command: ./myprogram -ORBIIOPAddr inet:127.0.0.1:12123
 
I try to connect to server by inet address as below, but, I failed, can any one tell my the reason?
#-----------------client------------------
  CORBA::ORB_var Orb = CORBA::ORB_init(argc, argv, "mico-local-orb");
  CORBA::Object_var Obj = Orb->bind("IDL::black_board:1.0", "inet:127.0.0.1:12123");
  if (CORBA::is_nil (Obj)) {
    cout << "cannot bind to server addr" << endl;
    return 1;
  } else {
    cout << "bind to server addr successfully" << endl;
  }
 
 
thanks very much!!!
Karel Gardas
2009-01-17 10:59:21 UTC
Permalink
Hi,

first please try to correct your "IDL::black_board:1.0" to
"IDL:black_board:1.0". If it still does not work, I would advice to read
some of POA sources. I'm not sure it supports MICO binder.

Cheers,
Karel
hi, all, when I try to connect to server by inet adderss from client, I failed, can anyone help me? thanks very much.
#-----------------server------------------
#include <iostream>
#include "black_board_impl.h"
using namespace std;
int main(int argc, char *argv[])
{
CORBA::ORB_var orb = CORBA::ORB_init (argc, argv, "mico-local-orb");
CORBA::Object_var obj = orb->resolve_initial_references ("RootPOA");
PortableServer::POA_var poa = PortableServer::POA::_narrow (obj);
PortableServer::POAManager_var mgr = poa->the_POAManager();
blackboard * servant = new blackboard;
PortableServer::ObjectId_var oid = poa->activate_object (servant);
mgr->activate();
orb->run ();
return 0;
}
#--------------
I start the server by the command: ./myprogram -ORBIIOPAddr inet:127.0.0.1:12123
I try to connect to server by inet address as below, but, I failed, can any one tell my the reason?
#-----------------client------------------
CORBA::ORB_var Orb = CORBA::ORB_init(argc, argv, "mico-local-orb");
CORBA::Object_var Obj = Orb->bind("IDL::black_board:1.0", "inet:127.0.0.1:12123");
if (CORBA::is_nil (Obj)) {
cout << "cannot bind to server addr" << endl;
return 1;
} else {
cout << "bind to server addr successfully" << endl;
}
thanks very much!!!
------------------------------------------------------------------------
_______________________________________________
Mico-devel mailing list
http://www.mico.org/mailman/listinfo/mico-devel
--
Karel Gardas ***@objectsecurity.com
ObjectSecurity Ltd. http://www.objectsecurity.com
Loading...