Sponsored Content
Top Forums Programming resolve_symbols: loader error: dlopen: Post 302078248 by gfhgfnhhn on Thursday 29th of June 2006 03:50:25 AM
Old 06-29-2006
Error resolve_symbols: loader error: dlopen:

when i try to run an executable i got the following error message:

resolve_symbols: loader error: dlopen:

what does this error mean and what should be done to avoid this?


with regards
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

SQL loader error

Hi friends, i am getting the following error when i am using sql loader. SQL*Loader: Release 8.1.7.4.0 - Production on Tue Apr 19 13:00:07 2005 (c) Copyright 2000 Oracle Corporation. All rights reserved. SQL*Loader-704: Internal error: ulconnect: OCIServerAttach ORA-12535:... (4 Replies)
Discussion started by: sveera
4 Replies

2. Solaris

dlopen issue with a dll

HI All, I am trying to use a dll using dlopen but in vain. When I try to ldd that dll it returns no output. Can anybody please tell me how I can load this dll in my process space. PS: ldd -l returns a lot of unsatisfied dependent symbols. Thanks a lot in advance Codeman (0 Replies)
Discussion started by: codeman
0 Replies

3. Programming

dlopen failed!

I can open my so file successfully by calling dlopen directly in my main function. But if I fork a child process, and call dlopen in child process, it failed! I don't know why. Following is my code: #include <stdio.h> #include <errno.h> #include <dlfcn.h> void childFunc(void) { void... (1 Reply)
Discussion started by: virmin
1 Replies

4. Programming

compile error while using dlopen

Hi unix lovers, I am getting error while compile a function which uses dlopen. My code is I am getting error as follows Am I missing something? I think I am missing a lot :-) I am using solaris. Thanks in advance, -Ashish (5 Replies)
Discussion started by: shriashishpatil
5 Replies

5. UNIX for Dummies Questions & Answers

error running COBOL - ".loader does not exist"

Hello. I am new to the unix environment. Currently, I am taking existing COBOL source code and attempting to compile and run on our new UNIX machine. I have succesfully compiled an object. When I try to run I get the follwing error: 0509-036 Cannot load program abeunix.o because of the... (16 Replies)
Discussion started by: jbrubaker
16 Replies

6. UNIX for Advanced & Expert Users

Bus error(coredump) while running SQL*Loader in HP Unix 11

Hi All, I am getting coredump error, when I try to execute Oracle SQL*Loader from Shell script in Unix environment. But SQL*Loader from local machine runs fine with same database. SQL*Loader: Release 9.2.0.6.0 - Production on Mon Apr 23 05:23:47 2007 Copyright (c) 1982, 2002, Oracle... (3 Replies)
Discussion started by: srinivas_paluku
3 Replies

7. Programming

dlopen help

//foo.c #include<stdio.h> int pen(int a) { printf("%d",a); } $cc -c foo.c $ls -shared -o libfoo.so foo.o ///////////now libfoo.so formed //i have already designed libfoo.so //main.c #include<stdio.h> #include <dlfcn.h> int main() { (2 Replies)
Discussion started by: lookforlohith
2 Replies

8. Solaris

dlopen() on dolaris

Dear experts, please help #include <stdio.h> #include <dlfcn.h> #include <link.h> #include <iostream.h> #include<stdlib.h> #include<errno.h> void main() { printf("\n in the main\n"); void *handle; handle = dlopen("my.so", RTLD_LAZY); if( handle ==... (2 Replies)
Discussion started by: vin_pll
2 Replies

9. Programming

Dynamic library load with dlopen

Hi, I created two library libsum.so and libproduct.so. In the libproduct.so is defined function "product" that use function "sum" defined in libsum.so. So libproduct depends on libsum. In main function I called product function by a dlopen request. Unfortunaly, when I execute program I have an... (5 Replies)
Discussion started by: shade82
5 Replies

10. Programming

dlopen Linux vs. OSX

I've got a C++ program and some plugins ( shared objects ) that I have been developing for Linux. I was originally using and OSX machine to develop and test most of the code. I use dlopen to open the shared objects and then call methods from them. It behaves differently on Linux ( don't know the... (3 Replies)
Discussion started by: rfkrakora
3 Replies
dlopen(3)						     Library Functions Manual							 dlopen(3)

