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!
Why many Linux distros are trying to use always the latest versions of the libraries and don't save the old libraries for compatibility? I mean, I can see libtiff for example, i can found a libtiff.so.5 on my /usr/lib, but doesn't store a libtiff.so.4 or 3 just for binary applications or games. For this example, I need libtiff.so.4 for uplink.
That should happen too on the old version of sims for linux, some ID games or others.What's wrong with storing old libraries? PD: Yay, my first post on 3 years!
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 C functions in the static library. Is it possible to do this? In other words, when linking a C program with gcc by using the -shared flag, is it necessary that all all libraries invoked in the program (even low level libraries such as libc for example) be available as shared libraries as well?
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.
I am stuck with a problem to link static libraries with gcc. There is no problem with source files since I am able to compile in a machine where the static library is installed. I am compiling with the following: Code: :~/Emotion/pjproject-1.0.3/third_party 157% gcc -Wall -I/portaudio/include -o rec patest_record.c -L./lib -lportaudio-x86_64-unknown-linux-gnu
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?
I noticed that the official Slackware packages don't contain static libraries. The SlackBuild scripts from slackbuilds.org or from Slackware DVD usually contain --disable-static option to prevent building the .a file. And if configure script doesn't allow such option, the .a file is deleted before the package is created.I am wondering what is the reason for that? Is it just the matter of conserving disk space? Are there also other reasons?
I am working on a user space application that I would like to release under the LPGL. I am linking against libraries that I'm not sure if they are GPL or LGPL. Can someone help me determine if the libraries are GPL or LPGL.
For reference I have included a snippet of my gcc command:
I'll be using a specific example, but really this generalizes to pretty much any binary on linux that can't seem to find its' dependent libraries. So, I have a program that won't run because of missing libraries:
./cart5: error while loading shared libraries: libcorona-1.0.2.so: cannot open shared object file: No such file or directory
ldd sheds some light on the issue: linux-vdso.so.1 => (0x00007fff18b01000) libcorona-1.0.2.so => not found libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.3/libstdc++.so.6
I have a library that I have ported from Windows, and is not a derivative work of Linux. The library is subject to copyright law, and I can't disclose the source. I would like to link a GPL application to this library, and want to know if the linking would cause the library to be GPL. If the library becomes GPL, is there some other way (kernel loadable module?) that I can keep my library from becoming a work of GPL?
im currently working on openbts,how can i get into the configuration file..its simply written that the config file is found in ./apps directorypenbts.config.but i have an error'No such file or directory'
After I downloaded the source for lua, I followed the install instructions, doing...
make linux install make generic install
I've also done the make test and it passes, printing out Hello World, from Lua 5.1. However, I can't link to the lua libraries in CodeBlocks. I know where lualib.a is (usr/local/lib) which I set in my Search Directories for the linker. I still get error messages like...
undefined reference to lua_isstring
P.S. I had this running on Windows via Visual Studio.
I have just downloaded, configure'd, make'd and make install'ed the Google Log Library to my computer. It built all required files (as far as I can see) and copied the .so file (libglog.so.0.0.0) to /usr/local/lib. Then it created two symbolic links called "libglog.so.0" and "libglog.so" that point to that shared object file:
I'm cross-posting in order to get as a wider audience to get as much feedback as possible. I am currently studying to learn the ) Gidhlig (Scottish Gaelic language and finding studying by rote out of a book a bit 'limiting'. Because of this, I am thinking about creating a software project which could act as an interactive way to helping me learn the language. I've got a few ideas floating in my head but the direction I want to take is that the software is not an alternative but an aid to be used in conjunction with traditional studying materials. I was thinking possibly small interactive games or exercises that both are fun as well as to test and use the parts of language I have learned. There might also be a bit of reporting to show strengths and weaknesses.
Firstly, the technical specifications, that offhand, I can think of that the project will need to meet:
1. Cross-platform (while I would like it to be just Linux, I have to be realistic that people would rather use Windows)
2. The language data is separate from main program so that the software can be used with other languages.
3. Not too complex so that it is quick and easy to program as I will be doing it myself.........
I am running Yellow Dog Linux release 6.2(Pyxis) on my PS3. I would like to compile and run C programs that utilize OpenMP for parallel programming. Unfortunately, I have not been very successful. I am able to compile programs containing OpenMP statements error free, but when I attempt to execute the binaries I receive the following error: Code: ./file: error while loading shared libraries: libgomp.so.1: cannot open shared object file: No such file or directory Compiling programs without OpenMP statements works fine.
Because it has to do something with missing libraries, I am not sure if knowing the executable search paths may help in diagnosis, but when echoing the path environment variable:
The version of GCC on this machine, 4.1.2 20080704 (Red Hat 4.1.2-44), is identical to the ones I have on two other machines (CentOS release 5.3 (Final) and CentOS release 5.4 (Final)) and they both compile and execute OpenMP code flawlessly. I have tried building and installing another version of GCC that would possibly include the OpenMP libraries, since, according to some sources, GCC has only supported OpenMP since version 4.2. But I have not been successful with that either (that problem would make a good second thread.)
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 am trying to install the pgplot libraries in my machine (Red hat), the version of my Linux is: Linux version 2.6.9-5.EL (firstname.lastname@example.org) (gcc version 3.4.3 20041212 (Red Hat
3.4.3-9.EL4)) #1 Wed Jan 5 19:22:18 EST 2005 but when executing make command I have the the problem related to X11 output as follow: Code: gcc -c -Wall -fPIC -DPG_PPU -O -I/usr/include/ -I/usr/include /usr/local/src/pgplot/drivers/xwdriv.c /usr/local/src/pgplot/drivers/xwdriv.c:127:21: X11/Xos.h: No such file or directory /usr/local/src/pgplot/drivers/xwdriv.c:128:22: X11/Xlib.h: No such file or directory
I am looking for tools for static/dynamic code analysis for embedded Linux system development (both device driver and user space apps). We will use Eclipse IDE and C++ lanuage. I hope the tools are easy-to-use, reliable, popular, better with good supports, and not-too-expensive. I already find a list of tools at WiKi, however, I don't have time to try them all. Could anyboy please recommend me a few? If you can tell me briefly about their pros and cons, that will be the bet.
The Linux ldd command can show the dynamic libraries used by an executable. It's a bash script.But it seems to be fragile, and does not work on some binaries. Is there an alternative tool? In my specific example, I can use:
% file datab2txt
datab2txt: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, for GNU/Linux 2.4.0, not stripped
I have C in a Nutshell but I'm learning Bash right now. I've gone through a lot of LFS, but didn't complete it. I'm still learning about symbolic links, hard links, libraries, and this sort of thing. I'm wondering about quite a few things at this point. How the hell can anyone make a distribution from the ground up? Even if they start with another distribution as a base, how do they know (I realize one person doesn't do all the work) what to do, what order to do it in, how to synchronize what they're doing with what everyone else is doing, etc. How do you know which software to compile and install first? etc.
Also, I'm entirely confused by this: how can everyone (even large teams) get everything working together? Knowing that this works with that and that doesn't work with this unless it's patched but that's what we're going with, etc. I can't understand how these things can be done without an almost unbelievable amount of effort unless a lot more is done by ./configure and make than I know about at this point.And I don't understand how libraries work at all. I mean, I'm going to learn a lot more and I've been reading a lot... but how can all the distributions just download and install 50 updates at a time and not have to restart the computer most of the time!? There are a hundred things happening in the background constantly. How does everything not just fall apart as soon as you update one package, let alone 50 at a time!? I realize this is stuff that you learn by reading, but I've been reading for quite a while now and I do not understand even the basics about why any of this works or how to know what works and what doesn't unless every single little piece of every distribution is gone over with a 50,000-page reference manual that's constantly updated. And all of this can't be as complex and hard to do as it seems, or there couldn't possibly be a hundred distributions that work and are updated constantly. Linux From Scratch is a good example. You have to download all the very specific versions of the software and patch it with special little patches, etc. How the hell can anyone keep track of all of this? Going by what I know about things, it's almost hard to believe that it's even done.
I found difficulties on installing software in fedora 14. I'm trying this for 2 weeks and still there is no progress. I am forced to use fedora 14 as my OS since WRF is good in linux OS. I am hoping for soonest response for this matter because I need to run this as soon as possible for my thesis. and also A step by step solution for me to understand and install w/o any problems.