shared-objects

How to use pkglib_LTLIBRARIES = test.la to only build *.so

I'm using autotools to build a shared object. Using pkglib_LTLIBRARIES in my Makefile.am causes a libtest.la AND libtest.so to be built. I only want it to build/install libtest.so Is this possible? ...

ld cannot find an existing library

I am attempting to link an application with g++ on this Debian lenny system. ld is complaining it cannot find specified libraries. The specific example here is ImageMagick, but I am having similar problems with a few other libraries too. I am calling the linker with: g++ -w (..lots of .o files/include directories/etc..) \ -L/usr/lib -l...

Portable shared objects?

Is it possible to use shared object files in a portable way like DLLs in Windows?? I'm wondering if there is a way I could provide a compiled library, ready to use, for Linux. As the same way you can compile a DLL in Windows and it can be used on any other Windows (ok, not ANY other, but on most of them it can). Is that possible in Lin...

Exceptions on Linux from a shared object (.so)

I have a test program called ftest. It loads .so files that contain tests and runs the tests that it finds in there. One of these tests loads and runs a .so that contains a Postgres database driver for our O/RM. When the Postgres driver throws an exception which is defined in that .so file (or one that it links to, but ftest does not li...

How do I load a shared object in C++?

I have a shared object (a so - the Linux equivalent of a Windows dll) that I'd like to import and use with my test code. I'm sure it's not this simple ;) but this is the sort of thing I'd like to do.. #include "headerforClassFromBlah.h" int main() { load( "blah.so" ); ClassFromBlah a; a.DoSomething(); } I assume that t...

Error on dlopen: St9bad_alloc

I have some c++ code I'm using for testing in which the first line is a call to dlopen in an attempt to load my shared object. Upon hitting this line I get the following error: Terminate called after throwing an instance of std::bad_alloc: what() : St9bad_alloc I've upped the memory (free -m now reports that I have ~120 MB free wh...

Program can't load after setting the setuid bit on

Consider this scenario in which an executable A.bin uses libY.so and libZ.so. A.c, Y.c and Z.c are all written in C. Z.c and Y.c are compiled into respective .so files. This is the directory structure of the files $home/bin/A.bin $home/lib/libY.so $home/lib/libZ.so When I run A.bin as normal user, A.bin runs normally as expected. Note...

Remote Shared Objects: Which is better, one array SO or multiple object SOs?

Hello everyone, I'm building a multiplayer game using Flash/Flex for the client and FluorineFX (just like FCS/FMS except it is written in .NET) on the server-side. My questions are regarding the use and performance of shared objects over RTMP protocol. Essentially, I'm planning on having quite a few objects on screen simultaneously, ea...

missing symbols that should be there

I'm stumped. Here is the output of ld. /usr/lib/libvisual-0.6/actor/actor_avs_superscope.so: undefined reference to `visual_mem_free' /usr/lib/libvisual-0.6/actor/actor_avs_superscope.so: undefined reference to `visual_mem_malloc0' Here are the macros: #define visual_mem_new0(struct_type, n_structs) \ ((struct_type *) v...

How to create make .so files from code written in C or C++ that are usable from Python

Looking at Python modules and at code in the "lib-dnyload" directory in the Python framework, I noticed whenever code is creating some kind of GUI or graphic it imports a non-Python file with a .so extension. And there are tons .so files in "lib-dnyload". From googling things I found that these files are called shared objects and are w...

Cannot Open Shared Object cygmpfr-1.dll

I'm testing CeGCC, that is a gcc built to cross-compile applications to Windows CE devices. As everyone do to test compilers, I've done a Hello World program: #include <stdio.h> int main() { printf("Hello, World!"); return 0; } As I'm using Windows now(because this is my other laptop), I'm using Cygwin. But when I tried to comp...

shared object can't find symbols in main binary, C++

I'm experimenting with making a kind of plugin architecture for a program I wrote, and at my first attempt I'm having a problem. Is it possible to access symbols from the main executable from within the shared object? I thought the following would be fine: testlib.cpp: void foo(); void bar() __attribute__((constructor)); void bar(){ fo...

How does linker know which symbols should be resolved at runtime?

How does linker know which symbols should be resolved at runtime? Particularly I'm interested what information shared object files carry that instruct linker to resolve symbols at runtime. How does the dynamic symbol resolution work at runtime, i.e. what executable will do to find the symbol and in case multiple symbols with the same nam...