--===============1505663438== Content-Type: multipart/signed; boundary="nextPart5017592.atVQISW1Hf"; protocol="application/pgp-signature"; micalg=pgp-sha1 Content-Transfer-Encoding: 7bit --nextPart5017592.atVQISW1Hf Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline 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 =3D completely different ABI, and the Autopackage guys don't want= =20 to support it. Note that KDE 3 officially supports it, but we plan to=20 move it to "it would be nice if it worked" for KDE4. g++ 2.96 =3D not official g++ release, not compatible to anything g++ 3.0 =3D different ABI, no longer supported. Compatible with 3.1. g++ 3.2 =3D -fabi-version=3D1. Compatible with g++ 3.3 g++ 3.4 =3D -fabi-version=3D2. Compatible with g++ 4.0 If you have a g++ 3.4 or 4.0, you can just use the -fabi-version=3D switch= =20 to tell it to generate an older ABI. So there's no need to have two=20 compilers installed in order to link. However, you need two sets of libraries, one for each ABI. KDE does not=20 make that distinction in library sonames nor library paths, so you need=20 two completely different KDE prefixes (like /opt/kde3-abi1=20 and /opt/kde3-abi2). The datafiles can be shared, but not any of the=20 binaries.=20 Also consider that KDE uses the "kdeinit" technology, which means it=20 preloads some of the libraries. This, in special, means you CANNOT mix=20 environments. You cannot run a kdeinit-based application with one ABI if=20 your kdeinit was installed with another ABI. Doing so will cause crashes,=20 sooner or later. The end result is that every C++ application must be compiled twice ---=20 one for each ABI, for each and every Autopackage package. In other words,=20 if you want to make KDE autopackages, you must use g++ 3.4 (because 4.0.0=20 miscompiles KDE). Is that a good solution? =2D-=20 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=C3=A9anhwearf t=C3=B3 timbran, and hwonne he c=C3=B3m, l=C3=A1!= Unix cw=C3=A6=C3=B0 "Hello,=20 World". =C7=BCfre =C7=BDghwilc w=C3=A6s gl=C3=A6d and seo woruld w=C3=A6s f= r=C3=A9o. --nextPart5017592.atVQISW1Hf Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQBCm6DFM/XwBW70U1gRAhKtAKCda+l2F2MALmchnvs7wU3r7389CgCgpvw4 Bp1CAb6xVFp4emg9fEFXo1s= =xcIB -----END PGP SIGNATURE----- --nextPart5017592.atVQISW1Hf-- --===============1505663438== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline >> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe << --===============1505663438==--