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. UNIX for Advanced & Expert Users
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
LIGCC(1) Listaller Project LIGCC(1)
NAME
ligcc - Wrapper around gcc to create more portable apps
SYNOPSIS
ligcc [OPTION ...]
DESCRIPTION
This manual page documents briefly the ligcc command.
ligcc is a wrapper around gcc. It allows you to create more portable executables by doing three things:
o Forces the linker to link against older glibc symbols. Users who are using an older version of glibc will no longer get "undefined
symbol GLIBC_2.4 in /lib/libc.so"-style error messages.
o Allows you to easily statically link to any other library.
o Automatically removes bogus dependancies. For example, your program uses libfoo. libfoo uses libpng internally, but your app does not.
Yet the pkg-config file for libfoo specifies "-lfoo -lpng" is linker parameters. And tadaa - you now have a bogus dependancy on libpng!
LiGCC automatically removes the -lpng for you if your app doesn't use libpng directly.
o Add $ORIGIN/../lib to the binary's library search path. $ORIGIN is the directory in which the binary exists. This ensures that your
binary can find library dependencies which are placed in the 'lib' folder under the same prefix. You might want to install custom
libraries into /lib. If you set $APBUILD_PROJECTNAME, ligcc will also add $ORIGIN/../lib/$APBUILD_PROJECTNAME to the library search
path.
OPTIONS
See the manpage of gcc(1) for more information about possible options.
There are also several environment variables available to modify ligcc's behavior check the documentation for more information.
SEE ALSO
lig++ (1), gcc(1).
Additional documentation can be found on http://listaller.tenstral.net.
AUTHOR
This manual page was written by Matthias Klumpp matthias@tenstral.net.
COPYRIGHT
Copyright (C) 2009-2012 Matthias Klumpp
Listaller Project 20 April,2012 LIGCC(1)