Page 1 of 1

Kylix libborqt dependency

Posted: Mon 13 Feb 2006 10:36
by asceta
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

Posted: Wed 15 Feb 2006 10:44
by asceta
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

Posted: Thu 16 Feb 2006 07:21
by Ikar
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.

Posted: Thu 16 Feb 2006 10:11
by asceta
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

Posted: Thu 16 Feb 2006 10:52
by asceta
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?

Posted: Fri 17 Feb 2006 16:04
by asceta
Hi Ikar,

Did you compile my project?

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

Regards

Posted: Mon 20 Feb 2006 11:57
by Ikar
As we can see, you use QForms unit in your test project. This unit links QT library.

Posted: Mon 20 Feb 2006 12:28
by asceta
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.

Posted: Mon 20 Feb 2006 13:09
by upscene
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

Posted: Mon 20 Feb 2006 14:35
by asceta
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

Posted: Tue 21 Feb 2006 09:21
by asceta
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

Posted: Tue 21 Feb 2006 13:41
by Ikar
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?

Posted: Tue 21 Feb 2006 14:12
by asceta
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

Posted: Wed 22 Feb 2006 14:06
by Ikar
We will try to avoid this problem in nearest build.

Posted: Wed 22 Feb 2006 14:17
by asceta
I hope so...

Thank you again