Solaris10 IceGrid gets a db error on startup.

in Help Center
I'm not able to start IceGrid on Solaris10. I have been running on Linux for a while and I now have a need to deploy on Solaris 10 and I can't IceGrid to start up. I downloaded the Ice Binaries for Solaris 10 and built the Third party libraries (except for SSL which got a build error). I'm getting the following error upon startup of IceGrid.
SharedDbEnv.cpp:550: Freeze::DatabaseException:
DbEnv::open: DB_RUNRECOVERY: Fatal error, run database recovery
I already tried removing the "db" directory and recreating it as an empty directory because I thought the Linux version was not compatible with the Solaris version of the db.
SharedDbEnv.cpp:550: Freeze::DatabaseException:
DbEnv::open: DB_RUNRECOVERY: Fatal error, run database recovery
I already tried removing the "db" directory and recreating it as an empty directory because I thought the Linux version was not compatible with the Solaris version of the db.
0
Comments
You don't need to build any third-party library to use our Solaris 10 binaries. The README in your Ice for Solaris distribution describes what is included and the Sun packages you need to install.
Did you build your own Berkeley DB libraries? Did you try running IceGrid using the Berkeley DB libraries that came with the Ice for Solaris distribution?
BTW is this on SPARC or x86?
Best regards,
Bernard
My sysadmin says we have a SunC++ on our system so I'm going to compile my application using that. However I will still need to get the IceGrid running so I still have an question to be answered if possible.
We have the three dependencies installed that are listed in the README (SUNWopenssl, SUNWlexpt, SUNWbzip) and it still does not run. Path and LD_LIBRARY_PATH are pointing to the intalled location for Ice-3.3.1
/program/seeker1c_sac/cots/sol10/Ice-3.3/bin/icegridregistry: failure occurred in daemon:
service caught unhandled Ice exception:
SharedDbEnv.cpp:550: Freeze::DatabaseException:
DbEnv::open: DB_RUNRECOVERY: Fatal error, run database recovery
What am I doing wrong?
register.cfg is:
IceGrid.Registry.Client.Endpoints=tcp -p 4061
IceGrid.Registry.Server.Endpoints=tcp
IceGrid.Registry.Internal.Endpoints=tcp
IceGrid.Registry.AdminPermissionsVerifier=IceGrid/NullPermissionsVerifier
IceGrid.Registry.Data=/tilde/basraij/.icegrid/registry
IceGrid.Registry.DynamicRegistration=1
Could you confirm the directory /tilde/basraij/.icegrid/registry exists, is empty and is writable?
Are you also running icegridregistry simply as yourself, i.e.
$ icegridregistry --Ice.Config=<somepath>/register.cfg
?
Best regards,
Bernard
$ICEGRID --daemon --Ice.Config=$BASEDIR/icegrid/registry.cfg
I had intended to run a different namespace and second icestorm with different ports but I think I forgot to update a path in the config file after copying it. It should be
IceGrid.Registry.Data=/tilde/basraij/hoth/icegrid/registry
It now starts fine. What's happening is that the other directory is being written to by a copy of icegrid that is still running on Linux.