Programming :: Dynamic Memory Across Shared Libraries
Jun 1, 2009
Any good tutorial on sharing dynamically allocated objects across shared libraries in the same process and between shared libaries and main(). In particular, I need to know what creation and destruction sequences are valid when libraries are being loaded and unloaded. For example, is it valid to allocate an object from inside a shared library procedure, and then delete that pointer from a different module, especially in the case where the allocating module has already been unloaded.
I imagine there might be all kinds of problems with this. Although my preliminary tests seem to work most of the time, I get crashes from time to time, but I'm not sure if they're caused by memory management or by threading issues. I've been restructuring my code to use a global context object to manage object creation and destruction from main(), but I'd like to find a clear exposition of the specific issues I'm dealing with before I go too much further.
View 4 Replies
ADVERTISEMENT
Jun 11, 2010
I want to create a "Shared Memory" in linux, then create multiple "Shared Objects" that can access to a Table for example; And one of them can write something into the Table and the other can access and read it, so that these operations can be handled by programmer! I'm using Ubuntu 9.04 and I've set it's runlevel at 3 (I have commandline environment now!) I've searched the Internet so much, but couldn't find a good sample code for this! I have no experience about it and need your help to introduce me a sample code about it and advise me how to compile and use it with "GCC"?!
View 6 Replies
View Related
Apr 4, 2010
I have 2 questions... I couldn't find answers by Googling (more precisely, by Blackling) and in GCC documents, so I'm asking here.
1. There are 2 flags for position independent code, -fpic and -fPIC. All the examples I read use -fPIC... so when is -fpic useful and what is the difference?
2. Some tutorials use "g++ -shared" while others use "ld" for the creation of the shared library. Why? Does it matter which method I use? Is there a difference? Why does nobody mention both options?
View 11 Replies
View Related
May 6, 2010
Is there any way to use a dynamic libraries as a static libraries instead when compiling, so that my resulting executable won't have them as dependencies?
View 3 Replies
View Related
Aug 17, 2010
I doing malloc and getting the chunk of dynamic memory. Now I want it to align that memory to 64KB. This means that the address of the memory starts from 64KB or multiple of 64KB.
View 3 Replies
View Related
Oct 14, 2010
While initializing my application the following errors is returned:
Bash profile for the user is as follows:
View 1 Replies
View Related
Apr 19, 2010
I have 2 applications that send and receive messages through shared memory IPC. When I run the app ..it works but the number of messages per sec keeps changing drastically sometimes it is 400-500 per sec..then 800 then 1200 then 2000. is this normal with SHM IPC or could it be a code related issue.
View 9 Replies
View Related
Jan 8, 2011
I'm writing a producer-consumer program, where the producer and the consumer are different processes and they communicate using queued signals, and when I run it it comes out always 'segmentation fault'.
Here is my code:
(note: I tried using both 'shm_open()' and 'mmap()', and 'shmget()' and shmat()')
Code:
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
[code]....
View 10 Replies
View Related
Mar 17, 2010
So I'll try to be brief and to the point here: I've got a couple of C / C++ apps that communicate with one another via shared memory. These worked completely fine until.. well, about twenty minutes ago when I finished making some network card changes and suddenly, I've got a weird problem going on. At one point, Parent app waits for Child app to set a boolean indicating it's finished initialization. This worked fine the last time I ran this app up (a few days ago). But right now, the shared flag never seems to get triggered (I've added a printf("Waiting..."); in Parent app until the flag is set). All the code leading up to it being set in Child app seem to be running smoothly, so I tried spitting out the addresses of the shared memory locations. The addresses mapped by Parent app and Child app are different; this seemed odd, so I went back and wrote a simple miniature app that just opened a shared structure on my own box, and I get the same thing - different addresses - but the miniature apps work just fine.
Is it normal for a shared memory space to be mapped to two different addresses across two processes?
If so, does anyone have any idea what might be the issue at hand with my Parent / Child app scenario? The Child creates the shared memory, the Parent has a wait before it opens it, and if it doesn't exist should fail (opening with PROT_READ | PROT_WRITE)... it doesn't fail so it's evidently there.
All of this worked until literally just a few hours ago and I made some changes to my network cards, and I can't even imagine how that could have changed whether or not shared memory mapping worked...
View 2 Replies
View Related
Mar 2, 2010
I have an application consisting of different processes and all these processes are linked to shared libraries. I start the application (spawn all the different processes) as say user1. Now with the application up, if I run a process p1, the process gets activated and works. However, if I start the same process p1 as a different user, say user2, which is completely different from user1 the process complains of
"error while loading shared libraries:...."
I set LD_RUN_PATH both in compile and runtime environment. LD_LIBRARY_PATH is set correctly in both places.
All the above works if I set the absolute path of the required shared libraries in /etc/ld.so.conf file and rebuild the /etc/ld.so.cache
View 1 Replies
View Related
Aug 16, 2010
Alright, just loaded a fresh copy of OpenSuSE 11.3 x64, went to update manager and let it update, came back and computer was shut down. After booting it back up, I cannot update any software, nor run any commands.
Here is my output:
Code: error while loading shared libraries: libdl.so.2: cannot open shared object file: No such file or directory I've tried searching for this error, some people came back saying to run this:
Code:
But all that happens is this:
Code:
Nor ls work either so I'm stuck and thinking about a reinstall.
I don't understand how this system could be so messed up after a failed update.. Used to trust SuSE, not sure anymore after this incident..
View 4 Replies
View Related
Nov 9, 2010
Installed Skype but it wont launch. Running the latest Opensuse Gnome. Ive uninstalled it and reinstalled several times but always with the same error. When I try to run it from terminal I get this:
ig@linux-ljqk:~> skype
skype: error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory
Ive just now uninstalled skype and tried reinstalling it again via yast, but now I get the following error [PK_TMP_DIR|dir:///var/tmp/TmpDir.xftzR0] Repository already exists.
View 9 Replies
View Related
May 5, 2010
just installed Ubuntu 10.04 and installed the flightgear package and the fgfs-base package. I ran fgfs from a terminal and got this error:
Code:
$ fgfs
fgfs: error while loading shared libraries: libOpenThreads.so.12: cannot open shared object file: No such file or directory
$
So then I did:
Code:
sudo apt-get install libopenthreads12
and it gave me these errors:
[Code]...
View 1 Replies
View Related
Aug 3, 2010
I'm trying to run Kega Fusion on my laptop, which can now FINALLY run Linux (ATI drivers finally work on it), and I can't get the emulator to work..
Code:
brandon@brandon-laptop:~/Desktop/Fusion$ ./Fusion
./Fusion: error while loading shared libraries: libGLU.so.1: cannot open shared object file: No such file or directory
brandon@brandon-laptop:~/Desktop/Fusion$ uname -a
Linux brandon-laptop 2.6.32-24-generic #38-Ubuntu SMP Mon Jul 5 09:20:59 UTC 2010 x86_64 GNU/Linux
brandon@brandon-laptop:~/Desktop/Fusion$
Help? I have the ATI proprietary drivers installed. I tried without them and it still wouldn't work. (And OpenGL is seemingly working as Compiz Fusion is running. I also tried with Compiz disabled but the same error pops up).
View 3 Replies
View Related
Aug 21, 2010
I'm running lucid 32-bit. I get this error when I try to run the installer for Unreal Tournament GOTY:
Code:
Verifying archive integrity... All good. Uncompressing Unreal Tournament 436-multilanguage.goty Installer. /home/computer/.setup1548: error while loading shared libraries: libgtk-1.2.so.0: cannot open shared object file: No such file or directory computer@computer-desktop:~/UnrealInstall$ I tried installing libgtk1.2 (as told by some people in other threads), but couldn't do that:
Code:
E: Couldn't find package libgtk1.2
However, I checked that I do have libgtk2.0
So what should I do?
View 2 Replies
View Related
Jan 26, 2011
After finally getting my wireless/graphics drivers working yesterday (thanks to this forum ) I startx to realize that not a single KDE/Qt application will launch, along with Firefox, or Chrome/Chromium. (I did a full install from the DVD, not deselecting anything, and when I upgraded to -current, I also did the same.)
Ark said:
Quote:
ark: error while loading shared libraries: liblzma.so.0: cannot open shared object file: No such file or directory
but I managed to fix that one by commenting out 'aaa_elflibs' in /etc/slackpkg/blacklist (on a recommendation from #slackware), and running slackpkg upgrade-all again, but that's the only one (afaik) that was fixed. Ark still doesn't work, but it doesn't show that error anymore. When I run it, a box pops up that says "Unable to find Ark's KPart component, please check your installation."
Kate still says:
Quote:
kate: error while loading shared libraries: libkemoticons.so.4: cannot open shared object file: No such file or directory
Now, konsole, firefox, and Chromium's errors are a little different.
Konsole:
Quote:
konsole: symbol lookup error: /usr/lib/libphonon.so.4: undefined symbol: _ZN9QMetaType15registerTypedefEPKci
Firefox and Chrome basically say the same thing
Quote:
/usr/lib/firefox-3.6.13/firefox-bin: symbol lookup error: /usr/lib/mozilla/plugins/skypebuttons.so: undefined symbol: _ZN9QListData11detach_growEPii
again, I am completely baffled here, as I had kate, konsole and ark running before I upgraded to -current.
View 5 Replies
View Related
Apr 13, 2011
I am creating two shared libs that i intend to be dynamically linkable in C and C++, cross platform Linux/Windows/Mac. As a basic sketch, true for both libs, the lib code is in several .c/.cpp and .h files. For now, I'll talk about the part that I am actively working on, a lib named Discover, i.e. libdiscover.so.1.0. First, everything is in a namespace, RemKon_Discover.
The main Discover.cpp defines the methods for the Discover class (declared in Discover.h) and has extern "C' routines that can return pointers to my main c++ object. The call to GetLibraryMainPointer() creates a Discover class object, theMainObject (ok, I win a prize for dumb names) and returns the (non-mangled) pointer to the caller over in my test program. The Discover class itself is declared extern "c" and the tester program #includes "Discover.h".
In the test program, dlopen() correctly opens the lib and dlsym() gets the pointer to theMainObject. However, when I use that pointer in the tester program to access a method (aDiscoverObject->hello(), e.g.) I get compile time errors saying that Discover::hello() in an undefined reference. My makefile is attached.
[Code]....
View 10 Replies
View Related
Mar 16, 2010
I want to run blender in Ubuntu910,but get below
test@ubuntu:~$ blender
blender: error while loading shared libraries: libpython2.5.so.1.0: cannot open shared object file: No such file or directory
View 4 Replies
View Related
Feb 5, 2011
I have what should be a relatively simple program (fadec.c) that maps a struct from an included header file (fadec.h) to a shared memory region, but Im struggling accessing members in the struct from the pointer returned by shmat. Ultimately, I want to access members in the shared memory structure with a globally declared version of the struct, shm__. Not only do I not know how to accomplish that, but I cant even seem to access members of the shared struct directly from the pointer itself (compiler complains about dereferencing pointer to incomplete type). Im at a loss and could use another set of eyes if you guys dont mind taking a gander:
Compile Errors:
tony-pc:/cygdrive/p/test> cc -o fadec fadec.c
fadec.c: In function 'main':
fadec.c:30: error: dereferencing pointer to incomplete type
fadec.c:31: error: dereferencing pointer to incomplete type
[Code]...
View 1 Replies
View Related
Mar 4, 2011
I have a program that creates and uses a shared memory segment. I am trying to find out how to detach and delete this shared memory segment when I hit crtl-C, and I still need the process to terminate.shmdt() and shmctl() have variables that are local to the main passed to them(shared and shmid)
Code:
//Prototype
void leave(int sig);
//part of code trying to use signal handling
if(signal(SIGINT, leave))
[Code]...
View 3 Replies
View Related
Jun 18, 2011
Here's an example:
What do the numbers after so, such as in the last line, 1.1.0 mean?
My first guess was that they are version numbers, but:
So the 1.1.0 does not seem to have any connection to the version of the library, reported to be 2.4.46.
View 1 Replies
View Related
Feb 24, 2011
I have an old program that kind of depends on older dynamic libraries. They tend to get upgraded easily with distro's updates. I figured that there would be a script with using ldd that would gather the libs needed and create one bigger, statically linked application that wouldn't break so easily. If I could do this, a lot of older KDE libraries could be removed from my system and easen my life.
My distribution of choice is gentoo, but I'm looking for a general solution that doesn't depend on rebuilding anything. If it runs with libs on their path, I'm sure it can be made run with libs somewhere else!
View 1 Replies
View Related
May 14, 2010
I upgrade the system from 11.1 to 11.2 seems everything work fine, no error no warning, after a reboot the consol show : mount error while loading shared libraries: libvolume_id.so.1: Cannot open shared object file: No such file or directory. when I try to repair the system the repair tool cannot find the root partion,
View 1 Replies
View Related
Jan 15, 2010
how to install libxcb-xlib.so.0?When I start one software and it complains that
"error while loading shared libraries: libxcb-xlib.so.0: cannot open shared object file: No such file or directory"
I have lastest libxcb1 installed and searched in my system but didnot find a relevant result.
View 3 Replies
View Related
Jan 17, 2010
I installed the latest Gimp beta and it worked fine but then I couldn't open it. I removed it and I reinstalled but it didn't work, so I installed the latest stable version (no beta) and it still does not work, when I open it form Terminal, this is the response:gimp: error while loading shared libraries: libbabl-0.0.so.0: cannot open shared object file: No such file or directory
View 3 Replies
View Related
Feb 21, 2011
if i attach a shared memory to my process whch part of the address space it will add(like stack, heap, data, code...).
View 3 Replies
View Related
May 29, 2009
I am trying to use a shared bzip2 library in a program I'm writing. For the life of me I can't figure out the correct gcc switch to link it in. I've tried pkg-config, but i don't know the name of the .pc file. Is there any rule for these things?
View 3 Replies
View Related
Mar 16, 2010
I have a third party static library (libSTATIC.a) that I cannot recompile into a shared library. I want to create a shared library (libSHARED.so) that uses the functions in the static library libSTATIC.a. Is it possible to do this with gcc/g++?
In other words, when linking a C program with gcc/g++ by using the -shared flag, is it necessary that all libraries invoked anywhere in the program (even low level libraries such as libc for example) be available as shared libraries as well?
View 1 Replies
View Related
Jan 31, 2010
I installed perl v5.8.5 built for i686-linux on my system recently. From that day if I want to run my vi edition I am getting the error as:
Code:
vim: error while loading shared libraries: libperl.so: cannot open shared object file: No such file or directory
I am using:
Code:
[root@station130 CORE]# uname -a
Linux station130 2.6.9-5.EL #1 Wed Jan 5 19:22:18 EST 2005 i686 i686 i386 GNU/Linux
View 5 Replies
View Related
Aug 10, 2011
i have a notebook where i wont to install andorid SDK, I have a Debian 6, 64bit that work well.After install android sdk, i test installation but i have this
:~/android-sdk-linux_x86/tools$ ./emulator
./emulator: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
i use comand ldd
:~/android-sdk-linux_x86/tools$ ldd ./emulator
[Code]...
View 6 Replies
View Related