- Community Home
- >
- Servers and Operating Systems
- >
- Operating Systems
- >
- Operating System - HP-UX
- >
- Re: Can not use proc after patched oracle client t...
Operating System - HP-UX
1753974
Members
7637
Online
108811
Solutions
Forums
Categories
Company
Local Language
юдл
back
Forums
Discussions
Forums
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
Discussions
Discussions
Discussions
Forums
Forums
Discussions
юдл
back
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Blogs
Information
Community
Resources
Community Language
Language
Forums
Blogs
Go to solution
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО06-27-2005 09:07 PM
тАО06-27-2005 09:07 PM
The error is as follows:
> proc
/usr/lib/pa20_64/dld.sl: Unable to find library 'libclntsh.sl.9.0'.
Killed
When I add two environment variables in the .profile, then it works.
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:/lib
export LIBPATH=$ORACLE_HOME/lib:/usr/lib:/lib
But it works without the two environment variables before patched.
Who can tell me the reason about it?
Thanks.
> proc
/usr/lib/pa20_64/dld.sl: Unable to find library 'libclntsh.sl.9.0'.
Killed
When I add two environment variables in the .profile, then it works.
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:/lib
export LIBPATH=$ORACLE_HOME/lib:/usr/lib:/lib
But it works without the two environment variables before patched.
Who can tell me the reason about it?
Thanks.
Solved! Go to Solution.
3 REPLIES 3
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО06-28-2005 04:20 PM
тАО06-28-2005 04:20 PM
Solution
Hi Qiang,
The problem is because the programs are setuid and setgid. This turns off library path search see man ld on page 29 (extract below
Some restrictions exist for 64-bit mode with executables built with shared libraries and with S-bit set (through +s enabled). The behavior of 64-bit executables does not match the behavior of equivalent 32-bit executables or executables built with +compat. For any setuid or setgid programs, dld disables any dynamic library searching through environment variables, SHLIB_PATH for 32-bit and 64-bit mode, and LD_LIBRARY_PATH for 64-bit mode. If a library only exists in the directory specified in SHLIB_PATH (or LD_LIBRARY_PATH), you get the runtime error "library not found" if the program is a setuid program (that is, uid not equal to euid or gid not equal to eguid) and it depends on that library. dld uses the dynamic path lookup (with SHLIB_PATH) only if the following conditions are satisfied: getuid () == geteuid () && getgid () == getegid (). That is, if the uid or gid does not match its effective counterpart, dld
searches only the recorded library path. As a result, dld does not check the SHLIB_PATH which causes the runtime error "library not found".
Note:109621.1 HP-UX: LD_LIBRARY_PATH and SHLIB_PATH
I hope this helps
Indira A
The problem is because the programs are setuid and setgid. This turns off library path search see man ld on page 29 (extract below
Some restrictions exist for 64-bit mode with executables built with shared libraries and with S-bit set (through +s enabled). The behavior of 64-bit executables does not match the behavior of equivalent 32-bit executables or executables built with +compat. For any setuid or setgid programs, dld disables any dynamic library searching through environment variables, SHLIB_PATH for 32-bit and 64-bit mode, and LD_LIBRARY_PATH for 64-bit mode. If a library only exists in the directory specified in SHLIB_PATH (or LD_LIBRARY_PATH), you get the runtime error "library not found" if the program is a setuid program (that is, uid not equal to euid or gid not equal to eguid) and it depends on that library. dld uses the dynamic path lookup (with SHLIB_PATH) only if the following conditions are satisfied: getuid () == geteuid () && getgid () == getegid (). That is, if the uid or gid does not match its effective counterpart, dld
searches only the recorded library path. As a result, dld does not check the SHLIB_PATH which causes the runtime error "library not found".
Note:109621.1 HP-UX: LD_LIBRARY_PATH and SHLIB_PATH
I hope this helps
Indira A
Never give up, Keep Trying
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО06-28-2005 07:15 PM
тАО06-28-2005 07:15 PM
Re: Can not use proc after patched oracle client to 9.2.0.6.
hi,
according to metalink note: 284670.1 (which is applicable to a previous patch), libclntsh.sl.9.0 32bit version does not get rebuild.
It affects 9i R1 (9.0.1) and 9i R2 (9.2) and 10G R1 (10.1) and have been fixed in 9.2.0.6 and 10.1.0.3.
According to the note, the following environment variables are important too:
$LD_LIBRARY_PATH - includes $ORACLE_HOME/lib, but not $ORACLE_HOME/lib32
$SHLIB_PATH - includes $ORACLE_HOME/lib32, but not $ORACLE_HOME/lib
So, i believe the fixes brought along with the new patch is causing the problem you have described above.
Hence, you always need the two environment variable defined.
hope this helps too!
regards
yogeeraj
according to metalink note: 284670.1 (which is applicable to a previous patch), libclntsh.sl.9.0 32bit version does not get rebuild.
It affects 9i R1 (9.0.1) and 9i R2 (9.2) and 10G R1 (10.1) and have been fixed in 9.2.0.6 and 10.1.0.3.
According to the note, the following environment variables are important too:
$LD_LIBRARY_PATH - includes $ORACLE_HOME/lib, but not $ORACLE_HOME/lib32
$SHLIB_PATH - includes $ORACLE_HOME/lib32, but not $ORACLE_HOME/lib
So, i believe the fixes brought along with the new patch is causing the problem you have described above.
Hence, you always need the two environment variable defined.
hope this helps too!
regards
yogeeraj
No person was ever honoured for what he received. Honour has been the reward for what he gave (clavin coolidge)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО06-28-2005 09:34 PM
тАО06-28-2005 09:34 PM
Re: Can not use proc after patched oracle client to 9.2.0.6.
I have patched another three oracle databases to 9.2.0.6, and proc work correctly after patched without set the LD_LIBRARY and LIBPATH in these servers.
Why only patching oracle client will produce the error?
Why only patching oracle client will produce the error?
The opinions expressed above are the personal opinions of the authors, not of Hewlett Packard Enterprise. By using this site, you accept the Terms of Use and Rules of Participation.
News and Events
Support
© Copyright 2024 Hewlett Packard Enterprise Development LP