Home Help Center

Solaris10 IceGrid gets a db error on startup.

JohnBJohnB Member John BasraiOrganization: VeriFoneProject: Trident ✭✭
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.

Comments

  • bernardbernard Jupiter, FLAdministrators, ZeroC Staff Bernard NormierOrganization: ZeroC, Inc.Project: Ice ZeroC Staff
    Hi John,

    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
  • JohnBJohnB Member John BasraiOrganization: VeriFoneProject: Trident ✭✭
    This is Sparc and we are using GCC 3.4.6 compiler so we may need to rebuild everthing from sources because GCC is not link compatiable with SunC++ compiler that you use. I built Berkely DB with Gnu compiler but tried to use it with the pre-built binaries that I downloaded. This may explain why they didn't work. I will look for the pre-built third party libraries in the dowload package.
    bernard wrote: »
    Hi John,

    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
  • JohnBJohnB Member John BasraiOrganization: VeriFoneProject: Trident ✭✭
    Still not working with prebuilt Sol10 binaries.

    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
  • bernardbernard Jupiter, FLAdministrators, ZeroC Staff Bernard NormierOrganization: ZeroC, Inc.Project: Ice ZeroC Staff
    Hi John,

    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
  • JohnBJohnB Member John BasraiOrganization: VeriFoneProject: Trident ✭✭
    I was running it from a shell script
    $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.
    bernard wrote: »
    Hi John,

    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
Sign In or Register to comment.