On quarta-feira, 27 de junho de 2012 09.48.01, Jonathan Riddell wrote:
> As Thiago says it's pretty normal for libraries to keep the same names
> in different versions, the changed SONAME allows for the runtime bits
> both to be installed at the same time.  It's the development files
> which can't be installed together, but that's not unusual.
>
> However gtk2 & 3 do differ in the actual library name
> /usr/lib/i386-linux-gnu/libgdk-3.so -> libgdk-3.so.0.504.0
> /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so -> libgdk-x11-2.0.so.0.2400.10

Yes, they do, but there are many more libs that don't. I don't want to
forcibly rename the Qt libraries now. We could add the "5" to the name in all
platforms, such as Windows is doing right now, but I simply don't want to do
that. I see no compelling reason to do it.

If you really, really, really want to install the two development environments
in parallel, and considering that we already do need different prefixes, I'd say
that the .so and .a files (if any) should be in $prefix/lib (e.g.,
/usr/lib/qt5/lib) and symlink to the actual files that live in /usr/lib. qmake
will have the lib path hardcoded and will add the necessary -L; cmake gets the
information from qmake.

> so changing library names is also not uncommon and allows for
> developer environments to be co-installed.  The tools are more
> important because this makes packaging fiddly.  The runtime plugin
> environment variable $QT_PLUGIN_PATH is most important because the
> runtime libraries should be co-installable.

I agree on the environment variable. Let's add a version number there.

I said I wasn't going to comment on the tools, but here's one comment: only
qmake needs to be versioned, since it's the only tool that users run. The
other ones like moc, uic, rcc, lconvert, lrelease, lupdate, qmlviewer,
qmlscene can be hidden away in libexec or in $prefix/bin. And designer,
assistant, linguist, qdbus, qdbusviewer are applications: you don't install
two of them.

Of much greater interest is ensuring that multi-arch works properly. The Qt
headers should be entirely platform-agnostic now, as there's no QT_ARCH
setting in qconfig.h.

--
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center
     Intel Sweden AB - Registration Number: 556189-6027
     Knarrarnäsgatan 15, 164 40 Kista, Stockholm, Sweden

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development

Reply via email to