NAME
dlopen - Gain access to an executable object file SYNOPSIS
#include <dlfcn.h> void *dlopen(const char *file, int mode) PARAMETERS
Used to construct a pathname to an object file. Determines how dlopen() will operate upon the specified file with respect to the process- ing of relocations and the scope of visibility of the symbols provided within the file. DESCRIPTION
The dlopen function provides an interface to the dynamic library loader to allow shared libraries to be loaded and called at run time. The dlopen function attempts to load the specified file in the address space of the process, resolving symbols as appropriate. Any libraries that the specified file depends upon are also loaded. A successful dlopen() returns a handle that the caller can use on subsequent calls to dlsym() and dlclose(). The value of this handle should not be interpreted in any way by the caller. The file argument is used to construct a pathname to the object file. If it includes a slash character (/), the file argument is used as the pathname for the file. Otherwise, dlopen will attempt to locate the file using shared library search directories in the order speci- fied below (see loader(5) for more details on shared library search directories): The current directory The program's rpath directories LD_LIBRARY_PATH directories Default shared library directories If the value of file is 0, dlopen provides a handle on a global symbol object. This object provides access to the symbols from an ordered set of objects consisting of the original program image file, together with any objects loaded at program startup as specified by that process image file (for example, shared libraries), and the set of objects loaded using a dlopen operation together with the RTLD_GLOBAL flag. As the latter set of objects can change during execution, the set identified by the handle can also change dynamically. Only a single copy of an object file is brought into the address space - even if dlopen() is invoked multiple times in reference to the file or if different pathnames are used to reference the file. The mode parameter describes how dlopen() will operate upon the specified file with respect to the processing of relocations and the scope of visibility of the symbols provided within the file. When an object is brought into the address space of a process, it may contain ref- erences to symbols whose addresses are not known until the object is loaded. These references must be relocated before the symbols can be accessed. The mode parameter governs when these relocations take place and may have the following values: The run-time loader performs relocations only as needed. Typically, this means that the first call to a function in the newly loaded library will cause the resolution of the address of that function to occur. All necessary relocations are performed when the object is first loaded. This may waste some processing if relocations are performed for functions that are never referenced. This behaviour may be useful for applications that need to know, as soon as an object is loaded, that all symbols referenced during execution will be available. Any object loaded by dlopen() that requires relocations against global symbols can reference: The symbols in the original process image file Any objects loaded at program startup, from the object itself as well as any other object included in the same dlopen() invocation Any objects that were loaded in any dlopen() invocation and which specified the RTLD_GLOBAL flag. To determine the scope of visibility for the symbols loaded with a dlopen() invocation, the mode parameter should be bitwise ORed with one of the following values: The object's symbols are made available for the relocation processing of any other object. In addition, symbol lookup using dlopen(0, mode) and an associated dlsym() allows objects loaded with this mode to be searched. The object's symbols are not made available for the relocation processing of any other object. If neither RTLD_GLOBAL nor RTLD_LOCAL are specified, RTLD_GLOBAL will be assumed. However, unlike explicit use of RTLD_GLOBAL, this default mode will allow dynamic rebinding of symbol addresses and recalculation of dynamic relocations as shared libraries are loaded or unloaded. If a file is specified in multiple dlopen() invocations, mode is interpreted at each invocation. Note, however, that once RTLD_NOW has been specified, all relocations will have been completed (which renders further RTLD_NOW operations redundant and any further RTLD_LAZY opera- tions irrelevant). Also note that once RTLD_GLOBAL has been specified, the object will maintain the RTLD_GLOBAL status regardless of any previous or future specification of RTLD_LOCAL, so long as the object remains in the address space (see dlclose(3)). Symbols introduced into a program by calls to dlopen() may be used in relocation activities. Symbols so introduced may duplicate symbols already defined by the program or previous dlopen() operations. To resolve the ambiguities such a situation might present, the resolution of a symbol reference to symbol definition is based on a symbol resolution order. Two such resolution orders are defined, load or depen- dency ordering: Load order establishes an ordering among symbol definitions, such that the definition first loaded (including definitions from the image file and any dependent objects loaded with it) has priority over objects added later (by dlopen()). Load ordering is used in relocation processing. Dependency ordering uses a breadth-first order starting with a given object, then all of its dependencies, then any dependents of those, iterating until all dependencies are satisfied. With the exception of the global symbol object obtained by a dlopen() operation on a file of 0, dependency ordering is used by the dlsym() function. Load ordering is used in dlsym() operations upon the global symbol object. When an object is first made accessible by dlopen(), it and its dependent objects are added in dependency order. Once all the objects are added, relocations are performed using load ordering. Note that if an object or its dependencies had been previously loaded, the load and dependency orders may yield different resolutions. RETURN VALUE
The dlopen function will return NULL under the following conditions: If the specified file cannot be found, cannot be opened for reading, or is not of an appropriate object format for processing by dlopen() If an error occurs during the process of loading the file or relocat- ing its symbolic references More detailed diagnostic information will be available through dlerror(). ERRORS
No errors are defined. NOTES
The dlopen and dlclose routines might dynamically change the resolution of certain symbols referenced by a program or its shared library dependencies. The dlopen routine might resolve symbols that were previously unresolved, and dlclose might cause resolved symbols to become unresolved or to be reresolved to a different symbol definition. Dynamic symbol resolution functions reliably for programs compiled with the -O0 flag. Also, routines that do not call dlopen or dlclose, either directly or indirectly, can safely depend on dynamic symbol resolution. The maximum number of shared libraries that can be loaded simultaneously by a single process is approximately 60. This limit can be raised by reconfiguring the kernel's vm-mapentries parameter. This parameter should be set to at least three times the desired maximum number of shared libraries that can be loaded by a process. See the manual System Administration for instructions on reconfiguring the vm-mapentries parameter. RELATED INFORMATION
dlclose(3), dlerror(3), dlsym(3), ld(1), loader(5). delim off dlopen(3)
All times are GMT -4. The time now is 11:49 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy