kdesupport/soprano/soprano

Thiago Macieira thiago at kde.org
Wed Jan 13 18:33:09 GMT 2010


Em Quarta-feira 13 Janeiro 2010, às 12:14:17, Andreas Pakulat escreveu:
> On 12.01.10 18:58:47, Thiago Macieira wrote:
> > SVN commit 1073734 by thiago:
> > 
> > Soprano cannot define qHash(const QUrl &) after Qt 4.7.
> > 
> > Qt 4.7 will come with its own hashing function for QUrl. If Soprano
> > continues to define such a function, compilation errors will occur.
> > 
> > This is technically a binary incompatible change. However, I have
> > taken steps to minimise the issue. Most users will not see a problem,
> > but it could happen:
> > 
> > 1) on non-ELF platforms (Mac and Windows), 'uint qHash(const QUrl &)'
> > 
> >    is defined in a different library, so applications will need to be
> >    relinked. However, Windows allows for the same symbol to be present
> >    in many libraries, so we'll just define it in both Qt and Soprano.
> >    
> >    For Mac users, this is a fully binary-incompatible change. I don't
> >    see a way around the issue.
> > 
> > 2) The hashing function is different from what Soprano is currently
> > 
> >    using. I have added the functionality to Qt 4.6 as private API to
> >    ease transition, but this requires recompiling Soprano with Qt
> >    4.6.2 or later for it to kick in.
> >    
> >    This is a runtime-incompatibility issue,
> >    
> >    This affects any public API with QHash<QUrl, T>. Scanning KDE for
> >    uses of QHash<QUrl, T> revealed only one public API, in
> >    kdelibs/nepomuk/core/resource.h.
> 
> Just to make sure: Did you include extragear and playground in the scan?

No.

Just KDE. I was focusing on the API that might break.

I have now, plus kdereview, koffice and amarok.

There were 3 more places in playground/base/nepomuk-kde. I couldn't find 
anywhere else.

-- 
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
  Senior Product Manager - Nokia, Qt Development Frameworks
      PGP/GPG: 0x6EF45358; fingerprint:
      E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20100113/bc22e114/attachment.sig>


More information about the kde-core-devel mailing list