Programming :: Dynamically Loading Libraries In GNU?
Oct 22, 2010
This post isn't really asking for a tutorial, but rather asking for some ideas. I've come up with a few ideas, but they seem cumbersome and unnecessary, so I was wondering if someone with more experience than me could out. Also, my explanations suck, but I'll try to do my best. So say I have an executable called X. At some point during its execution, X loads and uses (using dlopen and dlsym) a library called Y. In Y, there a bunch of functions that call the function called, for example, void *special_malloc (size_t). These functions come from another linked library (linked during compilation) called Z. Problem is, special_malloc contains some static variables within its scope, and when those variables are reset midway through a program, an invalid free occurs (special_malloc uses garbage collection). Now, what I want to happen is that whenever lib Z calls special_malloc, it instead calls the special_malloc defined in the executable X, so that these static variables are retained. Keep in mind that I have control of the Z library, meaning I can edit the source to fit my needs.
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
A newbie trying his hand with openldap.Disclosure: I tried posting at openldap forum, but my message does not appear in the mailing list-- and I didn't receive anything back from that forum, so please don't flame.I use red hat 5.5.I didn't want to use the openldap that is bundled with and installed by the red hat, so I downloaded and installed BerkeleyDB-4.8.30 and openldap-2.4.23.
I can see that the file libdb-4.8.so is in /usr/local/lib and /usr/local/lib is in my path (in my .bashrc).. so why not "read" it from there?How do I solve this problem?
I get the following error: ssh-keygen: error while loading shared libraries: libssp.so.0: cannot open shared object file: No such file or directory
I know it used to work, but I'm not sure if that was on Debian, or Ubuntu (before I switched to Debian over a year ago).
Sorry if this is one of those questions with a blatantly obvious answer. I've spent hours searching the Internet for a solution, and trying various things, but to no avail.
I have even tried downloading libssp.so.0 and putting it into /lib/ and /usr/lib/, but the problem still exists. I've also tried reinstalling ssh, openssh-client, openssh-server, gcc, libc6 and several other packages after clearing Aptititudes cache. I'm aware that some of these may have absolutely nothing to do with the problem, but I am getting desperate here. I can also confirm that screaming and making threats to my monitor doesn't seem to help either. I have a screwdriver and a rather large hammer sat here to use as a last resort, but I hope it won't come to that..
I'm running openSUSE 11.0 (X86-64) and just installed skype 2.1.0.47. When starting it, I get skype: error while loading shared libraries: libQtDBus.so.4: wrong ELF class: ELFCLASS64 Where do I get the correct library from? Or which one should I point it to?
I installed octave in my OpenSUSE 11.2 KDE system from Yast. When I launch it with the command "octave" on my shell, this is the message I receive: "octave: error while loading shared libraries: liboctave.so: cannot open shared object file: No such file or directory". What's the problem? Is it a known problem to be solved in the 11.2 RC2 or I have to do something else?
I'm trying to install Sun Java Web Server 7 on OpenSuse 11.2 (32-bit edition). When I try to launch the setup, I get the following error message: error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory I'm guessing that this means I need the rpm for libstdc++.so.5, but I haven't been able to find it.
I am trying to install streamripper (arm) to an nas machine, but arm didn't really required installation, so it was basically a file called streamripper in the directory:/ mnt/sda1/ streamripper the version. I am trying to get it to work is: streamripper_1.63.5-2_arm
But there seems to be an error message that says could find the library, I tried to look for this file, it is in a mad package, but I am not sure which one specifically to choose for and where "exactly" to put under:
Code: sh-3.1# /mnt/sda1/streamripper start/mnt/sda1/ streamripper: error while loading shared libraries: libmad.so.0: cannot open shared object file: No such file or directory the streamripper file is under /mnt/sda1/streamripper
I have a problem when I want to run executable program,I get this:
./xtramp: error while loading shared libraries: libf2c.so.2: cannot open shared object file: No such file or directory. My machine is x86_64,may be ere is problem.Anu ideas how to solve this?
During installation of BACCardI (genome assembly validation software), in the final step, we get an error: <baccardi.bin:error while loading shared libraries libqt-mt.so.3: cannot open shared object file: No such file or directory>. So, to fix it, we tried installing the i386 libqt using command <sudo apt-get install libqt3-mt_3.3.6-1ubuntu3_i386>
But, now we get: Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package libqt3-mt_3.3.6-1ubuntu3_i386 E: Couldn't find any package by regex 'libqt3-mt_3.3.6-1ubuntu3_i386'.
Upgraded to Fedora 12 (reinstall), and trying to recompile some software, but running into this error. So far as I recall, I did not have these issues going through the same process on Fedora 10.
This software required changing to gcc v4.1.2, and jdk 1.6.0_10 for proper compiling.
Did some research, and tried these things so far:
1. Disabled SELinux in the configuration file, /etc/selinux/conf 2. Added lib to the LD_LIBRARY_PATH 3. Searched for LD_ASSUME_KERNEL to no avail anywhere in this software, which appears to be a problem at times with other software and is commented out to fix this issue.
When I try to run honeyd I get the following error: honeyd: error while loading shared libraries: libdnet.1: cannot open shared object file: No such file or directory. Its been 3 days and I've been unable to get past this error. I've tried symlinking the installed libdnet to /usr/lib, reinstalling everything on a clean system.
libdnet-1.11 libevent-1.3a libpcap-0.9.8 arpd honeyd-1.5c GNU Linux x86_64
I am trying to run latencyTop on my MPC8313 powered board.
I get following error:-
latencytop: error while loading shared libraries: libncursesw.so.5: cannot open shared object file: No such file or directory
I have libncurses installed on my board. 1. What are these libncursesw? 2. How are they different from libncurses? 3. Can't we use latencytop without libncursesw but with libncurses?
While installing a software, I had to update the sqlite version that comes by default with the distribution (3.3 if I'm not mistaken). I had to uninstall sqlite and sqlite-devel with a "rpm --nodeps" because there were several dependencies ... I took the chance.
I then installed a new sqlite version from source (http://www.sqlite.org/sqlite-amalgamation-3.6.17.tar.gz) and it went ok apparently.
Soon after I noticed problems in some critical programs like httpd, yum, rpm ... all of them failing with the following error: error while loading shared libraries: libsqlite3.so.0: cannot open shared object file: No such file or directory code...
If there's a solution, how can I solve this big mess?
I installed a software that is used for modeling purpose. After installation, it showed me the following error.
error while loading shared libraries: libXm.so.3
I hope i need to install some libraries. While i searched in google, i found some postings telling i should intall libmotif3 and some postings telling that openmotif should be installed. I dnt know what to do now as i dnt find both these libraries when i try to install with yum.
Someone kindly write me how to get this libXm.so.3 installed in fedora10.
Today I have installed VLC on my Ubuntu Karmic Koala, and when I want to run it I gets this error: VLC: error while loading shared libraries: libvlccore.so.0: cannot open shared object file: No such file or directory And I have some Audio problems with my user account how can I solve that one?
After the upgrades have installed on my installation of Ubuntu 10.4 (there were some kernel upgrades, I don't remember if there was any libc update there) it asked me to do a reboot. So I did and I got that error when Ubuntu was starting:
Code: /bin/sh: error while loading shared libraries: /lib/libc.so.6: invalid ELF header Kernel panic - not syncing: Attempted to kill init! And if I run Ubuntu in recovery mode there's what I get after this: Code: Pid: 1, comm: init: Not tainted 2.6.32-22-generic #35-Ubuntu
There's also Call Trace after this, and a bit of text there, but as I'm rewriting those errors from a photo captured (because I cannot find logs of this in /var/log/) I will skip it unless it's needed to solve the problem. EDIT1: I cannot find anybody who had this problem during startup, there are only guys who had this during compiling or installing software
I installed novell eDirectory on RHEL 5 and installation was successful. I am getting /ndsconfig: error while loading shared libraries: /opt/novell/lib/libccs2.so: file too short problem when I am giving command ./nds-config new ( for creating a new instance).
I have ubuntu 9.04 on my Virtual Machine and my host OS is Win.XP, I've installed SSH on my linux and and now, I use PuTTY on Win.XP to connect to the SSH on linux,
Now, I have a problem: When I login with "root" and run any command, I see load errors for libraries such below:
Code: vim:
I've defined a user in ubuntu and when I login with it, I have no problem in running commands!
Also, when I use "su" command in the user's session and go to the root, I have no problem again in running commands! Is it related to my linux version or distro?
Recently I came across this error while booting up our RHEL 5 server:
Starting send mail:/ user/ sbin/sendmail:error while loading shared libraries libdb-4.3.so cannot open shared object. error-27
sm-client:/ user/ sbin/sendmail:error while loading shared libraries libdb-4.3.so cannot open shared object. error-27
Also, while creating a new squid user, I get the same error: htpasswd /etc/squid/squid_passwd alok
htpasswd: error while loading shared libraries: libdb-4.3.so: cannot open shared object file: Error 27
The libdb-4.3.so file exists in my /usr/lib. When I looked up for error code 27, it says " File too large ". I thought maybe its because of the number of users. But even after removing some duplicate user accounts, I still can't figure out why the error remains.
I am newbee to linux. I am trying to executing a script which does "chroot" for an executable. But I am getting following error.
The chroot in the script is chroot /var/mnt/test /testbin/myapp
The script bails out with following error./testbin/myap: error while loading shared libraries: cannot open shared object file: cannot load shared object file: No such file or directory...I tried ldd for the application. All the shared libraries which are required for myapp are present.
I installed ripperX using a slackware package I found online. When I try to run the program however I get the following error:
Code: RipperX: error while loading shared libraries: libid3-3.8.so.3: cannot open shared object file: No such file or directory I downloaded what I thought was this library and installed - now if I look in /usr/local/lib, I have the following: