On Fri, Jan 30, 2004, Dennis McRitchie wrote:
> I have just uploaded oracle-barebone-9.2.0.1-20040128.nosrc.rpm to the
> contrib area.
>
> The only change from the previous version is a critical documentation change
> to oracle-barebone.txt: The new instructions now state in part:
>
> 3. Also create an empty directory /oracle/OracleHome on the target machine,
> also owned by oracle/oracle. Then create a symbolic link to it from
> %{l_prefix}/share/oracle-barebone, e.g.,
> ln -s /oracle/OracleHome %{l_prefix}/share/oracle-barebone
>
> The user is then instructed to use this symbolic link as the path to use
> when installing Oracle 9i, instead of using /oracle/OracleHome.
>
> The reason for this change is that libclntsh.so is created at install time
> (by genclntsh), and records the current ORACLE_HOME as the RPATH to use when
> loading for libwtc9.so at run time. Both files are subsequently moved to
> %{l_prefix}/share/oracle-barebone. Furthermore, in programs such as the
> DBD::Oracle sub-module within the perl-dbi module, when Oracle.so is built,
> libclntsh.so is explicitly specified, but libwtc9.so is not. It is assumed
> that ORACLE_HOME will not have changed once Oracle 9i has been installed. So
> when Oracle.so is subsequently loaded, the ldd (dynamic loader) on Solaris
> can't find libwtc9.so once it has been moved to
> %{l_prefix}/share/oracle-barebone. (The dynamic loader on Red Hat Linux 9
> also looks in /oracle/OracleHome, but if it does not find it there, it then
> looks in %{l_prefix}/share/oracle-barebone. So DBD::Oracle works on Linux,
> but it would be safer if the dynamic loader did not look in
> /oracle/OracleHome at all.)
>
> The advantage of changing things in oracle-barebone rather than in perl-dbi
> is that all users of libclntsh.so will benefit automatically.
Yes, but is implies that you build the oracle-barebone only for your
particular %{l_prefix}. Once you build it for a different one you again
went into trouble. And OpenPKG is about "we allow installating into
arbitrary filesystem areas", the only real solution is to explicitly
link in libwtc9.so in all packages. So I prefer more a patch for
DBD::Oracle here, because it is then a universal solution while your
symlink approach solves the problem just locally... Nevertheless it is a
tricky idea we should mention in the documentation.
Ralf S. Engelschall
[EMAIL PROTECTED]
www.engelschall.com
______________________________________________________________________
The OpenPKG Project www.openpkg.org
Developer Communication List [EMAIL PROTECTED]