Discussion:
[tao-users] error of ORBInitializer when running hello test
(too old to reply)
Johnny Willemsen
2013-11-11 14:51:20 UTC
Permalink
Hi,

Thanks for using the PRF form. We as Remedy IT are doing regular cross
builds of ACE/TAO and we don't have problems. I remember seeing this
message in the past but not recently. Can you try TAO 2.2.3 which you
can download from http://download.dre.vanderbilt.edu

Best regards,

Johnny Willemsen
Remedy IT
http://www.theaceorb.nl
ACE/TAO VERSION
6.0a 2.0a (ACE+TAO-2.0a.tar.gz)
HOST MACHINE AND OPERATING SYSTEM
Ubuntu 11.10 (3.0.0-12-generic)
cross compile tools: arm-linux-gcc-4.4.3
TARGET MACHINE AND OPERATING SYSTEM
armv71 linux CES-4412P 3.0.15 #9
include "config-linux.h"
cross_compile=1
CROSS_COMPILE=arm-linux-
no_hidden_visibility=1
TAO_IDL:=$HOST/build/linux/bin/tao_idl
TAO_IDLFLGAS+=-g $HOST/build/linux/bin/ace_gperf
TAO_IDL_DEP:=$HOST/build/linux/bin/tao_idl$(EXEEXT)
include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
CONTENTS OF $(ACE_ROOT)/bin/MakeProjectCreator/config/default.features
N/A
AREA/CLASS/EXAMPLE AFFECTED
ace tao orbsvcs for arm is compiling ok
error occurs when run TAO hello test
Does THE PROBLEM AFFECT
COMPILATION? no
LINKING? no
EXECUTION? yes
OTHER(please specify) no
SYNOPSIS
trying to run a basic Hello test for client-server communication
it throws error of ORBInitializer
DESCRIPTION
ace gperf and TAO_IDL are compiled in $HOST/build/linux for host system,
then switch all config to ARM platform and recompile ace tao and
orbsvcs,all the .so
are upload to the target board
Here I have a simple server-client test hello program and compiled
successfully,however ,
"TAO(1194|1074487824) ERROR:ORBInitializer Registry unable to find the
ORBInitializer
Registy instance: Invalid argument"
#########server.cpp#########
int main(){
int argc=3;
char *argv[]={"ace_main","-o","s.ior"};
CORBA::ORB_var orb=CORBA::ORB_init(argc,argv,"server")
.......
}
##########client.cpp#########
int main(){
int argc=3;
char *argc[]={"ace_main","-k","file://s.ior"};
.....
}
server and client are compiled from server.cpp and client.cpp,the error
occurs when I run
./server, also ./client is throwing same error.
I have tryed to use the newest ACE+TAO(6.2.0) to do the same step,but
the error is same,
can somebody help me? Thank you!
Ryan
_______________________________________________
tao-users mailing list
http://list.isis.vanderbilt.edu/mailman/listinfo/tao-users
ryanlee
2013-11-16 10:21:31 UTC
Permalink
I have tried ACE+TAO 6.2.3 and generate C and S from new TAO_IDL, unforturnately the error is the same as: "ERROR:ORBInitializer Registry unable to find the ORBInitializer" also I've tryed ACE+TAO(6.2.0) before, perhaps it's not the reason of verson, you said you have met the same error before, do you remember how to fix it? Thank you!
Post by Johnny Willemsen
Hi,
Thanks for using the PRF form. We as Remedy IT are doing regular cross
builds of ACE/TAO and we don't have problems. I remember seeing this
message in the past but not recently. Can you try TAO 2.2.3 which you
can download from http://download.dre.vanderbilt.edu
Best regards,
Johnny Willemsen
Remedy IT
http://www.theaceorb.nl
ACE/TAO VERSION
6.0a 2.0a (ACE+TAO-2.0a.tar.gz)
HOST MACHINE AND OPERATING SYSTEM
Ubuntu 11.10 (3.0.0-12-generic)
cross compile tools: arm-linux-gcc-4.4.3
TARGET MACHINE AND OPERATING SYSTEM
armv71 linux CES-4412P 3.0.15 #9
include "config-linux.h"
cross_compile=1
CROSS_COMPILE=arm-linux-
no_hidden_visibility=1
TAO_IDL:=$HOST/build/linux/bin/tao_idl
TAO_IDLFLGAS+=-g $HOST/build/linux/bin/ace_gperf
TAO_IDL_DEP:=$HOST/build/linux/bin/tao_idl$(EXEEXT)
include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
CONTENTS OF $(ACE_ROOT)/bin/MakeProjectCreator/config/default.features
N/A
AREA/CLASS/EXAMPLE AFFECTED
ace tao orbsvcs for arm is compiling ok
error occurs when run TAO hello test
Does THE PROBLEM AFFECT
COMPILATION? no
LINKING? no
EXECUTION? yes
OTHER(please specify) no
SYNOPSIS
trying to run a basic Hello test for client-server communication
it throws error of ORBInitializer
DESCRIPTION
ace gperf and TAO_IDL are compiled in $HOST/build/linux for host system,
then switch all config to ARM platform and recompile ace tao and
orbsvcs,all the .so
are upload to the target board
Here I have a simple server-client test hello program and compiled
successfully,however ,
"TAO(1194|1074487824) ERROR:ORBInitializer Registry unable to find the
ORBInitializer
Registy instance: Invalid argument"
#########server.cpp#########
int main(){
int argc=3;
char *argv[]={"ace_main","-o","s.ior"};
CORBA::ORB_var orb=CORBA::ORB_init(argc,argv,"server")
.......
}
##########client.cpp#########
int main(){
int argc=3;
char *argc[]={"ace_main","-k","file://s.ior"};
.....
}
server and client are compiled from server.cpp and client.cpp,the error
occurs when I run
./server, also ./client is throwing same error.
I have tryed to use the newest ACE+TAO(6.2.0) to do the same step,but
the error is same,
can somebody help me? Thank you!
Ryan
_______________________________________________
tao-users mailing list
http://list.isis.vanderbilt.edu/mailman/
ryanlee
2013-11-16 15:01:18 UTC
Permalink
I use shared libraries, all the ace and tao are compiled as (.so),
ps: as parameters, do you mean the agrv parameter of server ? such as
int main(){
int argc=6;
char *argv[]={"ace_main","-o","s.ior","-ORBDebug","-ORBDebugLevel","10"};
CORBA::ORB_var orb=CORBA::ORB_init(argc,argv,"server")
Hi Ryan,
Are you using static linking or shared libraries?
Can you add "-ORBDebug -ORBDebugLevel 10" as separate strings to one of the argv lists and share the result?
Thanks,
Phil
Post by ryanlee
I have tried ACE+TAO 6.2.3 and generate C and S from new TAO_IDL, unforturnately the error is the same as: "ERROR:ORBInitializer Registry unable to find the ORBInitializer" also I've tryed ACE+TAO(6.2.0) before, perhaps it's not the reason of verson, you said you have met the same error before, do you remember how to fix it? Thank you!
--
Phil Mesnier
Principal Software Engineer and Partner, http://www.ociweb.com
Object Computing, Inc.
Phil Mesnier
2013-11-16 14:11:27 UTC
Permalink
Hi Ryan,

Are you using static linking or shared libraries?

Can you add "-ORBDebug -ORBDebugLevel 10" as separate strings to one of the argv lists and share the result?

Thanks,
Phil
Post by ryanlee
I have tried ACE+TAO 6.2.3 and generate C and S from new TAO_IDL, unforturnately the error is the same as: "ERROR:ORBInitializer Registry unable to find the ORBInitializer" also I've tryed ACE+TAO(6.2.0) before, perhaps it's not the reason of verson, you said you have met the same error before, do you remember how to fix it? Thank you!
--
Phil Mesnier
Principal Software Engineer and Partner, http://www.ociweb.com
Object Computing, Inc. +01.314.579.0066 x225
Johnny Willemsen
2013-11-16 18:47:10 UTC
Permalink
Hi,

Just had a quick look at the code, but this error is only given when we
can't find the ORBInitializer. When you have put all libraries on the
target, than this should work. Have you validated that ACE works, you
have a special cross build and port, it could be that the port you are
trying is not stable.

Maybe if you run your application with ORBDebugLevel 10 and ACE_DEBUG=1
set as environment variable it tells you something more, but it is
probably better to take a step back and first try the ACE test suite to
see if your platform is really stable.

Regards,

Johnny
Post by ryanlee
I have tried ACE+TAO 6.2.3 and generate C and S from new TAO_IDL, unforturnately the error is the same as: "ERROR:ORBInitializer Registry unable to find the ORBInitializer" also I've tryed ACE+TAO(6.2.0) before, perhaps it's not the reason of verson, you said you have met the same error before, do you remember how to fix it? Thank you!
Post by Johnny Willemsen
Hi,
Thanks for using the PRF form. We as Remedy IT are doing regular cross
builds of ACE/TAO and we don't have problems. I remember seeing this
message in the past but not recently. Can you try TAO 2.2.3 which you
can download from http://download.dre.vanderbilt.edu
Best regards,
Johnny Willemsen
Remedy IT
http://www.theaceorb.nl
ACE/TAO VERSION
6.0a 2.0a (ACE+TAO-2.0a.tar.gz)
HOST MACHINE AND OPERATING SYSTEM
Ubuntu 11.10 (3.0.0-12-generic)
cross compile tools: arm-linux-gcc-4.4.3
TARGET MACHINE AND OPERATING SYSTEM
armv71 linux CES-4412P 3.0.15 #9
include "config-linux.h"
cross_compile=1
CROSS_COMPILE=arm-linux-
no_hidden_visibility=1
TAO_IDL:=$HOST/build/linux/bin/tao_idl
TAO_IDLFLGAS+=-g $HOST/build/linux/bin/ace_gperf
TAO_IDL_DEP:=$HOST/build/linux/bin/tao_idl$(EXEEXT)
include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
CONTENTS OF $(ACE_ROOT)/bin/MakeProjectCreator/config/default.features
N/A
AREA/CLASS/EXAMPLE AFFECTED
ace tao orbsvcs for arm is compiling ok
error occurs when run TAO hello test
Does THE PROBLEM AFFECT
COMPILATION? no
LINKING? no
EXECUTION? yes
OTHER(please specify) no
SYNOPSIS
trying to run a basic Hello test for client-server communication
it throws error of ORBInitializer
DESCRIPTION
ace gperf and TAO_IDL are compiled in $HOST/build/linux for host system,
then switch all config to ARM platform and recompile ace tao and
orbsvcs,all the .so
are upload to the target board
Here I have a simple server-client test hello program and compiled
successfully,however ,
"TAO(1194|1074487824) ERROR:ORBInitializer Registry unable to find the
ORBInitializer
Registy instance: Invalid argument"
#########server.cpp#########
int main(){
int argc=3;
char *argv[]={"ace_main","-o","s.ior"};
CORBA::ORB_var orb=CORBA::ORB_init(argc,argv,"server")
.......
}
##########client.cpp#########
int main(){
int argc=3;
char *argc[]={"ace_main","-k","file://s.ior"};
.....
}
server and client are compiled from server.cpp and client.cpp,the error
occurs when I run
./server, also ./client is throwing same error.
I have tryed to use the newest ACE+TAO(6.2.0) to do the same step,but
the error is same,
can somebody help me? Thank you!
Ryan
Johnny Willemsen
2013-11-17 13:19:45 UTC
Permalink
Hi,

Thanks for the output. As mentioned earlier, ORBInitializer is optional,
but several of the core TAO libraries you can use do require this.
int main(){
int argc=3;
char *argv[]={"-ORBDebug","-ORBDebugLevel","10"};
CORBA::ORB_var orb=CORBA::ORB_init(argc,argv,"server")
......
}
[snip]
ACE (1144|1087463424) DLL_Handle::open ("libTAO_PI.so", 0x101) -> failed: libTAO_PI.so: cannot open shared object file: No such file or directory
ACE (1144|1087463424) DLL_Handle::open ("TAO_PI.so", 0x101) -> failed: TAO_PI.so: cannot open shared object file: No such file or directory
ACE (1144|1087463424) DLL_Handle::open ("TAO_PI", 0x101) -> failed: TAO_PI: cannot open shared object file: No such file or directory
ACE (1144|1087463424) DLL_Handle::open ("TAO_PI"): Invalid handle error: no error
here is the problem, the ACE service configuration can't find the TAO_PI
library
libACE.so.6.2.3 libTAO_CosNaming_Serv.so.2.2.3
libACEXML.so.6.2.3 libTAO_CosNaming_Skel.so.2.2.3
libACEXML_Parser.so.6.2.3 libTAO_DynamicInterface.so.2.2.3
libTAO.so.2.2.3 libTAO_IFR_Client.so.2.2.3
libTAO_AnyTypeCode.so.2.2.3 libTAO_IFR_Client_skel.so.2.2.3
libTAO_CodecFactory.so.2.2.3 libTAO_IORTable.so.2.2.3
libTAO_Codeset.so.2.2.3 libTAO_Messaging.so.2.2.3
libTAO_CosEvent.so.2.2.3 libTAO_PI.so.2.2.3
libTAO_CosEvent_Serv.so.2.2.3 libTAO_PortableServer.so.2.2.3
libTAO_CosEvent_Skel.so.2.2.3 libTAO_Svc_Utils.so.2.2.3
libTAO_CosNaming.so.2.2.3 libTAO_Valuetype.so.2.2.3
So what do you think the reason cause the problem?
And the reason is that you lack all libraries without the .6.2.3
postfix. Please create symbolic links like libACE.so which points to
libACE.so.6.2.3. The loading of services doesn't use the version postfix.

Best regards,

Johnny

Loading...