10 More Discussions You Might Find Interesting
1. Programming
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
2. AIX
Hello,
One of our Customer is getting Coredump when our application is trying to load a library(one of our products library) using dlopen() on AIX 6.1.
Our application and our shared library are built on AIX 5.3 machine using xlC compiler.
we have tried executing the same application on... (2 Replies)
Discussion started by: erra_krishna
2 Replies
3. Programming
I've attached a tar.gz containing three tests to demonstrate the problem I'm having.
Within the tar are two shared libraries, two test applications, and a Makefile that builds the three tests.
The shared libaries are libshlib1.so and libshlib2.so. Both export a function, libFunc, which takes... (5 Replies)
Discussion started by: DreamWarrior
5 Replies
4. Programming
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
5. Solaris
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
6. Programming
//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
7. Programming
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 (1 Reply)
Discussion started by: gfhgfnhhn
1 Replies
8. Programming
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
9. Programming
Hi
Where is the default location of libs to search, when we specify any lib in dlopen function.
And if we want to specify a custom location, how will we do it?
thanks. (1 Reply)
Discussion started by: sumsin
1 Replies
10. Programming
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
sane-dll(5) SANE Scanner Access Now Easy sane-dll(5)
NAME
sane-dll - SANE dynamic backend loader
DESCRIPTION
The sane-dll library implements a SANE (Scanner Access Now Easy) backend that provides access to an arbitrary number of other SANE back-
ends. These backends may either be pre-loaded at the time the sane-dll library is built or, on systems that support dynamic loading of
shared libraries, the backends may be loaded at runtime. In the latter case, adding support for a new backend simply involves installing
the relevant library in /usr/lib64/sane and adding an entry to the dll.conf configuration file. In other words, no applications need to be
modified or recompiled to add support for new devices.
DEVICE NAMES
This backend expects device names of the form:
backend:device
Where backend is the name of the backend and device is the name of the device in this backend that should be addressed. If the device name
does not contain a colon (:), then the entire string is treated as the device string for the default backend. The default backend is the
backend listed last in the configuration file (see below) or the first pre-loaded backend (if any).
CONFIGURATION
The contents of the dll.conf file is a list of backend names that may be loaded dynamically upon demand. Empty lines are ignored, also
everything after a hash mark (#). A sample configuration file is shown below:
net
# this is a comment
pnm
mustek
Note that backends that were pre-loaded when building this library do not have to be listed in this configuration file. That is, if a
backend was preloaded, then that backend will always be present, regardless of whether it's listed in the configuration file or not.
The list of preloaded backends is determined by macro PRELOADABLE_BACKENDS in file backend/Makefile.in of the SANE source code distribu-
tion. After changing the value of this macro, it is necessary to reconfigure, rebuild, and reinstall SANE for the change to take effect.
Aliases are defined in the config file dll.aliases. It can contain entries of the form
alias SomeName SaneDeviceName
alias "Some Name" SaneDeviceName
hide SaneDeviceName
For example:
alias Epson net:somehost:epson:/dev/sgX
alias "Siemens ST400" st400:/dev/sgY
hide net:somehost:pnm:0
hide net:somehost:pnm:1
alias "Read from file" pnm:0
hide pnm:1
Aliased device names are automatically hidden.
The idea is that users don't have to deal with complicated device names (especially for networked devices), and to hide other exported
devices which might confuse them. Note that a hidden device can still be accessed if the device name is known, it just doesn't appear on
the list.
FILES
/etc/sane.d/dll.aliases
The list of aliased or hidden backends.
/etc/sane.d/dll.conf
The backend configuration file (see also description of SANE_CONFIG_DIR below).
/usr/lib64/sane/libsane-dll.a
The static library implementing this backend.
/usr/lib64/sane/libsane-dll.so
The shared library implementing this backend (present on systems that support dynamic loading).
ENVIRONMENT
SANE_CONFIG_DIR
This environment variable specifies the list of directories that may contain the configuration file. Under UNIX, the directories
are separated by a colon (`:'), under OS/2, they are separated by a semi-colon (`;'). If this variable is not set, the configura-
tion file is searched in two default directories: first, the current working directory (".") and then in /etc/sane.d. If the value
of the environment variable ends with the directory separator character, then the default directories are searched after the explic-
itly specified directories. For example, setting SANE_CONFIG_DIR to "/tmp/config:" would result in directories "tmp/config", ".",
and "/etc/sane.d" being searched (in this order).
SANE_DEBUG_DLL
If the library was compiled with debug support enabled, this environment variable controls the debug level for this backend. E.g.,
a value of 128 requests all debug output to be printed. Smaller levels reduce verbosity.
Value Description
0 print severe errors only
1 print normal errors and important messages
2 print normal messages
3 print debugging messages
4 print everything
Example: export SANE_DEBUG_DLL=3
SEE ALSO
sane(7), scanimage(1), sane-"backendname"(5)
AUTHOR
David Mosberger
13 Jul 2008 sane-dll(5)