[Qt-interest] Running Qt 4.7 applications without Qt 4.6 interfering

Nikos Chantziaras realnc at arcor.de
Thu May 6 17:22:18 CEST 2010


I'm on Linux, not Mac OS X.  DYLD_LIBRARY_PATH is for OS X. 
LD_LIBRARY_PATH is the Linux equivalent.

On 05/06/2010 06:17 PM, kent williams wrote:
> You can use DYLD_LIBRARY_PATH to make the loader look where you want
> it to first.
>
> It's one of the truisms of software development -- just as in C/C++
> Programming you waste a lot of time on memory management, at the macro
> app development level, you waste a lot of time screwing around trying
> to get Shared Object libraries right.
>
> I've been doing app development for nearly 20 years and I figure I've
> put at least 3 months into shared library complications.  If it was
> practical I'd link everything I deploy static.
>
> On Thu, May 6, 2010 at 10:09 AM, Nikos Chantziaras<realnc at arcor.de>  wrote:
>> Thanks, but same result.  Btw, setting all those env vars isn't
>> necessary since I use qmake which knows to use the correct paths.  It
>> even sets the rpath linker flag to the correct location inside my home dir.
>>
>> I believe some of the libs of Qt 4.7 is trying to dynamically load
>> another Qt lib that isn't there, and resorts to locating it in /usr/lib.
>>   But unfortunately, it doesn't say which library it tries to load...
>> It only spits out the error message with no further context.
>>
>>
>> On 05/06/2010 06:00 PM, Ioan Calin Borcoman wrote:
>>> Check this: http://sourceforge.net/apps/trac/ibocator/wiki/BuildingWithLocalPackages
>>>
>>> It is very similar with what you need and it works great for me. If
>>> it's not working, pls leat me know.
>>>
>>> Cheers,
>>>
>>> Ionutz
>>>
>>> On Thu, May 6, 2010 at 5:55 PM, Nikos Chantziaras<realnc at arcor.de>    wrote:
>>>> On my Linux box, I've compiled the newly released Qt 4.7.0 Beta1 and
>>>> installed it in my home directory.  The system's Qt version (/usr/lib)
>>>> is Qt 4.6.2.  I've set my environment when building against 4.7 like this:
>>>>
>>>>     export PATH="/home/realnc/opt/qt/4.7.0/bin:$PATH"
>>>>     export LD_LIBRARY_PATH="/home/realnc/opt/qt/4.7.0/lib"
>>>>
>>>> When I try to run the app however, I get:
>>>>
>>>>     Cannot mix incompatible Qt library (version 0x40602) with
>>>>     this library (version 0x40700)
>>>>     Aborted
>>>>
>>>> When I move /usr/lib/qt4/ to somewhere else, then the application works
>>>> OK; no warnings or errors.  But I can't do that for real, or else KDE
>>>> will stop working.
>>>>
>>>> What can I do?



More information about the Qt-interest-old mailing list