Sponsored Content
Full Discussion: Creating a shared Libary ?
Top Forums Programming Creating a shared Libary ? Post 78083 by Lazzar on Friday 15th of July 2005 10:12:53 AM
Old 07-15-2005
Question Creating a shared Libary ?

hi,
I am trying to build a shared libary to overwrite some standard c functions (malloc etc), now i get the following error:

my system is AIX 5.2

Code:
gcc -fPIC -g -c -Wall mycfile.c

so far so good .o file created--> mycfile.o
now building the .a or .so libary (.a or .so ?? i am not sure which file type ist has to be)
Code:
gcc -shared -WI,-soname,libmystuff.so.1 -o libmystuff.so.1.0.1 mycfile.o -lc -ldl
ld: 0706-005 Cannot find or open file: libmystuff.so.1
        ld:open(): A file or directory in the path name does not exist.
collect2: ld returned 255 exit status

Why is he trying to open libmystuff.so.1 ?? he should create it!

what am i doing wrong?

Lazzar
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Shared Objects

Hi Friends ! I have a library, say libxyz.a. To view all the object files in the archive, i issued the command : ar -t libxyz.a which displayed all the object files it contains. Now, I would like to know the functions in each object file. Is there any such command that displays... (3 Replies)
Discussion started by: mrgubbala
3 Replies

2. Linux

Shared Libraries

How do i make a library shared say i have a library a.so which i have just compiled. I want to make it shared how do i make it Next Queation is what is the difference between a.so.0 a.so.1 a.so.2 & a.so :rolleyes: (1 Reply)
Discussion started by: wojtyla
1 Replies

3. Linux

load error while creating shared library

Hi, I am trying to create shared library. When i run the script to build the library i get these errors ld: warning: option -o appears more than once, first setting taken ld: fatal: file libgc.so.0: open failed: No such file or directory ld: fatal: File processing errors. No output written... (0 Replies)
Discussion started by: masg1
0 Replies

4. AIX

Creating a shared filesystem

Hi everybody, Is it possible to create a Shared Filesystem on Network to be accessed from 2 Systems? Both systems are AIX but with different versions. One of these systems is AIX 4.3 & the other is AIX 5.2. Thanks in advanced (8 Replies)
Discussion started by: aldowsary
8 Replies

5. Programming

Shared memory in shared library

I need to create a shared library to access an in memory DB. The DB is not huge, but big enough to make it cumbersome to carry around in every single process using the shared library. Luckily, it is pretty static information, so I don't need to worry much about synchronizing the data between... (12 Replies)
Discussion started by: DreamWarrior
12 Replies

6. Programming

Shared memory for shared library

I am writing a shared library in Linux (but compatible with other UNIXes) and I want to allow multiple instances to share a piece of memory -- 1 byte is enough. What's the "best" way to do this? I want to optimize for speed and portability. Obviously, I'll have to worry about mutual exclusion. (0 Replies)
Discussion started by: otheus
0 Replies

7. Shell Programming and Scripting

help needed with creating challenging bash script with creating directories

Hi, Can someone help me with creating a bash shell script. I need to create a script that gets a positive number n as an argument. The script must create n directories in the current directory with names like map_1, map_2 etcetera. Each directory must be contained within its predecessor. So... (7 Replies)
Discussion started by: I-1
7 Replies

8. AIX

Shared FS

I am working on project that need shared access to the FS from 2 AIX HACMP nodes. This FS is created on a SAN disk and the VG that includes this FS is active on node A. What options do I have so that this FS can also be accessed from Node B ? We don't have GPFS, so that is not a option.... (3 Replies)
Discussion started by: mk8570
3 Replies

9. Programming

Shared library with acces to shared memory.

Hello. I am new to this forum and I would like to ask for advice about low level POSIX programming. I have to implement a POSIX compliant C shared library. A file will have some variables and the shared library will have some functions which need those variables. There is one special... (5 Replies)
Discussion started by: iamjag
5 Replies

10. Homework & Coursework Questions

Creating a .profile, displaying system variables, and creating an alias

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known data: Here is what I am supposed to do, word for word from my assignment page: 1. Create/modify and print a... (2 Replies)
Discussion started by: Jagst3r21
2 Replies
USELIB(2)						     Linux Programmer's Manual							 USELIB(2)

NAME
uselib - load shared library SYNOPSIS
#include <unistd.h> int uselib(const char *library); DESCRIPTION
The system call uselib() serves to load a shared library to be used by the calling process. It is given a pathname. The address where to load is found in the library itself. The library can have any recognized binary format. RETURN VALUE
On success, zero is returned. On error, -1 is returned, and errno is set appropriately. ERRORS
In addition to all of the error codes returned by open(2) and mmap(2), the following may also be returned: EACCES The library specified by library does not have read or execute permission, or the caller does not have search permission for one of the directories in the path prefix. (See also path_resolution(7).) ENFILE The system limit on the total number of open files has been reached. ENOEXEC The file specified by library is not an executable of known type, e.g., does not have the correct magic numbers. CONFORMING TO
uselib() is Linux-specific, and should not be used in programs intended to be portable. NOTES
uselib() was used by early libc startup code to load the shared libraries with names found in an array of names in the binary. Since libc 4.3.2, startup code tries to prefix these names with "/usr/lib", "/lib" and "" before giving up. In libc 4.3.4 and later these names are looked for in the directories found in LD_LIBRARY_PATH, and if not found there, prefixes "/usr/lib", "/lib" and "/" are tried. From libc 4.4.4 on only the library "/lib/ld.so" is loaded, so that this dynamic library can load the remaining libraries needed (again using this call). This is also the state of affairs in libc5. glibc2 does not use this call. SEE ALSO
ar(1), gcc(1), ld(1), ldd(1), mmap(2), open(2), dlopen(3), capabilities(7), ld.so(8) COLOPHON
This page is part of release 3.25 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/. Linux 2005-01-09 USELIB(2)
All times are GMT -4. The time now is 06:15 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy