PDA

View Full Version : OT: Compiling statically libraries



elmorti
12-06-2005, 12:28 PM
This maybe an offtopic message but it's somehow related to klik. I'm making my own "implementation" of the klik ideas, I have many cmg working now (i'm using fuseiso and zisofs images) but now I have found some problems (I knew I would encounter them sooner or later), for example, I would like to make cmgs of kdemultimedia apps like kscd and kmix, but not the others, and I would like to make a cmg of an app called kzenexplorer. These apps separately uses some libraries that I don't want to install system wide so I'm thinking on compiling them STATICALLY, but I don't know how to tell that to the "configure" script. If I do the make LDFLAGS=-static thing it seems to put every library used by the app statically, this include for example qt and others... and I don't want qt statically compiled.

So, the question is, if a compile libmylib and it generates a .so and .a (shared and static), how do I tell to make or configure to use the static one? How do I tell the compiler that I want some libs dinamically linked and others statically linked?? I've seen there are apps like amarok which uses for example SQLite statically linked, but they include sqlite source in their package and so the Makefiles do their job, but my problem is how to do it with an externally compiled library libmylib.a :)

Well, thanks for the klik idea, i'm doing some things that I want to put here when finished!

Samuel.

probono
12-06-2005, 11:07 PM
Hi Samuel,

why don't you join the klik project instead of making your own implementation? (There is always a bunch of klik developers on #klik on irc.freenode.net that would like to work with you...)

As for compiling, I can't help you since I never compile anything. klik always uses binaries that are already on the web.

Greetings,
probono

elmorti
12-07-2005, 10:33 AM
Hi Samuel,

why don't you join the klik project instead of making your own implementation? (There is always a bunch of klik developers on #klik on irc.freenode.net that would like to work with you...)

As for compiling, I can't help you since I never compile anything. klik always uses binaries that are already on the web.

Greetings,
probono

Thanks anyway probono, I would like to join to the klik project but I want to be sure to be useful so I want to finish some testings before reporting some results. By the way, there is one thing that I don't like from the klik project. Although I don't know more than the docs in the website, I think there is a great dependency on Debian GNU/Linux, APT and .deb packages (as fas as I know the klik cmg are created at server side with deb files, or isn't?).

My project is based on LinuxFromScratch, I'm creating XML profiles (www.linuxfromscratch.org/nALFS) to automatize the package compilation. At the XML you can choose three kind of installation. 1. Install normally (make install) 2. Create a cmg package (now KDE packages only are the target) or 3. Create a binary tarball (this is because I have in mind to create or use some installer for the base packages, and the cmg for the rest of apps).

What I've made is a simpler zAppRun and a Wrapper, just thinking on my own desires :)

Basically that's my idea. All the cmg stuff is credited to the Klik people (you and others :) ), FUSE people (i'm using fuse), and FUSEISO author. Ouch! The Linux From Scratch people does most of the job in my project! :D Thanks to everybody!

Probono, maybe this could be the beginning of a Klik based "distribution"?? (I prefer to call it OS because I'm breaking many LSB standards for the sake of enduser commodity).

Samuel.

PD: Excuse my english if there are some mistakes. :)

probono
12-09-2005, 04:54 PM
Hi Samuel,

your project sounds very interesting. No, klik has no special dependency on debian (other than that it indeed uses deb packages as main binary source).klik can use rpm, tgz and other formats in just the same way. It basically just unpacks the archives and repacks them as cmg files.

LSB compliance is something I wouldn't break in the base system ("OS") if I were you... because it basically ensures that most apps will run on top of it!

Greetings,
probono