Sponsored Content
Top Forums Programming Set User ID Bit And Shared Object Post 302299106 by vpatil on Thursday 19th of March 2009 08:08:02 AM
Old 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

Shared Object File

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

calling a shared object from a daemon

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

Issue with shared object in AIX

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

Any way to access shared object using shell

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

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 => ... (1 Reply)
Discussion started by: vpatil
1 Replies

6. UNIX for Dummies Questions & Answers

Object reference not set to an instance of an object

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

Error while running shared object

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

shared object

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

Shared Object Question

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

Help building and using a shared object (x64)

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)
All times are GMT -4. The time now is 06:53 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy