Running multiple versions of IDS
Posted in 1999
Topics: General Discussion
How do you run multiple versions of IDS on the same box (Solaris
2.5.1)? I've noticed that oninit has /usr/lib/ismdd07b.so hard coded.
This seems like it would defeat the purpose of using LD_LIBRARY_PATH?!?
sample 1:
======
tsparky@klingersys:/opt3/informix/test/v7.23/bin $ ldd oninit
/usr/lib/ismdd07b.so
sample 2:
======
dfsi@klingersys:/opt3/informix/dev/v7.30/bin $ ldd oninit
/usr/lib/iosm07a.so
/usr/lib/ismdd07b.so
Regards,
Steve Romankiw
Steve Romankiw wrote in message <78app6$rg$1@news.xmission.com>...
>
>How do you run multiple versions of IDS on the same box (Solaris
>2.5.1)? I've noticed that oninit has /usr/lib/ismdd07b.so hard coded.
>This seems like it would defeat the purpose of using LD_LIBRARY_PATH?!?
It isn't actually "hard coded", but the installation procedure does create
symbolic links in /usr/lib that point to the real libraries in the
INFORMIXDIR tree.
The reason for this is, I think, that oninit is a setuid program, and as I
recall,
setuid programs don't honor LD_LIBRARY_PATH because of security issues.
I was just looking at this the other day, and thinking,
"Gee, that'd make it hard to run different versions on the same machine..."
Seems like rather than doing the symlinking at install time, they could just
relink the executables using the LD_RUN_PATH=$INFORMIXDIR/lib
>
>sample 1:
>======
>tsparky@klingersys:/opt3/informix/test/v7.23/bin $ ldd oninit
> /usr/lib/ismdd07b.so
>
>sample 2:
>======
>dfsi@klingersys:/opt3/informix/dev/v7.30/bin $ ldd oninit
> /usr/lib/iosm07a.so
> /usr/lib/ismdd07b.so
>
>Regards,
>
>Steve Romankiw
>
In article <78app6$rg$1@news.xmission.com>, Steve Romankiw
<sromankiw@execrisk.com> writes
>
>How do you run multiple versions of IDS on the same box (Solaris
>2.5.1)? I've noticed that oninit has /usr/lib/ismdd07b.so hard coded.
>This seems like it would defeat the purpose of using LD_LIBRARY_PATH?!?
>
Try setting
LD_LIBRARY_PATH=$INFORMIXDIR/lib/tools;$INFORMIXDIR/lib
first and then do the ldd.
>sample 1:
>======
>tsparky@klingersys:/opt3/informix/test/v7.23/bin $ ldd oninit
> /usr/lib/ismdd07b.so
>
>sample 2:
>======
>dfsi@klingersys:/opt3/informix/dev/v7.30/bin $ ldd oninit
> /usr/lib/iosm07a.so
> /usr/lib/ismdd07b.so
>
>Regards,
>
>Steve Romankiw
>
--
David Williams
>How do you run multiple versions of IDS on the same box (Solaris
>2.5.1)? I've noticed that oninit has /usr/lib/ismdd07b.so hard coded.
>This seems like it would defeat the purpose of using LD_LIBRARY_PATH?!?
While this library is needed by the engine it is not really all that important
which version is run. I is not a central component of the engine. Whenever we
have a major change in this shared object such that it would be incompatable
with prior versions, we rename the object. There used to be a "ismdd07a.so".
When versions of the engine are no longer compatable with ismdd07b.so, we will
change the name to ismdd07c.so.
This should cause no problem with any version of the engine that runs with the
ismdd07b.so revison of this library. Therefor, you can still run multiple
levels of the engine.
Madison Pruet