[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-devel
Subject: Re: Calling all KDE devs! Autopackage needs your help!
From: Thiago Macieira <thiago () kde ! org>
Date: 2005-05-30 23:24:47
Message-ID: 200505302024.53406.thiago () kde ! org
[Download RAW message or body]
[Attachment #2 (multipart/signed)]
Hongli Lai wrote:
>LiuCougar wrote:
>> thanks for your info, carl and Hongli Lai (oh, you have a Chinese
>> style name ;) )
>
>I'm Chinese.
>
>> Do gcc 3.2 and 3.3 have compatible ABI?
>
>Yes.
Disregard my email about the ABIs.
After checking the TeXinfo pages and other people, this is what it says:
g++ 2.95 = completely different ABI, and the Autopackage guys don't want
to support it. Note that KDE 3 officially supports it, but we plan to
move it to "it would be nice if it worked" for KDE4.
g++ 2.96 = not official g++ release, not compatible to anything
g++ 3.0 = different ABI, no longer supported. Compatible with 3.1.
g++ 3.2 = -fabi-version=1. Compatible with g++ 3.3
g++ 3.4 = -fabi-version=2. Compatible with g++ 4.0
If you have a g++ 3.4 or 4.0, you can just use the -fabi-version= switch
to tell it to generate an older ABI. So there's no need to have two
compilers installed in order to link.
However, you need two sets of libraries, one for each ABI. KDE does not
make that distinction in library sonames nor library paths, so you need
two completely different KDE prefixes (like /opt/kde3-abi1
and /opt/kde3-abi2). The datafiles can be shared, but not any of the
binaries.
Also consider that KDE uses the "kdeinit" technology, which means it
preloads some of the libraries. This, in special, means you CANNOT mix
environments. You cannot run a kdeinit-based application with one ABI if
your kdeinit was installed with another ABI. Doing so will cause crashes,
sooner or later.
The end result is that every C++ application must be compiled twice ---
one for each ABI, for each and every Autopackage package. In other words,
if you want to make KDE autopackages, you must use g++ 3.4 (because 4.0.0
miscompiles KDE).
Is that a good solution?
--
Thiago Macieira - thiago (AT) macieira (DOT) info
PGP/GPG: 0x6EF45358; fingerprint:
E067 918B B660 DBD1 105C 966C 33F5 F005 6EF4 5358
5. Swa he géanhwearf tó timbran, and hwonne he cóm, lá! Unix cwæð "Hello,
World". Ǽfre ǽghwilc wæs glæd and seo woruld wæs fréo.
[Attachment #5 (application/pgp-signature)]
>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic