|
|
|
|||||
|
Ice 2.1.2 / 3.0.0 on OpenSUSE 10
Hi,
I've been a lurker in the realm of ICE for quite some time now. I've installed ICE 2.1.2 locally and played with the examples coming with the distribution and in Connections, but haven't tried much more (yet). After upgrading my system from SuSE 9.2 to OpenSUSE 10, and after the announcement of ICE 3.0.0, I'm now pushing myself to dig into the matter more deeply. And I run into trouble, e.g., for starters I just can't make ICE 3.0.0 behave like ICE 2.1.2 out-of-the-box. My setup is as follows: ~/.bashrc exports the following entries ICE_LOCAL=$HOME/Work/Ice ICE_HOME=$ICE_LOCAL/Ice (which is a softlink to either Ice-2.1.2 or Ice-3.0.0) ICEJ_HOME=$ICE_LOCAL/IceJ (which is a softlink to either IceJ-2.1.2 or IceJ-3.0.0) ICEPY_HOME=$ICE_LOCAL/IcePy (which is a softlink to either IcePy-2.1.2 or IcePy-3.0.0) PATH=$ICE_HOME/bin:$PATH LD_LIBRARY_PATH=$ICE_HOME/lib:$LD_LIBRARY_PATH CLASSPATH=$ICEJ_HOME/lib/Ice.jar:$CLASSPATH PYTHONPATH=$ICEPY_HOME/lib:$ICEPY_HOME/python:$PYTHONPATH /etc/hosts has the entries (created by the OpenSUSE installation) 127.0.0.1 localhost 127.0.0.2 linux.site linux The six archives for Ice-C++, Ice-Java, Ice-Python are extracted in $ICE_LOCAL, and three softlinks pointing to the top-directories for C++, Java, and Python are set (a) for version 2.1.2, xor (b) for version 3.0.0. The two C++ code bases compile fine with g++ 4.0.2 (IceJ-2.1.2 fails, because my current setup only has Berkeley DB 4.3.27, but not 4.2.52 installed; IcePy-2.1.2 works fine), but when I try the initial example ./demo/book/printer, I get differing results. When I set a softlink from $ICE_LOCAL/Ice-2.1.2 to $ICE_LOCAL/Ice and enter $ICE_HOME/demo/book/printer, the invocation $ ./server --Ice.Trace.Network=2 replies with the output Network: attempting to bind to tcp socket 127.0.0.2:10000 Network: accepting tcp connections at 127.0.0.2: 10000 In another shell I invoke $ ./client --Ice.Trace.Network=2 which gives Network: trying to establish tcp connection to 127.0.0.2:10000 Netwok: tcp connection established local address = 127.0.0.2:28551 remote address = 127.0.0.2: 10000 and ships "Hello world" to the server shell. Fine. But when I try to do the same after setting the softlink "Ice" from $ICE_LOCAL/Ice-2.1.2 to $ICE_LOCAL/Ice-3.0.0, the situation is different. Now, the invocation in $ICE_HOME/demo/book/printer ./server --Ice.Trace.Network=2 gives the differing output Network: attempting to bind to tcp socket 127.0.0.1:10000 Network: accepting tcp connections at 127.0.0.1: 10000 i.e., the server talks over "localhost" instead of "linux". The client invocation (after "cd $ICE_HOME/demo/book/printer" into the 3.0.0 package path) ./client --Ice.Trace.Network=2 gives Network: trying to establish tcp connection to 127.0.0.2:1000 twice, plus Network.cpp:669: Ice::ConnectionRefusedException: connection refused: Connection refused The examples codes are identical (untouched after extracting the source archives) and compiled out-of-the-box. So, I'm stuck and would appreciate your help with the upgrade. Afterwards, I'll get to the Java and Python parts. Thanks in advance |
|
|||||
|
Thank you, Dwayne, for the immediate response. With the server option
--Ice.Default.Host=linux all is fine. The C++ and Java servers/clients talk with each other, and the Python 'hello' example works as well. Thanks again! |
![]() |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|