Archived
This forum has been archived. Please start a new discussion on GitHub.
Unable to run icegridnode
Hi,
I downloaded the ice source code for Linux and used make to build.
When I tried to execute icegridnode built by make, I got an
exception:
icegridnode --Ice.Config=./node2.cfg
05/19/08 17:02:41.750 error: service caught unhandled Ice exception:
ThreadPool.cpp:64: Ice::SocketException:
socket exception: Function not implemented
libgcc_s.so.1 must be installed for pthread_cancel to work
Appreciate any input on resolving this issue.
Thanks,
Sandeep
I downloaded the ice source code for Linux and used make to build.
When I tried to execute icegridnode built by make, I got an
exception:
icegridnode --Ice.Config=./node2.cfg
05/19/08 17:02:41.750 error: service caught unhandled Ice exception:
ThreadPool.cpp:64: Ice::SocketException:
socket exception: Function not implemented
libgcc_s.so.1 must be installed for pthread_cancel to work
Appreciate any input on resolving this issue.
Thanks,
Sandeep
0
Comments
-
Hi Sandeep,
Could you describe your environment? Linux distribution, processor architecture, C++ compiler version, Ice version, etc.
Thanks,
Bernard0 -
Environment info
Linux distribution - Red Hat Enterprise Linux AS release 3 (Taroon Update 6)
processor i686
C++ compiler version - GCC 3.3.4(32 bit)
Ice version - 3.2.10 -
Hi,
Note that we don't officially support this Red Hat distribution (see this page for a list of supported platforms). It looks like epoll is not supported on your system. You should recompile Ice from sources to use poll() instead. Edit the config/Make.rules.Linux file from your Ice source distribution and add -DICE_NO_EPOLL to the CXXFLAGS macro definition at line 86:CXXFLAGS = $(CXXARCHFLAGS) -ftemplate-depth-128 -Wall -D_REENTRANT -DICE_NO_EPOLL
Once you rebuilt Ice following the instructions from INSTALL.LINUX, you can run the test suite with "make test" to make sure it works.
Cheers,
Benoit.0 -
Icegridnode issue
Hi Benoit,
The issue has been resolved with the CXXFLAG. Thanks very much.
All tests run ok.
Also, noted the platform support disclaimer.
I found two issues in the source files while doing make on Freeze:
1. SharedDbEnv.cpp uses a constant DB_LOG_AUTOREMOVE which is not declared
2. Util.cpp uses a constant DB_BUFFER_SMALL which is not declared
Can the constants be removed from the source distribution? I have commented out their references in order to build successfully.
Thanks,
Sandeep0 -
Which BerkeleyDB version do you use?
I recommend to install and use the BerkeleyDB version supported by Ice 3.2.1: BerkeleyDB 4.5.20. You can download it from the Oracle web site or from the "Source Code for Third-Party Software" section of our download page.
Once installed, you can either set DB_HOME in your envionment or edit config/Make.rules to specify the location of the BerkeleyDB 4.5.20 installation before building Ice. See INSTALL.LINUX for more information.
Cheers,
Benoit.0