Mandrake Linux 9.0 Beta 1
leviramsey writes "MandrakeSoft has released the first beta of the next version of its distribution. It features XFree86 4.2, KDE 3.0, GNOME 2.0, and is compiled with gcc-3.1, which (alas) makes it incompatible with a fair amount of commercial software."
If you are interested, please see Open Soars Mandrake Linux 9.0 Beta 1 Product Page.
Yep, I have compiled Java with 3.1 (using the 2.95 comipiled one first of course.)
m sc ratch.txt
You will need a patch to compile Java too, read here for directions:
http://hints.linuxfromscratch.org/hints/javafro
Also, you CAN get flash to work, there's a post in gentoo's message boards on how to do this:
http://forums.gentoo.org/viewtopic.php?t=4753
Hope this helps.
Slashdot is like Playboy: I read it for the articles
To the article poster and to all who can't distinguish, here is a rule that you should learn:
Proprietary Software != Commercial Software
It's proprietary software (regardless of being commercial or not -- realplayer is proprietary but free of charge) that will not work. This is due to the usual bad support that proprietary software vendors inflict upon the consumers.
With Free Software (regardless of being commercial or not -- Mandrake cd's can be bought), you can recompile (if someone's not done that for you already) in order to have it work on this new environment, regardless of the wish for profit of the vendor. If you don't have the expertise, you can ask someone else to do it for you (either gratis or for some amount of money).
So remember kids:
There is Proprietary Software which is not commercial
There is Free Software that is commercial
Proprietary has nothing to do with Commercial
* Java support is broken. Reason: The currently available Java is not compiled with GCC 3.1 and therefore does not work with our packages.
What is so imperative about going to gcc 3.1 that you have to break java?
Not to harp too much, but I've got a shiny new Gentoo system compiled from scratch with GCC 3.1
1) GCC 3.1 makes bigger code
2) GCC 3.1 makes faster code (most of the times)
3) GCC 3.1 actually tries to conform to a standard other than "just GCC"
4) Binary compatability is ONLY broken for C++ (maybe some other languages, but definitely not C)
5) Java (Sun's JDK) works if you compile it from scratch.
6) Plugins with Mozilla is a bit tricky.
7) In order to maintain Red Hat compatability they HAVE to use GCC 3.1
8) The GCC team will shortly break binary compatability yet again (by renaming the GCC 3.1 branch to GCC 3.2).
9) My is fine. Maybe not stable, but much nicer for a desktop.
10) Once more people jump on the GCC 3-series bandwagon again (They jumped off when Red Hat did the gcc 2.96 doodoo) GCC will have a nice, stable ABI that won't be broken anytime soon.
Damn. Harped too much... oh well...
Mandrake 9.0 will be shipped with gcc 3.2..
We are currently using gcc 3.1.1 branch + backport from 3.2 branch and we will switch to gcc 3.2 as soon as it is released (either this week or next week)..
The C++ ABI keeps changing because they are fixing bugs in the current compiler and C++ Standard Library.
You can look up the reasons for the compiler-side ABI changes here
The GNU implementation of the Standard C++ Library has been woefully uncompliant until work was begun on the 3.x version of the library (which was first included in the 3.X versions of the compiler and RedHat's 2.96 version of the compiler).
So, the real reason why they keep breaking binary compatibility (and it's usually only C++ compatibility) is that they are NOT lazy, but working VERY HARD to create a standards-compliant compiler and library.
I'm a leaf on the wind. Watch how I soar.
Currently I have about half the stuff on my system compiled with gcc 3.1 and have not had a problem.
The submitter doesn't have a very good grasp of the issues. The compatibility issue is that gcc 3.1 uses a different ABI to older gcc versions. That is, C++ functions need to have their names "mangled" to handle C++ features such as function overloading, namespaces, and templates; and the name mangling scheme changes from compiler to compiler (largely because they're still trying to get it right) This means that C++ programs compiled with older compilers will not be able to link against C++ libraries (such as libstdc++) compiled with gcc 3.1. In practice, this is not a problem-- most commerical applications don't dynamically link against any C++ libraries except libstdc++, and Linux distributions typically ship multiple libstdc++ versions. The libstdc++ that ships with gcc 3.1 has the soname (the name that the runtime linker cares about) "libstdc++.so.4" by default, so it will not collide with older versions of the same library (which are named differently)