Recent

Author Topic: [SOLVED] Firebird embedded  (Read 3175 times)

Slyde

  • Full Member
  • ***
  • Posts: 152
Re: Firebird embedded
« Reply #15 on: April 23, 2023, 01:23:25 am »
Hi, Handoko.  I've been using SQLite/SQLite3 in my desktop apps, both in Object Pascal and C++, for years and can attest to it being rock solid.  Too many hoops to jump through when I tried using Firebird.  SQLite3 works right out of the box here on Lazarus (Linux Mint), and all you need for windows is a single sqlite3.dll. 

Here's a small list of companies across the world that use it, too.  Hard to go wrong with SQLite3.
Linux Mint 21.3
Lazarus 3.0

SymbolicFrank

  • Hero Member
  • *****
  • Posts: 1313
Re: Firebird embedded
« Reply #16 on: April 24, 2023, 09:54:04 am »
SQLite is a joy to use, compared to most other SQL servers. Yes, you have to be careful with the format of things like DateTime and there are no user-defined functions, but then again: it integrates seamlessly with your application and is very fast.

On the other hand, most of the extra functionality the big SQL database servers offer is because much of the things you would do in code with SQLite, you have to run on the server instead. SQL wasn't created to write functions and such, so the syntax used to do so is a bit strange, and different for each brand.

So, it mostly depends on what you want to do.

The good thing about Firebird is that there are a lot of tools to help you when things go wrong, but compatibility and development speed are not the highlights. So you might need them.

Zvoni

  • Hero Member
  • *****
  • Posts: 2319
Re: Firebird embedded
« Reply #17 on: April 24, 2023, 10:06:15 am »
I have to disagree with some points
Quote
SQLite is a joy to use, compared to most other SQL servers.
SQLite is NOT a SQL server. Period! You cannot "compare" SQLite to, say, MS SQL-Server

Quote
Yes, you have to be careful with the format of things like DateTime
No, you don't have to be "careful". You have to be consistent.

Quote
... and there are no user-defined functions, ....
There are. They are called "Extensions"

Quote
On the other hand, most of the extra functionality the big SQL database servers offer is because much of the things you would do in code with SQLite, you have to run on the server instead.
No, you don't HAVE to run them on the Server
One System to rule them all, One Code to find them,
One IDE to bring them all, and to the Framework bind them,
in the Land of Redmond, where the Windows lie
---------------------------------------------------------------------
Code is like a joke: If you have to explain it, it's bad

Handoko

  • Hero Member
  • *****
  • Posts: 5131
  • My goal: build my own game engine using Lazarus
Re: Firebird embedded
« Reply #18 on: April 25, 2023, 12:10:32 pm »
Thank you all for the replies.
No luck so far.

I tested all your suggestions, except using Zeos as suggested by Jurassic Pork. I will do it later.

After reading rvk reply, I found one of the possible causes was library version problem (in Windows, they call it DLL hell). So I created a new virtual machine: Ubuntu 23.04 and made sure there was no library dependency issue. See the attached picture.

I followed rvk solution. But I couldn't do it exactly, because I intentionally trying to compiled and used it on different OSes to see how portable it will be. The Firebird I used (when compiling the test program) was version 3.0.5. Not from buildroot.tar.gz, but from my computer because I have Firebird installed on it. The screenshot shows the error I got. So I duplicated the libfbclient.so.3.0.5 to name it as libfbclient.so.2.5.1. The program, data and library folder was /home/ubuntu/Desktop/fbtest. And as you can see I already done the export correctly, and the lddtree not showing any issue.

I already wrote a short program to test. It works on my system. And if I set the hostname empty and make it to use FB embedded (providing libEngine12 and the libfbclient), it still working good on my system because it has Firebird installed.

But I cannot make FB embedded works on other systems, unless I install Firebird on that system.

I will later try Zeos. If I still can't make it works I might use SQLite. I have done research on SQLite. It has many disadvantages. But if I really have to use it, I will be careful and consistent to minimize the possible problems.
« Last Edit: April 25, 2023, 12:21:58 pm by Handoko »

Jurassic Pork

  • Hero Member
  • *****
  • Posts: 1228
Re: Firebird embedded
« Reply #19 on: April 25, 2023, 12:38:01 pm »
Hello,
The screenshot shows the error I got. So I duplicated the libfbclient.so.3.0.5 to name it as libfbclient.so.2.5.1.
see my reply #12 : the free pascal include file ibase60.inc is not up to date.
And you can use a symbolic link unstead of duplicate the file.

