03-19-2009
Set User ID Bit And Shared Object
I have one app binary 'main' which is dependent on shared object libfoo.so
owner of main and libfoo.so is user 'oracle:dba'
> ldd main
libfoo.so => ./libfoo.so
libCstd.so.1 => /usr/lib/libCstd.so.1
libCrun.so.1 => /usr/lib/libCrun.so.1
libm.so.2 => /lib/libm.so.2
libc.so.1 => /lib/libc.so.1
Also I have one shell script 'back.sh' which invokes 'main' binary
Owner of this script is user oracle:dba and this script also as a set user ID bit set.
> ls -l back.sh
-rwsrwx--- 1 oracle dba 120 Mar 19 15:02 back.sh
> cat back.sh
#!/bin/sh
LD_LIBRARY_PATH=/app/lib; export LD_LIBRARY_PATH
/app/bin/main
Now I have one more user oraback:dba. who wants to execute this shell script. but every time he tries to execute 'back.sh' he is getting following error.
> ./back.sh
ld.so.1: main: fatal: libfoo.so: open failed: No such file or directory
Killed
Basically when script is excecuted by 'oraback' user main binary is failing to lolate its dependant shared objects .
Please let me know if you know the solution .
Thanks,
Vijay
10 More Discussions You Might Find Interesting
1. Linux
Hi All,
I created the share object file using
gcc -shared -fpic mypp.cpp -o myp.so
but, pls tell me how to link this .so file to my client program.
Thanks (0 Replies)
Discussion started by: sarwan
0 Replies
2. Programming
Hi
I have a multithreaded daemon(server) which will accept connections from various clients and sends back results to them.
In order to serve my daemon clients, it has to establish a TCP connection to another server(vendor supplied which is listening on a specific TCP port) and gets the... (11 Replies)
Discussion started by: axes
11 Replies
3. UNIX for Advanced & Expert Users
Hi All,
I have a problem with the shared objects setup in AIX. We have a customized shell written by the developers over here. When i issue a MQ Series command (mqsilist) it is giving the error as . All the commands making use of this libImbCmdLib.a.so is failing. But when executed in normal... (1 Reply)
Discussion started by: dhanamurthy
1 Replies
4. Shell Programming and Scripting
Hi,
I have created a shared object (abc.so) which has a function sum(int a, int b).
Is there any way to load the "abc.so" and use the sum function using shell script..
thanks in advance (2 Replies)
Discussion started by: yhacks
2 Replies
5. Programming
I have one app binary 'main' which is dependent on shared object libfoo.so
owner of main and libfoo.so is user 'oracle:dba'
> ldd main
libfoo.so => ./libfoo.so
libCstd.so.1 => /usr/lib/libCstd.so.1
libCrun.so.1 => /usr/lib/libCrun.so.1
libm.so.2 => ... (1 Reply)
Discussion started by: vpatil
1 Replies
6. UNIX for Dummies Questions & Answers
I am new to PHP and UNIX. I am using Apache to do my testing on a Windows Vista machine.
I am getting this error when I am trying to connect to a web service. I did a search and did not see any posts that pertain to this.
Here is my function:
<?php
function TRECSend($a, $b, $c, $d,... (0 Replies)
Discussion started by: EddiRae
0 Replies
7. Programming
Hello,
While running a c++ shared object on AIX I am facing below error -
rtld: 0712-001 Symbol __ct__3ETDFv was referenced
from module /bancs/aml/lib/libmonitor.so(), but a runtime definition
of the symbol was not found.
rtld: 0712-001 Symbol etd_insert__3ETDFv was... (3 Replies)
Discussion started by: yatrik007
3 Replies
8. Red Hat
Hi,
I would like to create a shared object ( .so).
This shared object
1. uses the functions from a library.
2. Also it should be able to use the global variable in an app
To achieve this what should I do ? 1) To use the functions in the library should I give the -ld option while... (1 Reply)
Discussion started by: rvan
1 Replies
9. Programming
Hello,
I am new to programming shared objects and I was hoping someone could tell me if what I want to do is possible, or else lead me in the right direction.
I have a main program that contains an abstract base class. I also have a subclass that I'm compiling as a shared object. The subclass... (13 Replies)
Discussion started by: dorik
13 Replies
10. Programming
Hello,
I am not that experienced with Linux, and I am currently facing some issues.
The application I'm working on uses hundreds of threads. To optimize the memory usage, I am putting all my data inside a shared object (so).
The steps for this are as follows:
1. a C file (generated... (17 Replies)
Discussion started by: Maelstrom
17 Replies
LEARN ABOUT DEBIAN
dh_shlibdeps
DH_SHLIBDEPS(1) Debhelper DH_SHLIBDEPS(1)
NAME
dh_shlibdeps - calculate shared library dependencies
SYNOPSIS
dh_shlibdeps [debhelperoptions] [-Lpackage] [-ldirectory] [-Xitem] [--params]
DESCRIPTION
dh_shlibdeps is a debhelper program that is responsible for calculating shared library dependencies for packages.
This program is merely a wrapper around dpkg-shlibdeps(1) that calls it once for each package listed in the control file, passing it a list
of ELF executables and shared libraries it has found.
OPTIONS
-Xitem, --exclude=item
Exclude files that contain item anywhere in their filename from being passed to dpkg-shlibdeps. This will make their dependencies be
ignored. This may be useful in some situations, but use it with caution. This option may be used more than once to exclude more than
one thing.
-- params
Pass params to dpkg-shlibdeps(1).
-uparams, --dpkg-shlibdeps-params=params
This is another way to pass params to dpkg-shlibdeps(1). It is deprecated; use -- instead.
-ldirectory[:directory ...]
With recent versions of dpkg-shlibdeps, this option is generally not needed.
Before dpkg-shlibdeps is run, LD_LIBRARY_PATH will have added to it the specified directory (or directories -- separate with colons).
With recent versions of dpkg-shlibdeps, this is mostly only useful for packages that build multiple flavors of the same library, or
other situations where the library is installed into a directory not on the regular library search path.
-Lpackage, --libpackage=package
With recent versions of dpkg-shlibdeps, this option is generally not needed, unless your package builds multiple flavors of the same
library.
It tells dpkg-shlibdeps (via its -S parameter) to look first in the package build directory for the specified package, when searching
for libraries, symbol files, and shlibs files.
EXAMPLES
Suppose that your source package produces libfoo1, libfoo-dev, and libfoo-bin binary packages. libfoo-bin links against libfoo1, and should
depend on it. In your rules file, first run dh_makeshlibs, then dh_shlibdeps:
dh_makeshlibs
dh_shlibdeps
This will have the effect of generating automatically a shlibs file for libfoo1, and using that file and the libfoo1 library in the
debian/libfoo1/usr/lib directory to calculate shared library dependency information.
If a libbar1 package is also produced, that is an alternate build of libfoo, and is installed into /usr/lib/bar/, you can make libfoo-bin
depend on libbar1 as follows:
dh_shlibdeps -Llibbar1 -l/usr/lib/bar
SEE ALSO
debhelper(7), dpkg-shlibdeps(1)
This program is a part of debhelper.
AUTHOR
Joey Hess <joeyh@debian.org>
9.20120909 2012-09-10 DH_SHLIBDEPS(1)