Author Topic: Incompatible QT versions?  (Read 1829 times)

Offline ZelaoN

  • New Friend
  • *
  • Posts: 3
Incompatible QT versions?
« on: May 20, 2011, 02:48:17 AM »
Hi, all,

I work under a propietary software thath uses QT, and I'm having a little problem to run it.

I get the error:
Cannot mix incompatible Qt library (0x40703) with this library (0x40702)

This application, has QT libs builded in the same folder, and seems a problem with both versions in the path.
Code: [Select]
[glpunzi@PC01 VelneoV7-vDevelop]$ ls
libQtCore.so.4         libQtSvg.so.4           libVCLGui.so.7
libQtDeclarative.so.4  libQtWebKit.so.4        License.txt
libQtGui.so.4          libQtXmlPatterns.so.4   plugins
libQtNetwork.so.4      libVCLBasica.so.7       vDevelop
libQtScript.so.4       libVCLClientAdmin.so.7  vDevelop.png
libQtSql.so.4          libVCLGuiMap.so.7       vDevelop.sh

The script to run the application it's suppose change the path to execute the libs included:
Code: [Select]
#!/bin/sh
#
# Startup script
#

# Function to find the real directory a program resides in.
# Feb. 17, 2000 - Sam Lantinga, Loki Entertainment Software

FindPath()
{
    fullpath="`echo $1 | grep /`"
    if [ "$fullpath" = "" ]; then
        oIFS="$IFS"
        IFS=:
        for path in $PATH
        do if [ -x "$path/$1" ]; then
               if [ "$path" = "" ]; then
                   path="."
               fi
               fullpath="$path/$1"
               break
           fi
        done
        IFS="$oIFS"
    fi
    if [ "$fullpath" = "" ]; then
        fullpath="$1"
    fi

    # Is the sed/ls magic portable?
    if [ -L "$fullpath" ]; then
        #fullpath="`ls -l "$fullpath" | awk '{print $11}'`"
        fullpath=`ls -l "$fullpath" |sed -e 's/.* -> //' |sed -e 's/\*//'`
    fi
    dirname $fullpath
}

# Set the home if not already set.
if [ "${VELNEO_PATH}" = "" ]; then
    VELNEO_PATH="`FindPath $0`"
fi

LD_LIBRARY_PATH=.:${VELNEO_PATH}:${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH

# Let's boogie!
if [ -x "${VELNEO_PATH}/vDevelop" ]
then
cd "${VELNEO_PATH}/"
exec "./vDevelop" "$@"
fi
echo "Couldn't run Velneo vDevelop V7"
exit 1

But there is something that links to system qtlibs and conflicts with this app.

Conclusion: I need to run this application with it's own libqt builded, but seems changing LD_LIBRARY_PATH is not enough.

Some idea about how to do this?

Thanks for your time.

Offline Old-Polack

  • Administrator
  • Super Villain
  • *****
  • Posts: 11577
  • ----IOFLU----
Re: Incompatible QT versions?
« Reply #1 on: May 20, 2011, 12:55:28 PM »
And this has what to do with PCLinuxOS? We do not support applications installed from outside of our repos, and certainly not proprietary apps over which we have no control.
Old-Polack

Of what use be there for joy, if not for the sharing thereof?



Lest we forget...

Offline Sproggy

  • Hero Member
  • *****
  • Posts: 1484
Re: Incompatible QT versions?
« Reply #2 on: May 20, 2011, 01:00:17 PM »
And this has what to do with PCLinuxOS? We do not support applications installed from outside of our repos, and certainly not proprietary apps over which we have no control.

i was gonna say exactly the same ... but i thought better lol ... as always O-P you are always correct lol

Offline Crow

  • Hero Member
  • *****
  • Posts: 8766
  • OBJECTS IN MIRROR... ARE LOSING
Re: Incompatible QT versions?
« Reply #3 on: May 20, 2011, 03:04:31 PM »
BTW  Welcome  ZelaoN   ;D
I shall pass this way but once;
any good therefore that I can do,
or any kindness that I can show
let me not defer nor neglect it,
for I shall not pass this way again.

Linux User #330412

Offline ZelaoN

  • New Friend
  • *
  • Posts: 3
Re: Incompatible QT versions?
« Reply #4 on: May 21, 2011, 03:18:22 AM »
Hi,

I'm not asking for support as is, I'm asking for help if you kindly want to help me, because I don't get this error in other distros, and I want to learn a little more about PCLinuxOS.

I'm respectfully asking if there are other env vars to modify for libqt be searched only inside a folder.

Thanks Crow :)

Online muungwana

  • Hero Member
  • *****
  • Posts: 6237
Re: Incompatible QT versions?
« Reply #5 on: May 22, 2011, 05:11:15 PM »

It will be a lot easier if somebody else whp use pclinuxos can try this app to try to figure out where the error is coming from.

From looking at it, it seem this application is shipping with its own qt libraries and these libraries are not self sufficient and they go and look for qt system libraries to satisfy their dependencies and then they complain when they find qt system libraries that are newer than themselves.

Possible solution are:

1. Remove all those qt libraries from that folder forcing the application to use system qt libraries
2. Have your own qt version 4.7.2 and then have this application look for additional qt libraries from them.
3. Wait for the application to be updated to support qt version 4.7.3

I assume most distro that use qt version 4.7.3 will have the same problem you are having.

when you are in that folder, open the terminal and then type these two commands and give their output here. Put the output in the "code" tags for easy readability.

export LD_LIBRARY_PATH=`pwd`
ldd *
.. 3 things are certain in life : death, taxes and software bloat ..
.. tell me something i don't know, something i can use as i struggle to reason with the world around me ..

Offline ZelaoN

  • New Friend
  • *
  • Posts: 3
Re: Incompatible QT versions?
« Reply #6 on: May 27, 2011, 12:50:53 PM »

It will be a lot easier if somebody else whp use pclinuxos can try this app to try to figure out where the error is coming from.

From looking at it, it seem this application is shipping with its own qt libraries and these libraries are not self sufficient and they go and look for qt system libraries to satisfy their dependencies and then they complain when they find qt system libraries that are newer than themselves.

Possible solution are:

1. Remove all those qt libraries from that folder forcing the application to use system qt libraries
2. Have your own qt version 4.7.2 and then have this application look for additional qt libraries from them.
3. Wait for the application to be updated to support qt version 4.7.3

I assume most distro that use qt version 4.7.3 will have the same problem you are having.

when you are in that folder, open the terminal and then type these two commands and give their output here. Put the output in the "code" tags for easy readability.

export LD_LIBRARY_PATH=`pwd`
ldd *

Hi, thanks for your answer.

Yes, I found the problem, and solution, but not the time to post it :D

If I delete qtlibs applications works. The problem, was, changing the envvars, the application used his own libs, but Oxygen uses dynamicaly QTDBus, and this was the "incompatible versions".

For the moment, deleting qtlibs inside this app, all works fine, but it's suppose, if a qtdbus lib with the same version, is placed inside this dir, it should work.

Thanks to all.

Online muungwana

  • Hero Member
  • *****
  • Posts: 6237
Re: Incompatible QT versions?
« Reply #7 on: May 27, 2011, 01:35:23 PM »

I am glad you got this one solved. Can you modify the title of your thread and add "solved" to it?

It is one of those rules around here.

Welcome to the forum, looking forward to seeing you around.
.. 3 things are certain in life : death, taxes and software bloat ..
.. tell me something i don't know, something i can use as i struggle to reason with the world around me ..