The .a file is for static linking. The .sl file is for dynamic linking (shared library) The .lib file is hidden because you were supposed to do a "make install" after make which would install the .libs into whatever "prefix" you gave to configure... Static linking makes it easier for you to deliver a fully embedded single executable. Shared linking is good when you have many excutables and want/need to save some memory space. When the executable runs, it will load the .sl (and resolve function address). Then any other code that runs (assuming lib paths are set correct) will be able to use the same exact sqlite .sl file (in memory now).. Thus a net savings. Its also good when you don't want to rebuild and deploy an entire project when all you need is to install the next version of sqlite( say there is a sqlite bug fix or feature etc). When using HPUX, be sure to look at the chatr attrbutes, you may need to enablethe shared_lib_path variable for your binary in order for it to access your shared_lib_path environment variable when using dynamic linking.
km4hr <[EMAIL PROTECTED]> wrote: C.Peachment, You're right, I'm not the smartest or best programmer. I know that. But I often get the job done in spite of my handicaps. To keep from overloading the circuit I'll try to limit the number of questions to one at a time. I'm trying to install sqlite on HPUX. There's no HPUX install package on the sqlite download web site. So I downloaded the sources. The HPUX 11.0 make utility didn't like sqlite's make files. In spite of my handicaps I notice that I have GNU bash installed. I tried the the make utility that comes with bash. Bingo! It worked. So now I have a "bld" directory full of stuff. But I don't see a sqlite library file. I look everywhere. Where is it? In spite of my slowness my tenacity is not lacking. I keep looking. Using "find" I discover libsqlite files in a ".libs" (hidden) directory. Very sneaky. Why would anyone hide the directory holding the most important files? I guess to help weed out the underprivileged. But I'm not the dullest knife in the drawer. I found it! I'm getting around to asking my one question. I see two library files in the ".libs" directory. One named "libsqlite3.sl" and one named "libsqlite3.a". Typically a ".a" extension indicates a library for static linking. So here's my question. What's the ".a" file for? As I said earlier it makes me think it might be possible to create executables that can be run on similar machines without first installing sqlite. I'll guess I'll keep plodding along to see if I can figure it out on my own. I'm going to try to link some files now. That can be a real challenge in itself. I guess if I have linking questions I ask them on an HPUX site. Thanks for the advice. C.Peachment wrote: > > You ask too many questions in one go. I will be surprised if anyone > is willing to provide that much assistance all at once. > > It appears that you need some more fundamental knowledge about > programming on GNU/Linux and maybe even about programming in C. > > Some of your questions are contradictory and suggest you have not > done your own homework before asking others to do it for you. > > e.g. > got a ".so" file. This is obviously a shared library ... > > and > > Is a C program that uses sqlite statically linked? > > You ask: >>Once I've created a C program that uses sqlite can I administer its database >>with sqlite3 or do I have to write utility programs to create a database, >>tables, view table contents, etc? > > Why not try it and see for yourself? > > Others have done so and not all of them are smarter than you :-) > > > > > > ----------------------------------------------------------------------------- > To unsubscribe, send email to [EMAIL PROTECTED] > ----------------------------------------------------------------------------- > > > -- View this message in context: http://www.nabble.com/I%27m-Starving-for-New-User-Information-tf3701471.html#a10361035 Sent from the SQLite mailing list archive at Nabble.com. ----------------------------------------------------------------------------- To unsubscribe, send email to [EMAIL PROTECTED] -----------------------------------------------------------------------------