All KDE ports need a major revbump, due to recent changes to qt4-mac

Mojca Miklavec mojca at macports.org
Thu Oct 29 09:05:09 PDT 2015


On Thu, Oct 29, 2015 at 4:09 PM, Rainer Müller wrote:
> On 2015-10-27 22:24, Marko Käning wrote:
>> Hi Nicolas,
>>
>> while building kdevelop and kdepim4 I came across some rev-upgrades… Thus I have rebumped ports kate, libkgapi and konversation.
>>
>> For instance, the latter tried to find libqca in it’s old location
>> ---
>> Dyld Error Message:
>>   Library not loaded: /opt/local/lib/libqca.2.dylib
>>   Referenced from: /Applications/MacPorts/*/konversation.app/Contents/MacOS/konversation
>>   Reason: image not found
>> ---
>> which has - in the meantime - moved into $PREFIX/libexec/qt4/lib/:
>
> What was the reason for moving Qt4 into its own prefix? I guess this is
> about allowing Qt4 and Qt5 to be installed at the same time?
>
> I only noticed this now, but it seems this change will cause problems:
>
> * binaries in ${prefix}/libexec/qt4/bin are inaccessible and not in PATH
> * pkg-config files in ${prefix}/libexec/qt4/lib/pkgconfig/ will not be
>   found by default (needs additional PKG_CONFIG_PATH)
> * cmake modules in ${prefix}/libexec/qt4/share/cmake/ will not be found
>   by default (needs additional CMAKE_MODULE_PATH)
>
> The same seems to apply to qt5-mac as well. Also, the choice of
> ${prefix}/libexec/qt4/ vs. ${prefix}/libexec/qt5-mac/ looks inconsistent.
>
> Please do not simply drop everything related to Qt into its own prefix.
> At least keep the files mentioned above in the default locations where
> they can be found and used by other build systems.

This special layout is something that René has been working on for
months, but nobody looked into his work for a very long time (and
nobody felt the pressing need to fix the situation with conflicting
Qt4 and Qt5). When 10.11 came out (where Qt 4 no longer worked), the
switch to Qt 5 and moving Qt 4 away suddenly had to be done in a
hurry, so the maintainer decided for the easier path to simply put
everything under the same prefix.

Qt4 and Qt5 are maintained by different people which complicates matters a bit.

I still hope that the idea is to eventually:
- put different things under appropriate prefixes (like the three
examples mentioned above)
- unify paths for Qt 4 and Qt 5 (the is no need to use a "-mac" postfix)

Any port than requires Qt should include one of the two qt portgroups
that sets all the necessary variables, so that even if Qt 4/5 layout
changes again, it should be a simple matter of a revbump of
dependents.

Mojca


More information about the macports-dev mailing list