[Gambas-user] ERROR:ld.so: object 'libqt-mt.so.3

Benoit Minisini gambas at ...1...
Mon Mar 24 17:53:21 CET 2008


On lundi 24 mars 2008, Demosthenes Koptsis wrote:
> Hi, i have a procces with SHELL executing a "su" command.
> When the project runs in GAMBAS IDE everything is fine. No error
> message box appeared
> But when i run the executable i get the following error
> "ERROR:ld.so: object 'libqt-mt.so.3' from LD_PRELOAD cannot be
> preloaded: ignored"
> So i have to write something like that in Procces_Error Sub to avoid
> the error messagebox in executable
>
> PUBLIC SUB Process_Error(txtError AS String)
>
>   'we use one var to inform the errors to user
>   DIM txtErrorString AS String
>
>  'if txtError start with word "ERROR" dont show message
>  'if we dont write these "if" lines the executable file raises an
> error when we execute a "su" command
>  'the error is "ERROR:ld.so: object 'libqt-mt.so.3' from LD_PRELOAD
> cannot be preloaded: ignored"
>  IF Mid(txtError, 1, 5) = "ERROR" THEN
>     RETURN
>  ELSE
>     txtErrorString = "The process raised the following error:\n"
>     message.Error(txtErrorString & txtError)
>  END IF
>
> END
>
> Does anybody know something about that?
>
>

Preloading is a thing done by the interpreter at startup to workaround some 
bugs in the compilation of QT and KDE libraries on some systems like 
OpenSUSE. 

So, when a project uses gb.qt or gb.qt.kde, some libraries are put in 
LD_PRELOAD at startup, and the interpreter is run again, so that these 
libraries are loaded before anything is run by the interpreter. Otherwise, it 
crashes in the dynamic libraries loader.

At the moment it is done by default for everyone. But, for example, on 
Mandriva, it is not necessary at all.

You are not clear anyway: can you explain precisely how you run the program to 
get the error message? Which distribution do you use? Can you send your 
project?

Regards,

-- 
Benoit Minisini




More information about the User mailing list