View Single Post
Posts: 1,808 | Thanked: 4,272 times | Joined on Feb 2011 @ Germany
#27
Originally Posted by Wikiwide View Post
Well, I expect that there is a source-package with .h and .c files, and a binary-package with .so files. Not one package, just two files for one package. Installing .a and .la on user device when user doesn't need them... just consumes space and makes a mess. If there is need for debugging... then you can give to user the whole mess: .c, .h, .patch, .a, .la, .so, whatever. But the binary package for end-user should not contain additional files which are not useful at all. Right?
That's why those bright heads split the packages between "normal" and "development". It may be the right thing to do for most people. I myself tend to be very very conservative with "modern" technology

Yes, it is highly probable that I'm unaware of some special mission of .a and .la files.
The .a is the static counterpart of the .so, so you need the .a if you want to statically link a library (as opoosed to using the .so, for which you need the .la).

I'm not a professional debugger; for me, either program works or it doesn't. I write code in Notepad-Leafpad, compile it in command line by politely asking gcc to do it, and use the final .so or .bin file. Breakpoints don't exist for me. If debugging is necessary, I add print-or-log-or-whatever lines to my code and recompile it, to figure out later what was the problem. I dislike all these makefiles, solutions-projects, compiling environments, etcetera. And on the same level, for me .a and .la are just transient files generated by gcc for gcc. I can easily concede that separating gcc into compiler-assembler-linker-whatever is beneficial; gcc is a joyful program to use. But I have no understanding of .a and .la files - except that .so can work without them.
Best wishes.
The funny thing is that most programs are developed using the traditional way, i.e. a Makefile that builds the program. make install usually installs everything (yes, including .a and .la, etc.)

The .deb packagers (maintainers I think they're called) take that and generally make a mess of it by adding dependencies, using more-or-less common sense (unfortunately now always) and decide to strip one thing or the other or (in the case of Maemo) to "optify" the package after-the-fact (instead of compiling with the appropriate --prefix).

It's actually pretty incredible that things like Maemo, Debian and Ubuntu actually work OK-ish
 

The Following 2 Users Say Thank You to reinob For This Useful Post: