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?
I think that the solution is very simple, but I cannot reach this solution. I'm trying to build an B.so that uses A.so.
A.so is compiled using C; B.so is compiled using C++;
Inside "Aso.h" file I'had declared:
Code:
#ifdef __cplusplus extern "C" { #endif
[code]....
There's no error to compile that, this library seems to be compiled correctly, but using the "nm" command the Aso.so functions appear with "U" of undefined. Trying to build an executable using the Bso.so library, I got this error: /lib/../lib/libBso.so: undefined reference to `foo(int, int, int)' I think that to solve this problem it's only link the Aso.so with the .o files generated at the compilation phase of my Bso. Using the "ldd" command I'm able to see that Bso.so depends on Aso.so, so what am I missing?
How can we convert a dynamic library (filename.so) to a static library (filename.a) using gnu gcc . Can we get a static library form a dynamic library . I saw a few post in which the conversion form a static library to a dynamic library is mentioned but, unfortunately, not the other way.
I'm reading about shared, static, and dynamic libraries. What is SDL? Is it static, shared, or dynamic?
I always thought a library would be a lot of .h and .cpp files compiled separately into .o files and then if you compiled your own program you could use the -l parameter to link the library and it was all compiled together. Now I'm not so sure.
I don't even see any SDL .cpp files in my system anywhere. All I have are lots of SDL .h files in /usr/include/SDL and I don't really understand the code in them.
I'm making a wild guess here: SDL is a shared library. SDL itself is NOT compiled into my program, therefore SDL must be on any system my program tries to run on. When I compile and link SDL all it needs is the header files to know what SDL function and objects it can use. And then on every system it uses an already compiled SDL shared library thingy somewhere.
So... where is that part of SDL? All I can find are header files.
I'm thinking the advantage of shared libraries is that someone could say update SDL on their own system and take advantage of the new features without having to download new executables with the new version of SDL compiled into them for every program that uses SDL.
So if I'm making an editor and a game engine and they both use a lot of the same .cpp and .h files that I wrote and I'm tired of updating one and then the other and I need to turn them into a library, then a shared library might be kind of a silly solution. I could just make a static library. Right? Because it's not SDL. Nobody else is ever going to use this library.
I just recently installed F13 with Thunderbird 3.0.4 and Firefox 3.6.3 and have noticed that when I click on an embedded web link in a message that it no longer switches app windows to FireFox. On F12 if I did the above the focus would switch to Firefox once a new tab was opened and the site was accessed. Now the focus remains on the message and the tab for Firefox on the bottom panel just flashes. Is there a way to get the old behaviour back? I've checked both apps preferences as well as gnome's preferred apps but nothing changes. I am using the same profile folders from F12 as well as all of my app settings in /home.
I have installed oci8 from the remi repo and can not get it to work.I have been trying all day but still end up with the same error in my apache error log when I start httpd.If anyone can suggest something more I can try or where I should look next that would be nice.In the mean time I am going to build a VM and try from a fresh install and see what happens.
I keep getting mails with this warning on my 11.04 server
Code: PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626/mysql.so' - /usr/lib/php5/20090626/mysql.so: cannot open shared object file: No such file or directory in Unknown on line 0
apparently everything is working as it should and I don't know how to get rid of this warning
I recently upgraded to php 5.2 using the testing repository. All went well except for one extension.
root@clibweb2 ~]# php -v PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules//usr/lib64/php/modules/http.so' - /usr/lib64/php/modules//usr/lib64/php/modules/http.so: cannot open shared object file: No such file or directory in Unknown on line 0 PHP 5.2.10 (cli) (built: Nov 13 2009 11:44:05) Copyright (c) 1997-2009 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies [root@clibweb2 ~]#
I tried: [root@clibweb2 ~]# ln -s /usr/lib64/php /usr/lib/php Adding the complete path to php.ini And using PECL I still get the error. Output of getinfo.sh (general) is at [URL] The Package specific is at [URL]
I am using Centos 5.2, and I installed all of the available gnome and gnome development libraries available via the "add software" menu item. Still, when running some programs, I get the following error message:
"error while loading shared libraries: libzvt.so.2: cannot open shared object file: No such file or directory"
If I understood it correctly, libzvt.so.2 is part of some gnome libs... where to find and how to install them?
On a number of sites I use PHP's snmpget() function, but now on all these I just get this error: PHP Warning: PHP Startup: Unable to load dynamic library '/etc/php.d/snmp.so' - libnetsnmp.so.15: cannot open shared object file: No such file or directory in Unknown on line 0 PHP Fatal error: Call to undefined function snmpget()
fedora 12 with php 5.3.1 + apache is installed on the server
I needed a FFMPEG + MENCODER + FFMPEG-PHP setup , so I have installed all of the necessary libraries/codecs along with ffmpeg , mencoder and ffmpeg-php
I've added ffmpeg-php (ffmpeg.so) module to php.ini and restarted httpd
But ffmpeg was not showing up in phpinfo() so I grepped : php -i | grep ffmpeg for some clues and got this warning PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/ffmpeg.so' - /usr/lib/php/modules/ffmpeg.so: undefined symbol: php_gd_gdImageSetPixel in Unknown on line 0
That error explains why ffmpeg is not loading
Obviously something to do with GD library , so I've researched on the net , and found that some users suggest loading the GD module before FFMPEG module.
I gave it a try and added this at the end of php.ini: Code: [gd] ;loading gd extension=gd.so [ffmpeg] ;loading ffmpeg extension=ffmpeg.so ...but still same error when greping phpinfo()
Why the thread stack size can not be changed after calling pthread_attr_setstacksize & pthread_create in a dynamic library? Detail: I write a file thread_factory.c and plan to build it and produce a dynamic library (libthread_factory.so) In the thread_factory.c , there is a routine
[Code]....
And after this, there is application, it will call fct_thread_create(STACK_SIZE_256KB), and then call pthread_attr_getstacksize(), but the stack size return always be a fixed value 0xa01000. (I tried this on Fedora12) But if I build the application source code with the file thread_factory.c directly, the stack size return is right as my expect. I checked the source code of glibc about the routine pthread_create() as below:
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.
few days ago i installed the newest opensuse 11.4 32bit system and all is working really fine.except when starting apache or doing a php -v on the CLI i receive the following error ->
php -v PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/extensions/intl.so' - /usr/lib/php5/extensions/intl.so: undefined symbol: grapheme_extract_count_iter in Unknown on line 0
i know this bug has been reported earlier and i found quite a few results in google.i even found one result where the problem was fixed and updated in an additional opensuse repository -> Additional package repositories - openSUSE the repository with the fix is the following -> Index of /repositories/server:/php/openSUSE_11.4 so ... i added this repository via YAST to the repositories in my system without any problems but whenever i do a system update via YAST i don't receive new fixes and patches from the newly added repository!
if i directly browse to the /i586 folder in the repository i see all the PHP updates with version 5.3.7 and the latest updates were done 19 aug 2011 Index of /repositories/server:/php/openSUSE_11.4/i586 but my system still has PHP version 5.3.5 installed and somehow doesn't want to update from the newly added repository for the apache php modules so ... i just double checked and the repository is enabled in YAST ... but I still don't receive updates from there i would like to update to the new apache php modules, to get rid of that php '/usr/lib/php5/extensions/intl.so' warning, but somehow that doesn't seem to work
I would have presumed that you have 2 x agregates giving 2 x 2gig links and the resilience is that if one nic fails in either bond you carry on with that bond running a 1 gig link until fixed. But, our architect wants to have an active/passive (mode 1) accross bond2 and bond3. I have setup tons of mode 1 bonds and mode 4 bonds but never tried bonding 2 x mode 4 bonds!
Currently, I am trying to use the Kdevelop4 in linux debian to make some debugging on a simple project. I added the <db.h> in the text editor and it is working. Unfortunately, when I am trying to build an "undefined reference to db_create error". So how to cope such error and where I have to add the searchable link libraries in Kdevelop4.
If I want to share a directory called /home/me, would I go to my /etc/exports file and share /home/me/* or would I share /home/me ? I am unsure of how to type this into the file.
I built a shared library for some API functions (C files) and compiled them with gcc. Now I'm writing a c++ application (compiling with g++) and want to link my C API shared library and be able to use it from my application. Is this possible? At first instance, it's not quite working for me. I was able to link my shared lib just fine with a C application but got an "undefined reference to `apiFunction()'" error when attempting to do it with g++. Just want to see if anyone has any insight on this subject and make sure this mix is even is allowed.
I am trying to install the WebSphere MQ Client on a Red Hat Version 5 server with OS x86_64bit.. When I try the first step of there process it fails trying to find shared libraries:ERROR: Installation will not succeed unless the license agreement can be accepted. The MQ Client is 32 bit, but I am told it should work on 64 bit server...
I need a design which requires complete modularity and speed. I have a huge monolithic process that i'm seperating now with individual modules as libraries.I'm just worried how to go about the no of shared libraries? for example can i have 10 shared libraries in place of 1? what will be the advantage in that case?
I have visited these boards a few times, but never posted. Here's my problem: I was given the source to a program and asked to get it running on a 64-bit Debian 2.6.26 machine. Currently it is working on 2 64-bit OpenSUSE machines.
The application uses TCL TK for a GUI and everything compiles just fine; however, on startup, the user must enter one of three possible modules to load; when attempting to load these modules (tcl 'load' function), I receive this error:
Code: Error in startup script: couldn't load file "../Build/libMpf.so": libTransReaders.so: cannot open shared object file: No such file or directory while executing "load ../Build/libMpf.so Mpf" ("eval" body line 1) invoked from within "eval load ../Build/${px}${i}${sx} $i"
My code needs to link to some libraries. In my project file, I specify linker to link to abc library, for example. By default, does gcc link to libabc.a or libabc.so ? What if I really need to specify static or shared, how do I do that?
I have written a simple library and ended up with a .so file. I have a header file from writing the code that describes how to use the functions in the source code I have written. I think this .h files needs to be available to other programs that access this code.
I have seen lots of tutorials on how to copy the .so file to the relevant directories and make links with the version number. What I can't find is where to put the header file so that any programs I write to use my new library can access the header.
Hope this makes sense. For example, I might use <stdio.h> normally, I will need to access <mylibrary.h> once mylibrary.so is loaded (as far as I understand!)
It's weird, I've been using C compilers for embedded processors over ten years now and never given a second thought to how libraries and headers work behind the scenes!
I installed alsaequal URL....l and dependencies ladspa-sdk and caps, all via sbopkg.I'm getting this 'cannot open shared library' error even though that file does in fact exist at the indicated location.Has anyone run into this or successfully installed alsaequal? I also tried on a 13.1 install and got the same result.