Friendly, J.P
« Last Edit: April 25, 2023, 12:48:19 pm by Jurassic Pork »
Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

Handoko

  • Hero Member
  • *****
  • Posts: 5131
  • My goal: build my own game engine using Lazarus
Re: Firebird embedded
« Reply #20 on: April 25, 2023, 12:47:14 pm »
Thank you, I will try your solution later.

But I think I found the problem. See the screenshot. It is clear, libEngine12.so requires to have libfbclient.so.2 to be installed or exist on certain location.

Any suggestion how to solve the issue?

Don't tell me to copy the file to lib folder. If I decided to use embedded, it means I want to write a portable program, no need to install, no sudo needed. Just copy and run.

rvk

  • Hero Member
  • *****
  • Posts: 6112
Re: Firebird embedded
« Reply #21 on: April 25, 2023, 01:04:06 pm »
I followed rvk solution. But I couldn't do it exactly, because I intentionally trying to compiled and used it on different OSes to see how portable it will be. The Firebird I used (when compiling the test program) was version 3.0.5. Not from buildroot.tar.gz, but from my computer because I have Firebird installed on it. The screenshot shows the error I got. So I duplicated the libfbclient.so.3.0.5 to name it as libfbclient.so.2.5.1.
You didn't create a firebird.conf containing where the libEngine12.so can be found.

Further... Linux DOESN'T search the current executable directory for .so files !!!
So you can't just copy the .so file there and hope it works.

You NEED to set the LD_LIBRARY_PATH environment variable like I showed.
(You can point it to the same directory as the executable if you don't want the directory structure)

I've copied the following files to ~/testdir:
libEngine12.so
libfbclient.so # <- just a copy of libfbclient.so.3.0.10
libib_util.so
test # <- my executable

I set
export LD_LIBRARY_PATH=~/testdir

And ran the program. It loaded the libfbclient.so (but now gave me a "localhost" error). But it did load the embedded firebird.

I have to figure out what I missed because the libfbclient.so now thinks it isn't embedded (because of the localhost error).
That's why I began copying the complete directory structure. That does work as embedded.
« Last Edit: April 25, 2023, 01:06:40 pm by rvk »

rvk

  • Hero Member
  • *****
  • Posts: 6112
Re: Firebird embedded
« Reply #22 on: April 25, 2023, 01:17:44 pm »
Ok. I have the embedded files.

For now... you NEED to put the libEngine12.so into a plugins directory.

So ~/testdir :

plugins/libEngine12.so
libfbclient.so # <- just a copy of libfbclient.so.3.0.10
libib_util.so
test # <- my executable

export LD_LIBRARY_PATH=~/testdir
export FIREBIRD=~/testdir

That should work.

BTW. It's also mentioned here: https://wiki.freepascal.org/Firebird_embedded#Linux
« Last Edit: April 25, 2023, 01:21:42 pm by rvk »

cdbc

  • Hero Member
  • *****
  • Posts: 1026
    • http://www.cdbc.dk
Re: Firebird embedded
« Reply #23 on: April 25, 2023, 02:35:01 pm »
Hi
Found this on the interweb: https://www.ibphoenix.com/files/Embedded_fb3.pdf
Regards Benny
If it ain't broke, don't fix it ;)
PCLinuxOS(rolling release) 64bit -> KDE5 -> FPC 3.2.2 -> Lazarus 2.2.6 up until Jan 2024 from then on it's: KDE5/QT5 -> FPC 3.3.1 -> Lazarus 3.0

Handoko

  • Hero Member
  • *****
  • Posts: 5131
  • My goal: build my own game engine using Lazarus
Re: Firebird embedded
« Reply #24 on: April 26, 2023, 08:47:28 am »
@cdbc

Thank you cdbc. Unfortunately that pdf explains how to do it on Windows, and it says the principle is the same for Linux. Doing Firebird embedded for Windows is easy but I am having problem for doing it on Linux.

@rvk

Thank you for your persistence to help. I made some progress but still have problem. It said: Unable to complete network request to host "local host".

I followed your instructions.
- libEngine12.so was in both the executable directory and plugins
- libfbclient.so and libib_util.so are in the executable directory
- Set the export variables
- Set the firebird.conf accordingly

