Unidac on Lazarus/Ubuntu

Discussion of open issues, suggestions and bugs regarding UniDAC (Universal Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
99Percent
Posts: 48
Joined: Tue 13 Sep 2005 05:34

Unidac on Lazarus/Ubuntu

Post by 99Percent » Tue 04 May 2010 22:18

I am trying to install Unidac on lazarus in Ubuntu.

I downloaded the trial and extracted the files to /usr/lib/lazarus/components

Then what? There are no instructions to compile and install the packages.

I tried to install some of the packages but invariably I get a file missing error.

Thanks.

Dimon
Devart Team
Posts: 2910
Joined: Mon 05 Mar 2007 16:32

Post by Dimon » Thu 06 May 2010 13:28

You need to install UniDAC packages to Lazarus IDE manually. Open %UniDAC%\Packages\dclunidac.lpk file in Lazarus and press the Install button. After that Lazarus IDE will be rebuilded with UniDAC packages.
Do not press the Compile button for the package. Compiling will fail because there are no UniDAC sources.

99Percent
Posts: 48
Joined: Tue 13 Sep 2005 05:34

Post by 99Percent » Fri 14 May 2010 01:36

I went ahead and upgraded to the with sources version of Unidac. Unfortunately there are no specific instructions on how to install/compile under Lazarus/Ubuntu (or just Lazarus for that matter).

The unidac version with sources does not have a dclunidac.lpk, (but it does have a dclunidac10.lpk I tried installing it but it fails with

Code: Select all

The package "dac10 1.1.1.1" failed to compile.
The message windows has the following (after a heck of lot of hints and warnings):

Code: Select all

/home/david/lazarus/UniDAC/Source/DBMonitorClient.pas(1,1) Fatal: Can't find unit Libc used by DBMonitorClient
No components were added to the component palette.
Please help as my experience with both Lazarus and Ubuntu is not very extensive to say the least.

99Percent
Posts: 48
Joined: Tue 13 Sep 2005 05:34

Post by 99Percent » Fri 14 May 2010 05:37

Ok, I am doing some progress now.

I installed the deb package for kylix compatability (which contains Libc, currently deprecated by the freepascal community, but nonetheless required by unidac) from http://packages.debian.org/squeeze/fp-units-i386

I then was able to compile all the DAC units as described in the ReadMeSrc.txt substituting lpk instead of dpk

I ran into problems compiling and installing the uniprovider for Oracle (the first of the providers). I had to edit the oraprovider10.lpk changing the line that said

Code: Select all

        

Code: Select all

        
I also had to copy the file dac.inc from source directory to the UniProviders/Oracle directory.

After that I was able to compile and install the Oracle UniDAC Provider (which unfortunately I doubt I will ever use, lol). However when I tried to compile the msprovider I ran into an additional problem:

Code: Select all

/home/david/lazarus/UniDAC/Source/UniProviders/SQLServer/OLEDBAccessUni.pas(1,1) Fatal: Can't find unit Windows used by OLEDBAccessUni
I have to go to sleep right now, but this looks very worrisome as it seems it depends on a windows implemented library, and MS Provider is something I definitely will need.

Dimon
Devart Team
Posts: 2910
Joined: Mon 05 Mar 2007 16:32

Post by Dimon » Fri 14 May 2010 07:14

SDAC uses OLEDB to access MSSQL Server that is not supported by Ubuntu. Therefore you can't complile msprovider on Ubuntu.

99Percent
Posts: 48
Joined: Tue 13 Sep 2005 05:34

Post by 99Percent » Fri 14 May 2010 18:49

That is disappointing. I thought then maybe use ODBCUniProvider with FreeTDS, but the ODBCUniProvider doesn't compile either:

Code: Select all

/home/david/lazarus/UniDAC/Source/UniProviders/ODBC/ODBCCallUni.pas(2429,31) Error: Identifier not found "HWND"
.
It seems Lazarus in Linux support of Unidac is not very complete yet. Oh well.

Post Reply