Linked by Thom Holwerda on Sun 12th Aug 2007 15:52 UTC, submitted by zaboing
Thread beginning with comment 263012
To view parent comment, click here.
To read all comments associated with this story, please click here.
To view parent comment, click here.
To read all comments associated with this story, please click here.
The problem with the C++ Linux ABI (which is really the GNU C++ ABI) is that it changes frequently.
I am no developer, but I do run gentoo, and I know when the c++ abi changes due to a gcc upgrade (I have to rebuild everying linking against libstdc++), and if I remember correctly, there hasn't been an abi breakage since the upgrade from gcc-3.3 to 3.4, and 3.4 was shipped in April of 2004. So, comparitively with the previous abi history of gcc (about 1 break per year), things have stablized considerably in C++ abi land with gcc 3.4+.
RE[3]: what situation?
by binarycrusader on Mon 13th Aug 2007 19:16
in reply to "RE[2]: what situation?"
"The problem with the C++ Linux ABI (which is really the GNU C++ ABI) is that it changes frequently.
I am no developer, but I do run gentoo, and I know when the c++ abi changes due to a gcc upgrade (I have to rebuild everying linking against libstdc++), and if I remember correctly, there hasn't been an abi breakage since the upgrade from gcc-3.3 to 3.4, and 3.4 was shipped in April of 2004. So, comparitively with the previous abi history of gcc (about 1 break per year), things have stablized considerably in C++ abi land with gcc 3.4+. "
Wrong, the ABI recently chnaged again in 4.1:
http://gcc.gnu.org/gcc-4.1/changes.html
Show me how I can build a binary application that will work on all Linux distributions made since 2005 up to 2007 without issue.
Well apparently every proprietary software developer using Qt on linux has figured it out. As someone else already pointed out, there hasn't been a breakage for a long time (~2004), so just building it normally should accomplish what you want.
RE[3]: what situation?
by binarycrusader on Mon 13th Aug 2007 19:15
in reply to "RE[2]: what situation?"
"Show me how I can build a binary application that will work on all Linux distributions made since 2005 up to 2007 without issue.
Well apparently every proprietary software developer using Qt on linux has figured it out. As someone else already pointed out, there hasn't been a breakage for a long time (~2004), so just building it normally should accomplish what you want. "
Wrong again.
See the recent GCC 4.1 release:
http://gcc.gnu.org/gcc-4.1/changes.html
Also, note that I specifically stated that I wanted to build an application that worked on distributions made since 2005. There have been at least three ABI changes since 2005.







Member since:
2005-07-06
Dude, welcome to 2007. No, scratch that, welcome to 2002. There is no "horrid ABI situation" with C++ on Linux.
Bzzzt. Wrong.
Show me where the C++ ABI standard is for Linux.
Show me where there is a gurantee that it won't change with the next version of libstdc++, or for at least the next few years.
Show me how I can build a binary application that will work on all Linux distributions made since 2005 up to 2007 without issue.
Oh wait, you can't.
That's my point.
The problem with the C++ Linux ABI (which is really the GNU C++ ABI) is that it changes frequently.
This means every year I hear that the "C++ ABI problems are solved!" and every year I encounter problems that were supposedly solved last time.
Edited 2007-08-13 13:07