[Date Prev][Date Next][Thread Prev][Thread Next][Thread Index]

Re: [XaraXtreme-dev] libstdc++5 or 6

Alex Bligh wrote:

This is another thing that depends on whether you are using a static
build or a dynamic build. If you are expecting a build to work without
an installer, installing libstdc++ v6 on a system without it is going
to be a pain. Even newer systems have v5 on (i.e. even if they use
v6 internally).

However, that limits you to using gcc3.x (where x is small, I think
3.3 though Luke may correct me), which produces worse code than gcc 4.x
and thus is likely to run more slowly.

On i386 gcc 4.0 produces marginally worse code, but 4.1 (and later) produces better code. We were seeing this when the performance seemed to drop between the build server versions and developer built versions.

When we are producing packages, we should thus compile with 4.x, get
faster code, and have a dependency on libstdc++ v6 which the distro tools
will sort out installing right.

Which means effectively any distribution that is v5 based can't run the executable, and I can't imagine that our target audience will necessarily have the latest version of any distribution and not be able to build from source (barring in mind it's less than a year since gcc 3.4 became main-stream).

Essentially when producing non-package binaries, you have to pitch to
the lowest common denominator. You can be cleverer with package binaries.

It would also be possible to build both a v5 version and a v6 version, with details on the website about which to use with which version of each distribution.