Kylix libborqt dependency

Discussion of open issues, suggestions and bugs regarding MyDAC (Data Access Components for MySQL) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
asceta
Posts: 16
Joined: Mon 13 Feb 2006 10:04
Location: Spain

Kylix libborqt dependency

Post by asceta » Mon 13 Feb 2006 10:36

Hello all,

This is my first post in the forum and I hope somebody can help me because I'n desperate...

Recently I've updated myDAC components from 1.50 version to te latest 4.30 version. Now I'm recompliling all my programs (all of them all console applications with CLX inclusion). Now all my recompiled programs have one more dependency than before. Now they depends on libborqt-6.0.0. Here is the ldd outpu:

Code: Select all

$ldd myprogram
        libborqt-6.9.0-qt2.3.so => not found
        libdl.so.2 => /lib/libdl.so.2 (0x4002d000)
        libpthread.so.0 => /lib/i686/libpthread.so.0 (0x40031000)
        libc.so.6 => /lib/i686/libc.so.6 (0x40046000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
This happens in all MyDAC versions except the old 1.50.

I don't know why this happens because I don't use TConnectDialog. I only use TMyConnection and TMyQuery.

This is my project file:

Code: Select all




  
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
  
  
    
    
    
    
    
  
  
    
    
    
  
  
      
      
      
      
      
      
  
  
  

  
[HistoryLists\hlIncludePath]
Count=2
Item0=work/projects/caelicense_pruebas:/usr/local/kylix3/mydac/include:$(BCB)/include/stlport:$(BCB)/include:$(BCB)/include/vcl:/usr/include
Item1=work/projects/caelicense_pruebas:$(BCB)/include/stlport:$(BCB)/include:$(BCB)/include/vcl:/usr/include

[HistoryLists\hlLibraryPath]
Count=2
Item0=work/projects/caelicense_pruebas:/usr/local/kylix3/mydac/lib:$(BCB)/lib/obj:$(BCB)/lib:/usr/lib:/lib:/usr/X11R6/lib:$(BCB)/bin
Item1=work/projects/caelicense_pruebas:$(BCB)/lib/obj:$(BCB)/lib:/usr/lib:/lib:/usr/X11R6/lib:$(BCB)/bin

[HistoryLists\hlConditionals]
Count=1
Item0=_DEBUG

[Debugging]
DebugSourceDirs=

[Parameters]
RunParams=
Launcher=/usr/X11R6/bin/xterm -T KylixDebuggerOutput -e bash -i -c %debuggee%
UseLauncher=0
DebugCWD=
HostApplication=

[Compiler]
ShowInfoMsgs=0
LinkDebugVcl=0
  

I think I've tried all, but the problem persists. I've also compiled a simple console app with minimal code (only TMyConnection stuff) and the dependency is still there.

I'm using Kylix 3 Professional.

¿Any ideas?

I really need to solve this, any help will be appreciated.

Thnak you

asceta
Posts: 16
Joined: Mon 13 Feb 2006 10:04
Location: Spain

Post by asceta » Wed 15 Feb 2006 10:44

Please, I need to solve this.

I've written to MyDac support but there is no answer. I've a developer license but it seems this does'nt mean anything.

I'm trying to solve it by my self but now I don't know what to try, I think I've tried all options with no success.

Any ideas will be appreciated.

Did someone have been able to compile a console project under Kylix 3 (using C++) that includes MyDAC and the resulting executable does not depends on libborqt library?

Regards

Ikar
Posts: 1693
Joined: Thu 28 Oct 2004 13:56

Post by Ikar » Thu 16 Feb 2006 07:21

We have checked the problem. We haven't found any links to Qt-library in
non-visualMyDAC code. Also we have no links to Qt-library in MyDAC distributive.

We couldn't compile your example as it uses unknown "pvisualclx.a" file.

asceta
Posts: 16
Joined: Mon 13 Feb 2006 10:04
Location: Spain

Post by asceta » Thu 16 Feb 2006 10:11

Thank you Ikar for your reply.

Please substitute pvisualclx.a and, if so, pvisualdbclx.a by visualclx.a and visualdbclx.a and try to compile the project.

I've those pvisual* libraries because I've installed the unofficial Kylix patches but I don't think this is the problem because I've tried to substitute the libraries by the older ones and the problem persists.

Could you send me the simplest possible console project including MyDAC to test it (for C++ Kylix)?

Thank you

asceta
Posts: 16
Joined: Mon 13 Feb 2006 10:04
Location: Spain

Post by asceta » Thu 16 Feb 2006 10:52

I've tried now with a fresh Kylix install (without patches), just in case. The results are the same, as soon as I include a TMyConnection object the executable depends on libborqt-6.9.0-qt2.3.so

Any ideas?

asceta
Posts: 16
Joined: Mon 13 Feb 2006 10:04
Location: Spain

Post by asceta » Fri 17 Feb 2006 16:04

Hi Ikar,

Did you compile my project?

Please, tell me something because I don't know what to do now.

Regards

Ikar
Posts: 1693
Joined: Thu 28 Oct 2004 13:56

Post by Ikar » Mon 20 Feb 2006 11:57

As we can see, you use QForms unit in your test project. This unit links QT library.

asceta
Posts: 16
Joined: Mon 13 Feb 2006 10:04
Location: Spain

Post by asceta » Mon 20 Feb 2006 12:28

Hi Ikar and thank you for the reply.

I really don't need any Forms in my project. I can't see where is the QForms unit reference except in datamod.h, there is an #include . If that is the problem removing this line will suffice but that is not true. I've commented out the following lines (in datamod.h):

Code: Select all

//#include 
//#include 
//#include 
//#include 
and the problems persists.

I'm trying to compile a simple MyDac project (a console app with a unique cpp file) but I've problems at the link phase. I get errors like 'can't open DBConsts.o' or same with 'DB.o'.

Please could you tell me how can I remove de QForms from my project, and if possible, could you send me the simplest possibly project using MyDAC in Kylix C++, that way I can start from there.

Thank you again.

upscene

Post by upscene » Mon 20 Feb 2006 13:09

Does your console project file include references to TApplication?

If so, that, I believe, comes from the QForms unit as well.

--
Martijn Tonies
Upscene Productions

asceta
Posts: 16
Joined: Mon 13 Feb 2006 10:04
Location: Spain

Post by asceta » Mon 20 Feb 2006 14:35

Thank you,

My console project does'nt have any TApplication reference.

I sent to Ikar two console projects. Both are exactly the same project type, with same units, etc... The only difference is that one includes a TMyConnection and the other does not. The first project generates an executable without the QT dependency but the second has that dependency. How is that possible if MyDAC components does not depends on QT?

I can't believe there's a way of compiling a simple project using MyDAC that results in an executable without QT dependecy. I think I've tried all at my hands.

I think is a bug in Kylix C++ MyDAC libraries because this does not happens if I use Kylix Delphi libraries.

If you think I'm wrong, please send me a Kylix C++ project, including at least a TMyConnection referece that compiles without qt dependency.

Regards

asceta
Posts: 16
Joined: Mon 13 Feb 2006 10:04
Location: Spain

Post by asceta » Tue 21 Feb 2006 09:21

Ikar,

I sent to you a the simplest project I could made using MyDac. Only a cpp that creates and deletes a TMyConnection object. After compiling the project the resulting executable still has the QT dependency.

Please compile it and see what I mean.

regards

Ikar
Posts: 1693
Joined: Thu 28 Oct 2004 13:56

Post by Ikar » Tue 21 Feb 2006 13:41

We have performed deep analysis for this problem. Source of the problem is strange behavior of Kylix C++ linker.

If we add

Code: Select all

function compress(dest: IntPtr; destLen: IntPtr; const source: IntPtr; sourceLen: longint): longint; cdecl; external 'libz.so' name 'compress';
line or any other line with similar syntax to MyDAC code, linker adds QT.

As MyDAC 1.50 didn't support compressed protocol and BLOB compression this function isn't used.

Do you have Pro or Std version?

asceta
Posts: 16
Joined: Mon 13 Feb 2006 10:04
Location: Spain

Post by asceta » Tue 21 Feb 2006 14:12

Thank you!!!

This happens from MyDAC version 2.00. Do you know how to remove that dependency?

I've single developer standard version :(, but if necessary I can upgrade to the Professional version.

Regards

Ikar
Posts: 1693
Joined: Thu 28 Oct 2004 13:56

Post by Ikar » Wed 22 Feb 2006 14:06

We will try to avoid this problem in nearest build.

asceta
Posts: 16
Joined: Mon 13 Feb 2006 10:04
Location: Spain

Post by asceta » Wed 22 Feb 2006 14:17

I hope so...

Thank you again

Post Reply