[osg-users] osgQt versioning problem

Jannik Heller scrawl at baseoftrash.de
Fri Jun 12 05:51:05 PDT 2015


> You just have to build OSG twice using each version of Qt in turn. OSG
> respects the DESIRED_QT_VERSION already.
> cmake -DDESIRED_QT_VERSION=5 - use Qt 5.x
> cmake -DDESIRED_QT_VERSION=4 - use the Qt 4.x series

Yes, but then you won't be able to install those two OSG versions at the same time.
Unless you renamed libraries or used a completely separate prefix for each OSG build, but there isn't an established pattern to do so, so what we'd end up with is each distribution inventing its own ways to cope with the versioning problem. That is what should be avoided at all cost.

> You can specify in the spec file (if you are building for
> RPM-based distro) or the manifest for .dpkg (for Debian/Ubuntu/...)
> which library version your application needs. Then the package will
> not build for the repository maintainer until the requirements are
> met.
> I don't see how - if you set up your package requirements properly,
> then there is no way the repository maintainer could build your
> package requiring one version of Qt and build OSG using another one.

Speaking for some popular distro's that I've seen, there is a way to request a version of the OSG, but no way to request a Qt version of osgQt. No one bothered to add separate versioning for it, probably because the OSG itself doesn't provide one either so doesn't set a precedent on how it should be done. See my earlier comment w.r.t each distribution being forced to invent their own solutions.

Yes, it can work, if you jump through some hoops and are careful in what you do. My point is: it *should* work out of the box. A framework is supposed to make the developer's job easier, not harder, after all.

In my experience with packaged repositories, whatever can go wrong, *will* go wrong eventually. Thus having proper safeguards in place can safe you a lot of time.

> 1) Maintain two separate osgQt libraries, an osgQt4 and an osgQt5

That sounds good. It wouldn't have to be a separately maintained source tree, just building the same tree twice with different build parameters.


Read this topic online here:

More information about the osg-users mailing list