I found that the Firebird 3 embedded (or my project1) requires canberra-gtk module. So I had the module installed.

This is my code for the connection:
Code: Pascal  [Select][+][-]
  1. procedure FBSetConnection(Connection: TIBConnection);
  2. begin
  3.   if not(Assigned(Connection)) then Exit;
  4.   with Connection do
  5.   begin
  6. //    HostName     := 'Localhost';    // remove for serverless
  7.     HostName     := '';
  8.     DatabaseName := GlobalDatabase;
  9.     UserName     := 'SYSDBA';
  10.     Password     := 'masterkey';
  11.     CharSet      := 'UTF8';
  12.   end;
  13. end;

Any idea?

rvk

  • Hero Member
  • *****
  • Posts: 6112
Re: Firebird embedded
« Reply #25 on: April 26, 2023, 09:01:22 am »
Thank you for your persistence to help. I made some progress but still have problem. It said: Unable to complete network request to host "local host".
Yes, I had that initially too.

I followed your instructions.
- libEngine12.so was in both the executable directory and plugins
libEngine12.so NEEDS to be in the directory pointed by FIREBIRD and then in the subdirectory plugins.
(no need for a copy in the executable directory itself)

- Set the firebird.conf accordingly
If you point the FIREBIRD environment variable to the directory where libfbclient.so is (with the libEngine12.so in the plugins directory) then you don't actually need the firebird.conf.

I found that the Firebird 3 embedded (or my project1) requires canberra-gtk module. So I had the module installed.
That one already was preinstalled on my Ubuntu:
Code: Bash  [Select][+][-]
  1. rik@rik-Virtual-Machine:~$ dpkg -l | grep canberra
  2. ii  gnome-session-canberra                     0.30-10ubuntu1                          amd64        GNOME session log in and log out sound events
  3. ii  libcanberra-gtk3-0:amd64                   0.30-10ubuntu1                          amd64        GTK+ 3.0 helper for playing widget event sounds with libcanberra
  4. ii  libcanberra-gtk3-module:amd64              0.30-10ubuntu1                          amd64        translates GTK3 widgets signals to event sounds
  5. ii  libcanberra-pulse:amd64                    0.30-10ubuntu1                          amd64        PulseAudio backend for libcanberra
  6. ii  libcanberra0:amd64                         0.30-10ubuntu1                          amd64        simple abstract interface for playing event sounds
It's probably needed by one of the other dependencies (or is loaded dynamically) because lddtree doesn't list it.

