You are not logged in. Please login or register.
Active topics Unanswered topics
Search options
I did try using the path to the library which I had placed with the database, but it didn't work, setting the Database.sqlieLib prperty brought up an error, when I just let the component find the default path it then works, my reasoning behind the reqest is that we have make the new library to have the components work, so could we expect a user to do the same to be able to deploy an application, I also notice that with some mysql based programs if you don't have the correct library version (e.g. libmysql15.so) then the program won't run, as I believe that libmysql is now 16. If we were able to deploy the library that we have compiled and used with the component it would solve this potential problem.
Regards
Dave
Hi Luc,
I was wondering if the component could search the executable folder and subfolders for the sqlite library so that I can deploy an application using the current library and not rely on the user to have the correct library installed?
Regards
Dave 
Hi Luc,
I have done what you suggested and the test program works, thank you for your help.
Regards
Dave
This is the error message that I'm getting when trying to connect: A TSqlitePassDatabase component has raised an exception.
TSqlitePassDatabase.Open : Unable to open the database.
Hi Luc,
I have compiled the new sqlite3 library (tried commenting out as you suggested), you were right in your assumption that the error messge would be what you said. After compiling new sqlite3 library, I tried connecting and got an error, when I checked the error message it was saying it couldn't open the database, I generally use a generic sqlite manager where the the extension can be whatever you wish, I usually use .db3, which with your component is sqlite3 expert, so I downloaded your administrator program and constructed a sample db with the .s3db extension and this is the db that won't open. Any help would be appreciated.
Hi LuckyLazarus, I'm afraid that every distro have different Paths, on my system (Debian based) /usr/lib/libsqlit3.so the rpm based distros seem to have different paths to libraries. Sorry I can't help much but I try and stick to one that works for me, usually debian based
Thanks Luc, I no longer use windows, the error dialg came up when trying to run the test program, but I have forgotten what it said, will try what you suggest and get back to you.
When I get the SqlDbo components working, when I deploy an application on linux, do I need to seek a path to the sqlite3 library or does the component find the library.
I have a SIMILAR PROBLEM WITH LINUX AND LAZARUS 0.9.29 FPC 2.5.1, I place a database component on the form and set the database, which I created with sqlite administrator, set the library file path which on my system is /usr/lib/libsqlite3.so try to set the connected property and it doesn't change, I try to set the property programatically and get the same result.
Hi Luc,
Thanks for getting back to me, I will test the 0.32 version when you put it up for download, and check the help file, although your command of english is very good, so I don't expect any errors.
Dave
Hi Luc,
Tried your suggestion and the library compiled ok, copied as root to usr/lib, tried connecting to a database and still will not connect with the libsqlitepass3.so as the sqlite library but will connect using the sqlite3 lib, the problem with trying to use this lib is it obviously generates errors, I dont know if I have done anything wrong in compiling the sqlite3.c file, I followed your tutorial on the web, this is where I have added the #define statement:
** This amalgamation was generated on 2007-12-14 17:40:56 UTC.
*/
#define SQLITE_AMALGAMATION 1
#ifndef SQLITE_PRIVATE
# define SQLITE_PRIVATE static
#endif
#ifndef SQLITE_API
# define SQLITE_API
#endif
#define SQLITE_ENABLE_COLUMN_METADATA
/************** Begin file sqliteInt.h ***************************************/
this is all that had to be done, wasnt it?
Thanks again for your help
Hi Luc,
Thank you for trying to solve the problem, I had tried to compile previously as root using the root terminal, and I copied exactly what you suggested and got the following result:
david@dad:~$ sudo -s
[sudo] password for david:
root@dad:~# cd /home/david/downloads/sqlitepass_354
root@dad:~/downloads/sqlitepass_354# gcc -c sqlite3.c
root@dad:~/downloads/sqlitepass_354# gcc -shared -Wl, -soname, sqlitepass3.so.3.5.4 -o libsqlitepass3.so sqlite3.o
gcc: sqlitepass3.so.3.5.4: No such file or directory
gcc: unrecognised option '-soname,'
root@dad:~/downloads/sqlitepass_354# , anyway, even using your compiled library the database will not connect, but will connect using the sqlite3.so library. So I do not think that compiling the library is the real problem, although it would be nice to be able to do it. Which version of gcc are you using?
Hi Luc,
Ok I tried the compile and got this result: david@dad:~$ cd /home/david/downloads/sqlitepass_354
david@dad:~/downloads/sqlitepass_354$ gcc -c sqlite3.c
david@dad:~/downloads/sqlitepass_354$ gcc -shared -Wl, -soname, sqlitepass3.so.3.5.4 -o libsqlitepass3.so sqlite3.o
gcc: sqlitepass3.so.3.5.4: No such file or directory
gcc: unrecognised option '-soname,'
david@dad:~/downloads/sqlitepass_354$
I then downloaded the linux compiled library from the downloads section and installed in usr/lib, still would not connect, tried libsqlite3.so and the database opened, so go figure. I'm not sure what is wrong, everything seems ok but would not connect using the sqlite3dbopass library.
Hi Luc,
Downloaded and tried the new version in Ubuntu 7.10, still the same problem with not connecting to the database, could you fix the open dialog to stay at the last directory opened instead of the desktop (might be the reason for not connecting as the path might change, don't know, just a suggestion), thanks for your hard work, really appreciate what you are doing.
PS works ok in xp
luckylazarus wrote:Thanks for your answer.
The connection to the library is ok under win32. I tried to use the components under linux with the same problem as yours.
I used gcc -c sqlite3.c to compile the library. gcc generates a sqlite3.o file.
"Just rename the sqlite3.o file to sqlite3 with no extension, it can then be used as library"
I first thought this file was not correct to be used as a library.
maybe I should try to ask the linker (ld) to generate a shared library.
I will test it later.
What is the best location to place a shared library under linux (like ../windows/system32) ?
There are a couple of places that I believe could be used " usr/share/lib or usr/lib" it depends on what distro you use, I am using ubuntu gutsy gibbon (7.10)
Regards.
Luc
The above info about the sqlite3 library I found on the internet in a tutorial and this a direct quote "copy the library "sqlite3.so" into the same folder from code and rename it into "sqlite3"." which means if you had the library in the same folder as your component you wouldn't have to worry about linking or placing in user folders, I run lazarus in my home folder rather than the default install so I don't have to worry about being root to use it and can install and remove components with ease and use GTK2 without any problems and the applications look nicer (a bit like win95/98 against xp).
Hi LuckyLazarus, I just compile the sqlite.c like this gcc -c sqlite3.c and that gives the library for linux which becomes the file sqlite3 (no extension) and is treated as library. I have had no problem this way, unfortunately I do not know enough about the sqlite structure to give specific guidance to your problem, just installed the new version, still have to test it, no problem with the install. Ok I tried to use the demo, but the database component will not connect at all, tried with your demo and several of the test database but the connect property will not activate.
Thank you LuckyLazarus looking forward to helping where I can
Hi, thank you for your excellent component, I had used it in windows with great success, but unfortunately can't get it to compile in linux, I get as far as the sqlite3Api unit where it uses the Windows unit which is not recognised in linux and substituted the forms unit and get an error: identifier not found GetProcAddress. This is without going further into compilation.
Posts found [ 19 ]
Powered by PunBB, supported by Informer Technologies, Inc.
Currently installed 7 official extensions. Copyright © 2003–2009 PunBB.