I get the localhost error when FIREBIRD isn't set correctly.
Can you check with echo $FIREBIRD if it is set correctly?
And echo $LD_LIBRARY_PATH (but that one seems to be correct otherwise you wouldn't get the localhost error).

I had this (in a testdirectory /home/rik/d

Code: Bash  [Select][+][-]
  1. rik@rik-Virtual-Machine:~/d$ ./test
  2. An unhandled exception occurred at $00000000004F6C05:
  3. EInOutError: Can not load default Firebird clients ("libfbclient.so.2.5.1" or "libgds.so" or "libfbembed.so.2.5"). Check your installation.
  4.   $00000000004F6C05
  5.   $000000000044C8C9
  6.  
  7. rik@rik-Virtual-Machine:~/d$ export LD_LIBRARY_PATH=~/d
  8. rik@rik-Virtual-Machine:~/d$ ./test
  9. An unhandled exception occurred at $000000000044BA77:
  10. EIBDatabaseError: TIBConnection : CreateDB :
  11.  -Unable to complete network request to host "localhost".
  12.  -Failed to establish a connection.
  13.   $000000000044BA77
  14.   $000000000044C84F
  15.  
  16. rik@rik-Virtual-Machine:~/d$ export FIREBIRD=~/d
  17. rik@rik-Virtual-Machine:~/d$ ./test
  18. a
  19. b
  20. c
  21. done

This is my directory structure:
Code: Bash  [Select][+][-]
  1. rik@rik-Virtual-Machine:~/d$ ls -ltrR
  2. .:
  3. total 4840
  4. -rwxrwxr-x 1 rik rik 1513064 apr 25 12:58 test
  5. -rwxr-xr-x 1 rik rik 1911800 apr 25 13:08 libfbclient.so
  6. -rwxr-xr-x 1 rik rik    4368 apr 25 13:08 libib_util.so
  7. drwxrwxr-x 2 rik rik    4096 apr 25 13:12 plugins
  8. -rw-rw---- 1 rik rik 1515520 apr 25 13:17 DEMO.FDB
  9.  
  10. ./plugins:
  11. total 7336
  12. -rwxr-xr-x 1 rik rik 7511904 apr 25 13:07 libEngine12.so

I'm not even sure libib_util.so is really needed because I can delete it without any problems.
It might be needed for certain functions (not done in my testprogram).
(The description of it is "Firebird RDBMS UDF support library" so you'll need it for UDF support)

Edit: I see you did create the FIREBIRD environment variable.
What is your ls -ltrR result? Are the permissions of plugins set correctly?
And remove the firebird.conf because I'm not sure if you can use ~ there (for home directory).
It might throw everything off (and you don't need the firebird.conf if you didn't change anything else).
« Last Edit: April 26, 2023, 09:10:23 am by rvk »

Handoko

  • Hero Member
  • *****
  • Posts: 5131
  • My goal: build my own game engine using Lazarus
Re: Firebird embedded
« Reply #26 on: April 26, 2023, 01:01:11 pm »
I believe now I have done what you said, what's next?

rvk

  • Hero Member
  • *****
  • Posts: 6112
Re: Firebird embedded
« Reply #27 on: April 26, 2023, 01:20:04 pm »
I believe now I have done what you said, what's next?
Weird. I thought it might have been the permission but after setting the same permissions here, it still works.

Did you set the TIBConnection.Connected property to false in the IDE (not that the program tries to connect before the actual start).
(You can also set a Showmessage() at the top of the FBSetConnection function to see if the error comes before setting the connection params).

What version of Firebird is that? The filesize differ from mine.
I have downloaded Firebird-3.0.10.33601-0.amd64.tar.gz.

(libib_util.so was temporarily removed but that shouldn't be the problem)
Code: Bash  [Select][+][-]
  1. rik@rik-Virtual-Machine:~/d$ ls -ltrR
  2. .:
  3. total 4836
  4. -rwxrwxr-x 1 rik rik 1513064 apr 25 12:58 test
  5. -rw-r--r-- 1 rik rik 1911800 apr 25 13:08 libfbclient.so
  6. drwxr-xr-x 2 rik rik    4096 apr 25 13:12 plugins
  7. -rw-rw-r-- 1 rik rik    1690 apr 26 13:12 firebird.log
  8. -rw-r--r-- 1 rik rik 1515520 apr 26 13:12 DEMO.FDB
  9.  
  10. ./plugins:
  11. total 7336
  12. -rw-r--r-- 1 rik rik 7511904 apr 25 13:07 libEngine12.so
  13. rik@rik-Virtual-Machine:~/d$ echo $FIREBIRD
  14. /home/rik/d
  15. rik@rik-Virtual-Machine:~/d$ echo $LD_LIBRARY_PATH
  16. /home/rik/d
  17. rik@rik-Virtual-Machine:~/d$

(trying a complete new clean install now...)
« Last Edit: April 26, 2023, 01:23:59 pm by rvk »

rvk

  • Hero Member
  • *****
  • Posts: 6112
Re: Firebird embedded
« Reply #28 on: April 26, 2023, 01:40:11 pm »
Ok, my complete log on a clean Ubuntu 22.04.


Code: Bash  [Select][+][-]
  1. rik@rik-Virtual-Machine:~$ wget https://github.com/FirebirdSQL/firebird/releases/download/v3.0.10/Firebird-3.0.10.33601-0.amd64.tar.gz
  2. --2023-04-26 13:35:53--  https://github.com/FirebirdSQL/firebird/releases/download/v3.0.10/Firebird-3.0.10.33601-0.amd64.tar.gz
  3. Resolving github.com (github.com)... 140.82.121.4
  4. Connecting to github.com (github.com)|140.82.121.4|:443... connected.
  5. HTTP request sent, awaiting response... 302 Found
  6. Location: https://objects.githubusercontent.com/github-production-release-asset-2e65be/54005538/34b37706-63ea-496f-b3dc-6781bd46e43c?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230426%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230426T113553Z&X-Amz-Expires=300&X-Amz-Signature=c2d6fbe1a3e832971aa1e839e764b1ac9ebdde3121672a1229c4512bbef09dff&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=54005538&response-content-disposition=attachment%3B%20filename%3DFirebird-3.0.10.33601-0.amd64.tar.gz&response-content-type=application%2Foctet-stream [following]
  7. --2023-04-26 13:35:53--  https://objects.githubusercontent.com/github-production-release-asset-2e65be/54005538/34b37706-63ea-496f-b3dc-6781bd46e43c?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230426%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230426T113553Z&X-Amz-Expires=300&X-Amz-Signature=c2d6fbe1a3e832971aa1e839e764b1ac9ebdde3121672a1229c4512bbef09dff&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=54005538&response-content-disposition=attachment%3B%20filename%3DFirebird-3.0.10.33601-0.amd64.tar.gz&response-content-type=application%2Foctet-stream
  8. Resolving objects.githubusercontent.com (objects.githubusercontent.com)... 185.199.110.133, 185.199.111.133, 185.199.108.133, ...
  9. Connecting to objects.githubusercontent.com (objects.githubusercontent.com)|185.199.110.133|:443... connected.
  10. HTTP request sent, awaiting response... 200 OK
  11. Length: 8768068 (8,4M) [application/octet-stream]
  12. Saving to: ‘Firebird-3.0.10.33601-0.amd64.tar.gz’
  13.  
  14. Firebird-3.0.10.33601-0.amd64.tar.gz          100%[================================================================================================>]   8,36M  36,9MB/s    in 0,2s
  15.  
  16. 2023-04-26 13:35:54 (36,9 MB/s) - ‘Firebird-3.0.10.33601-0.amd64.tar.gz’ saved [8768068/8768068]
  17.  
  18. rik@rik-Virtual-Machine:~$ tar -xf Firebird-3.0.10.33601-0.amd64.tar.gz
  19. rik@rik-Virtual-Machine:~$ cd Firebird-3.0.10.33601-0.amd64
  20. rik@rik-Virtual-Machine:~/Firebird-3.0.10.33601-0.amd64$ tar -xf buildroot.tar.gz
  21. rik@rik-Virtual-Machine:~/Firebird-3.0.10.33601-0.amd64$ cd ..
  22. rik@rik-Virtual-Machine:~$ mkdir d
  23. rik@rik-Virtual-Machine:~$ cd d
  24. rik@rik-Virtual-Machine:~/d$ export LD_LIBRARY_PATH=~/d
  25. rik@rik-Virtual-Machine:~/d$ export FIREBIRD=~/d
  26. rik@rik-Virtual-Machine:~/d$ scp rik@192.168.2.96:/home/rik/d/test .
  27. The authenticity of host '192.168.2.96 (192.168.2.96)' can't be established.
  28. ED25519 key fingerprint is SHA256:<snip>.
  29. This key is not known by any other names
  30. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
  31. Warning: Permanently added '192.168.2.96' (ED25519) to the list of known hosts.
  32. rik@192.168.2.96's password:
  33. test                                                                                                                                                 100% 1478KB 112.7MB/s   00:00
  34. rik@rik-Virtual-Machine:~/d$ cp ~/Firebird-3.0.10.33601-0.amd64/opt/firebird/lib/libfbclient.so .
  35. rik@rik-Virtual-Machine:~/d$ cp ~/Firebird-3.0.10.33601-0.amd64/opt/firebird/lib/libib_util.so .
  36. rik@rik-Virtual-Machine:~/d$ mkdir plugins
  37. rik@rik-Virtual-Machine:~/d$ cp ~/Firebird-3.0.10.33601-0.amd64/opt/firebird/plugins/libEngine12.so plugins
  38. rik@rik-Virtual-Machine:~/d$ ls -lR
  39. .:
  40. total 3360
  41. -rwxr-xr-x 1 rik rik 1911800 apr 26 13:36 libfbclient.so
  42. -rwxr-xr-x 1 rik rik    4368 apr 26 13:37 libib_util.so
  43. drwxrwxr-x 2 rik rik    4096 apr 26 13:37 plugins
  44. -rwx------ 1 rik rik 1513064 apr 26 13:36 test
  45.  
  46. ./plugins:
  47. total 7336
  48. -rwxr-xr-x 1 rik rik 7511904 apr 26 13:37 libEngine12.so
  49. rik@rik-Virtual-Machine:~/d$ ./test
  50. An unhandled exception occurred at $00000000004F6C05:
  51. EInOutError: Can not load default Firebird clients ("libfbclient.so.2.5.1" or "libgds.so" or "libfbembed.so.2.5"). Check your installation.
  52.   $00000000004F6C05
  53.   $000000000044C8C9
  54.  
  55. rik@rik-Virtual-Machine:~/d$ sudo apt-get install libncurses5 libtommath1
  56. [sudo] password for rik:
  57. Reading package lists... Done
  58. Building dependency tree... Done
  59. Reading state information... Done
  60. The following additional packages will be installed:
  61.   libtinfo5
  62. The following NEW packages will be installed:
  63.   libncurses5 libtinfo5 libtommath1
  64. 0 upgraded, 3 newly installed, 0 to remove and 116 not upgraded.
  65. Need to get 263 kB of archives.
  66. After this operation, 1.034 kB of additional disk space will be used.
  67. Do you want to continue? [Y/n] y
  68. Get:1 http://nl.archive.ubuntu.com/ubuntu jammy/universe amd64 libtinfo5 amd64 6.3-2 [99,2 kB]
  69. Get:2 http://nl.archive.ubuntu.com/ubuntu jammy/universe amd64 libncurses5 amd64 6.3-2 [107 kB]
  70. Get:3 http://nl.archive.ubuntu.com/ubuntu jammy/main amd64 libtommath1 amd64 1.2.0-6build3 [56,5 kB]
  71. Fetched 263 kB in 0s (787 kB/s)
  72. Selecting previously unselected package libtinfo5:amd64.
  73. (Reading database ... 178817 files and directories currently installed.)
  74. Preparing to unpack .../libtinfo5_6.3-2_amd64.deb ...
  75. Unpacking libtinfo5:amd64 (6.3-2) ...
  76. Selecting previously unselected package libncurses5:amd64.
  77. Preparing to unpack .../libncurses5_6.3-2_amd64.deb ...
  78. Unpacking libncurses5:amd64 (6.3-2) ...
  79. Selecting previously unselected package libtommath1:amd64.
  80. Preparing to unpack .../libtommath1_1.2.0-6build3_amd64.deb ...
  81. Unpacking libtommath1:amd64 (1.2.0-6build3) ...
  82. Setting up libtommath1:amd64 (1.2.0-6build3) ...
  83. Setting up libtinfo5:amd64 (6.3-2) ...
  84. Setting up libncurses5:amd64 (6.3-2) ...
  85. Processing triggers for libc-bin (2.35-0ubuntu3.1) ...
  86. rik@rik-Virtual-Machine:~/d$ sudo ln -s libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0
  87. rik@rik-Virtual-Machine:~/d$ ./test
  88. creating DEMO.FBD
  89. a
  90. b
  91. c
  92. done
  93.  
  94. rik@rik-Virtual-Machine:~/d$
  95.  

Works...

Can you test my small test program from this post (program testfirebird)?
https://forum.lazarus.freepascal.org/index.php/topic,63142.msg477919.html#msg477919
(just to make sure it's not in your program)

Handoko

  • Hero Member
  • *****
  • Posts: 5131
  • My goal: build my own game engine using Lazarus
Re: Firebird embedded
« Reply #29 on: April 26, 2023, 03:08:54 pm »
@rvk

  • I copied and compiled your code testfirebird from the post #14 using my Lazarus 2.3.0 Ubuntu Mate 19.10 64-bit Firebird 3.0.5.
  • Then copied the testfirebird binary to the virtual machine and set the file as executable.
  • The virtual machine was Ubuntu 23.10 64-bit freshly installed 2 days ago.
  • The virtual machine did not have Firebird server installed.
  • I installed pax-utils, libncurses, libtommath, canberra-gtk on the virtual machine.
  • The libEngine12, libib_util, libfbclient in the virtual machine were copied from the host machine.
  • So those lib files were version 3.0.5.
  • See the screenshot1 below for the run result.
@Jurassic Pork

I tried your suggestion to use Zeos but I can't find TZTransaction component, where to get it? My system is Ubuntu Mate 19.10 64-bit, Lazarus 2.3.0 manually built from the sources. I installed the Zeos 7.2.14 using Online Package Manager. See the screenshot2 below.
« Last Edit: April 26, 2023, 03:11:56 pm by Handoko »

 

TinyPortal © 2005-2018