Red Hat's Michael Tiemann On gcc, ReiserFS & More
Mayank points to this
interview at FreeOS.com with Red Hat CTO Michael Tiemann, in which Tiemann discusses why the Hat shipped a development kernel with their 7.0 distribution, journaling filesystems, the openness of ecos, and the competition (no, not that competition). It's a good read, though it would be cool to see the same questions addressed at even greater length. Guess everyone has a time limit, though;) [Updated by timothy:] I flubbed, that should read "development snapshot of gcc," of course, not "development kernel." Stop hitting me.
We shipped pgcc only for one release and we didn't do the same errors again since then ...
I tried the Mandrake distribution once, when it's main selling point was the Pentium optimised compiler, but reverted back to RedHat when I changed jobs. If Mandrake are considering a regularily updated SPARC distribution as well as their Intel one then I'd be keen to try it again.
Chris
Maybe RH needs people who can read a spec?
--jdp Maintainer of VisEmacs
Have you ever tried to install a commercial application on a non-redhat box? It's not pretty.
.... what else? At some point, for an OS to become mainstream, it needs to provide a stable base for developers without having to build/maintain/support 10 variants.
I downloaded the iPlanet Messaging Server just to test it. I tried to put it on a Mandrake 7.0 distribution.
It didn't work. Unknown library references, and etc.
When I installed in on a RH6.2 system, it worked.
So if RedHat ain't it, what does the world do? Is there NO room for commerical linux apps? If so, do they have to develope against RH, Debian, Slackware, Mandrake, Turbolinux,
How does LINUX do that?
-- You can't idiot-proof anything, because they're always coming out with better idiots.
Anyway, since many RH 7 binaries won't work properly on a 6.2 system, it's probably a good thing that it's a bit of work to get them to install.
Red Hat makes the extremely reasonable choice of not sticking to cruft. This is why this is a 7.0 release, not 6.something. Expect similar things to happen with RH 8. There is utterly nothing wrong with this. Other distributions will come across the same problems as they move to the newer C++ (either the same v2.96 snapshot or v3) and newer glibc. It'll all be in sync again eventually.
And, it should be noted that the *source* RPMs are still completely compatible.
I don't understand what you mean by "All possibilities of 'choice' within Linux being wiped out by them". There's a lot of choice.
--
I'm pretty sure that if you don't trust for-profit companies you are by DEFINITION communist. Not that there is anything wrong with that. Communism, just like capitalism is totally innocent in its motives. Both systems have the ultimate goal of making the world a good place to live. They just go about it in different ways. The fact that capitalism happens to work well in practice, while communism doesn't, is just the small issue of human nature. To make an analogy, OpenGL is a great standard, its only when a 2bit company like ATI tries to implement it that it seems flakey. (To be fair, the Radeon has decent GL drivers, much better than the POS Rage PRO)
A deep unwavering belief is a sure sign you're missing something...
Umm, C++ shared libraries break too. That's one reason BeOS is still using egcs, because the system is implemented as a bunch of shared libraries exporting C++ classes. (I'm pretty sure that C shared libs are still compatible though)
A deep unwavering belief is a sure sign you're missing something...
Actually, Dell ships RedHat 7.0 for all machines. I haven't heard any complaints about it, though I think a lot of Dell's customers also think a 1.5GHz P4 is 50% faster than a 1GHz PIII.
A deep unwavering belief is a sure sign you're missing something...
What do you mean? www.warez.com is just a click away! Or do you actually BUY Windows?
.... damn ...
I do not advocate the use of pirated software.
I do not condone its use.
Any information you may have gotten from this post cannot be used against me.
HELP! MS has sent its elite product-control unit after me. They're trying to raid my house. Oh my god, they have light artillery
A deep unwavering belief is a sure sign you're missing something...
the elephant won't fall anytime soon...
:)
yeah, I know what the original question was. I was going against RH's assertion that MS was a competitor (whether or not it is a distribution is irrelevant).
MS is NOT a competitor to RH. Nor vise versa.
This is my opinion of course. If you don't like it, I don't care
I don't know who started this dumb dev kernel rumor. In 7 it's a "preview/beta" thing you can optionally install manually if you want to do some testing or get an idea what 2.4 will be like. The installer won't ever install it. It's just an RPM sitting on the CD for people that know about it and know what they're getting into.
The past weekend was a nightmare for me. The root filesystem of my mailserver got severely corrupted and I had to do a complete reinstall. I had been running ReiserFS on that partition and this is how it got corrupted.
/etc/hosts!). I suspect ReiserFS did a bad journal replay which caused this. One reboot later the whole system wouldn't boot stopping at the boot loader. This all happened when using Mandrake 7.1 with ReiserFS 3.5.19.
When I tried to install a 3Com 509 card it froze the system when I ifconfig'ed it and I had to reboot. Then ReiserFS did it's journal replay and when the system was up again it turned out that some files had their contents scrambled (/etc/conf.modules contained some lines from
I wonder if people have experience with ext3. I've heard it also does data journalling whereas ReiserFS only does meta-data journalling. Data journalling may cause a performance hit but I'm willing to take that for reliability.
Also, I wonder if anyone knows if versioning (used in databases like InterBase) has been used in filesystems yet. Versioning seems ideal to me for filesystems as it provides low overhead and atomicity. But maybe I'm completely in the dark here, anybody care to comment?
Completely failed to even admit that other linux distributions exist.
I like Redhat, I want them to do well but I don't think this bodes well for them.
This is my signature. There are many signatures like it but this one is mine..
I think we all need to stop to remember why we love GNU/Linux/*BSD/GPL/OSS in the first place.
So what if the compliler produces incompatible binaries? They made a tradeoff for other benefits, and because the kernel and apps we all use almost exclusively have available source code we can just recompile, right?
Got a Debian machine and need to use that prog you built on RH7? *RECOMPILE IT*
M
The embedded marketplace is very different from your typical computer/os/software/hardware market. In the embedded market, the developer typically ends up hard-linking his application into the OS, since both pieces are going to be jammed into the same EPROM (or Flash if you've got the budget). To save space, often the developer will decide which OS services he needs, and discard the rest (ie: if you're not building a network appliance, why load the ethernet drivers?) An embedded OS is really more like a development framework -- it gives your application the tools it needs to function without the programmer having to implement those tools from scratch.
If you attempt to GPL the kernel to an embedded OS, then you're going to force developers to release all of their source code, simply because they linked their code with the OS. If you put this restriction on an embedded OS, then no embedded developers will buy your OS, no matter how good it is. On the other hand, either LGPL or MPL can be commercially viable, while still encouraging developers to contribute.
Are you moderating this down because you disagree with it,
We call it art because we have names for the things we understand.
I'm not sure exactly what you mean about the kernel files being messed up; care to explain further?
And, I think the article linked to above explains the compiler issue well pretty well.
What were the other issues?
--
Under ext2, each file is limited to a size of 2 gig. This limit is awkward for database files, http log files, and many other things.
Most other UNIXen had the same problem at some time or another. Sun solved it by patching UFS. HP solved it by integrating Veritas into HP-UX.
why doesn't let redhat the user choose. with suse i can choose wich version of gcc (they ship multiple versions), kde, X11, etc. i wanna use. sometimes you can choose both at the same time.
... ??!!!!
a totally hacked default setup is NOT a good idea!
they did ship 2.95.2 to compile the kernel, why wasn't this the default? WHY a hacked version?
if i wanna hack, i install it myself
You have got to be kidding me. You are taking issue with what features they choose to include and exclude? That is the WHOLE POINT of distributions! They have features. They differ in what they offer. The distributions have been that way for 3 years now. What, can't a company decide what features their OWN product has to offer? Remember, those RPMs don't compile themselves.
What the heck are you talking about? Have you even used RedHat 7.0? 7.0 has USB support. Who else has USB support? RH7 has X4. Who else (before 7) has X4? It has improved security packages and more manageable setups for servers and workstations--things users have been demanding. So how exactly are they ignoring customers?
As for the other things they should have included: they HAVE 2.4 kernel RPMS. I ask again, have you even looked at RH7? I installed the RPMS and gave them a whirl. So what distrib are you using? ReiserFS is not in the distrib, but can easily be added to RedHat.
I'd like to give you the benefit of the doubt, but you appear to have no idea what you are talking about. Have you even used the distribution? If not, why do you feel the need to make a whole lot of noise when you don't have your facts straight?
I am soooo sick and tired of all the baseless Red Hat bashing that takes place on Slashdot. It is not Slashdot (the website) itself, but the hoards of people who want their 15 seconds of fame for having "gave it to the man" in a post. Slashdot is supposed to be a place where we discuss things and offer something of value. Just spouting stuff at random does no one any good.
Plus you end up looking silly.
"Doubt your doubts and believe your beliefs." -- Switchfoot, Ode to Chin
Yea, unless you use C++.
A deep unwavering belief is a sure sign you're missing something...
I'm pretty sure that Suse 6.4 was the first one to have most of those features.
A deep unwavering belief is a sure sign you're missing something...
I hate to say this... but try BeOS. Nice fast 64bit FS, and depending on your needs, it might suit you ;)
A deep unwavering belief is a sure sign you're missing something...
That's why they bundle egcs.
A deep unwavering belief is a sure sign you're missing something...
Red Hat did not ship a development kernel, they shipped a gcc development snapshot.
--
bgphints - internet routing news, hints and ti
Doing to Linux what MS did to QDOS.
Not all of which is bad, far from it.
I have an Alpha, I run Redhat 6.0 on it. It's shit. They know that. They've told me to upgrade.
(Which is precisely the attitude which people criticise MS for "just apply service pathc 79...".) 7.0 is already announced for Alpha. I don't know if I can trust them. They've sold me poop before...
Lesson - Avoid N.0 like the plague?
FP.
Also FatPhil on SoylentNews, id 863
MS is a major competitor to Red Hat in the server market, which I'd guess is where RH get most of their income anyway. The fact that MS have 95% of the desktop market, and that they have 100 times the market capitalisation doesn't matter. Linux and Windows have approximately equal sized shares of the server market, and RH wants to increase the size of their share. Of course MS is a competitor.
"The invisible and the non-existent look very much alike." -- Delos B. McKown
No, that was not the conclusion - there wasn't any (besides, Tiemann is CTO (and from the former Cygnus, the main force behind gcc) and not CEO)
It was the right decision - it fixes bugs, gives better C++ compatibility and actually works on some platforms. "C++ binary compatibility" is FTTB an oxymoron, no loss. We should have handled the political side better, but the technical reasons (which are by far the most important ones) are valid.
Boo hoo. So the C++ ABI has changed from one version of gcc to another - so what? It wasn't a fixed standard in the first place. If you are relying on implementation-defined details like this you will surely get bitten sooner or later.
Just get RPM 3.0.5 which is forwards-compatible with 4.0.
Red Hat have upgraded the C library in the past, what's so wrong with doing it this time? Surely you don't advocate that we should all still be on libc4 in order to keep binary compatibility?
-- Ed Avis ed@membled.com
You know, it's almost like Red Hat was trying to create an integrated product that met its (paying) clients' needs...
It's 10 PM. Do you know if you're un-American?
Do me a small favor. Look at the list of RPMS in 7.0. Do you see a 2.4 kernel? Neither do I. Obviously, what is not included in the distribution is not integrated into the installer.
The decision to support USB and X4, and not ReiserFS, was arbitrary. Red Hat did this before with KDE, but at that time they had good reason. This time they do not.
I have done more to advocate Red Hat than you could probably comprehend. Pardon me if I take your vitriol with a grain of salt.
How can it be unreasonable for customers to say what features they do and don't want in a product?
Red Hat has to make feature decisions, like any company, that some customers don't like - however, it is entirely reasonable for customers to comment on what they want (ideally before the product is finalised!)
As for special things like USB support - Mandrake 7.1 (I think) and definitely 7.2 includes USB backported from 2.4 work.
I agree that Red Hat bashing for the sake of it is pointless, but feature/stability discussions are definitely worthwhile.
Personally I am still usnig RH 6.2. I have the gnome helix updates. I have upgrade to rpm 3.0.5 and then to rpm 4.0 (as they suggest) I did have to rebuild the rpm database though that took a little time. I am also found kde 2.0 binaries for my system as well. So I get to run kde or gnome (I use gnome).
Wasn't this article out a month ago or was it just one like it? This sure has gotton them lots of attention though. Hmm maybe that is what they were after.
If you don't like what Redhat did get Mandrake. Mandrake always seems to take the latest version of Redhat and ad the updates and fixes to it anyway.
QYB
I don't want a lot, I just want it all!
Flame away, I have a hose!
Only 'flamers' flame!
No I am not just blowing smoke. Being a big multimedia application our application is quite huge and touches many areas. We have many kernal calls, X calls, asm, c, C++, and a number of different configurations to attempt to get the best performace on a machine. using 2.2.x we have to patch the kernel, but first we have to patch it or something (I didn't look into this aspect). The compiler was compleatly unable to compile the code. There were X files that were missing and or not what they should have been. It was just one thing after another that wouldn't work. We came to the conclution that it wasn't worth the time nor effort to get it to work on redhat 7.0. We will attempt again at 7.1, but who knows.
Do you changes clothes while making the "chee-chee-cha-cha-choh" transformation sound?
The fact that capitalism happens to work well in practice, while communism doesn't, is just the small issue of human nature
Not true. Socialists like to claim the problem is human immorality, but the real problem is in information theory. A race of angels could not get socialism to work, because the necessary information on where resources should be allocated is not generated by any known form of non-free-market economic system.
Now, if you have perfect information available, things change. Not only is socialism workable, it is far more efficient than the expensive feedback mechanism of the free market. Furthermore, with perfect information, you can bypass the "human nature" deficiencies by creating personal-incentive programs within the otherwise socialist system. Asimov described just such a situation in his short story "The Evitable Conflict", the last story in "I, Robot".
But we don't have perfect information. Nobody's even come up with an accounting mechanism for a socialist economy that produces enough information to make central planning as productive as a highly regulated mixed economy, much less a true free market. (And forget non-centralized socialism; the information deficit is enven worse.)
In short, in theory as well as practice, socialism doesn't work. The best that can be said for socialism is that most socialists have their heart in the right place.
There's no "we" in team, only "me"
No, I don't use the 2.4.x kernels and didn't use anything experimental except for ReiserFS. It's a small server so the world won't end when it crashes.
The reason I tried ReiserFS was that it provided (much) higher performance than ext2 and the server (was) a slow machine. I thought it would be stable since both Mandrake and Suse push it as being a production quality fs, my mistake.
The question about being in the dark related to a versioning fs, not the use of ReiserFS.
Question: if nobody ever uses experimental stuff (even on a server), how are we going to evolve?
They no longer care about compatibility with other Linux distributions (LSB? Whats that?):
- Use a development snapshot of gcc, so that C++ programs compiled on RH7 only work on RH7.
- Again change their RPM binary format (for the utterly stupid reason that it now supports bzip2 compression), so RH7 RPMs only work on RH7.
- Use a glibc2.2 development snapshot, so that again, their RPMs only work on RH7.
All possibilities of 'choice' within Linux being wiped out by them I now nearly agree with the 'RedHat sucks' motto. *sigh*I couldn't say that MS is a competitor anyway... RH is tiny in comparisson to MS. Linux is gaining ground on Windows, but at least in the next several years will it even be close to being in competition w/MS.
.02
Just my worthless
You're obviously clueless, but I'll bite. After all I am on my lunchbreak ...
Compare this with Windows, which has test periods of a year or more for new Windows releases.
Would you really trust your company to a distro that ships a broken compiler?
Read bugtraq, and learn just how stable and secure those tested versions of Windows are. Not very. As for a `broken' compiler, try Visual C++ 5.0 which was notoriously broken. RedHat's GCC snapshot was only `broken' in the respect that it was binary incompatble with preceding versions and the upcoming version 3.0. They had very good reasons to ship a snapshot, not the least of which was the fact that it produced better object code than 2.95.2. The alternative was to stick with egcs-1.1.2, which is getting exceptionally long in the tooth. If you really want to criticise a Linux distributor for shipping dodgy compilers, then turn your attention to Mandrake. They shipped the Pentium optimised `pgcc', which is known to produce incorrect assembler output.
> > [Why the broken compiler?]
This doesn't make an eachway-incompatible compiler a good idea. What it does say, however, (his words not mine) is that
(a) the current compiler is a POS
(b) we're using an incompatible, and immediately obsolete compiler.
Doesn't really encourage you to use Linux, rather than say, Windows, *bsd or Solaris, does it - the current compiler sucks
It wont encourage you unless you know how poor Microsoft or Sun's compilers are. As for BSD you clearly are clueless, as they use aging versions of gcc. Microsoft have yet to produce an ANSI C compliant compiler, let alone an ANSI C++ compliant one. As for Sun's compiler suite, they no longer ship it by default with Solaris, and many of the companies I have worked for use gcc instead out of preference. In other words, they have a Sunpro licence, but don't bother installing it.
These patches are indicative of the unstable state of Linux development ... (see Mandrake for a desktop product, not that it's a patch on Windows or Mac)
Let's see - my desktop machine has not crashed once since I installed RedHat 6.2 on it four months ago. It has all the tools that my colleague's Windows PC has, and more (ever tried grep'ing or find'ing on a PC?). In the same time the programmer to my immediate left has reinstalled Windows twice, and the Mac programmer is lucky if he get four hours of uptime.
As for your inference that Windows software is easier to use, try Visual C++ some time. Their is no source control as standard, and the API's are dreadful (dodgy socket libraries for example).
Chris
I have been developing an application these past 6 months under redhat 6.2 and looked forward to 7.0.
Unfortunettly becuase of the way that everything is cvs quality / hacked / part this part that we have concluded that there is really no was for us to use redhat 7.0. From the kernal files being messed up, X3 and 4 kludged together, and a compiler that never would have seen a real box if it wasn't for redhat we have been virtually unable to get any sort of a build made. This does not mention the other issues we encountered.
Even though companies all "standerdize" on redhat I can say that we now don't.
Do you changes clothes while making the "chee-chee-cha-cha-choh" transformation sound?
Huh ? The critical mass of 'eCos' vs 'BSD's ?
He's talking about the embedded market, where eCos has a much more significant role than you realise. BSD based code does make an impact in this area, (for example, OpenBSD's Theo de Raadt has been contracted to port code to such systems), but eCos is designed specifically for the embedded market.
Chris
See subject. The language standard and the application binary interface are two entirely different things. The first is indeed standardized, and RH/Cygnus conform. Unless I'm drastically mistaken, the latter is not covered in ANSI C++.
It wont encourage you unless you know how poor Microsoft or Sun's compilers are.
/root]# uname -a
/root]# gcc --version
...
... you can always install CVS separately of course ... but then, why not install CVS under Windows?
I've had nothing but success with the Visual C++ 6.0 under Windows. The only compiler that came close to beating it for code speed for graphics apps was Watcom, in the old days.
As for BSD you clearly are clueless, as they use aging versions of gcc.
[root@brick
OpenBSD brick 2.8 GENERIC#3 i386
[root@brick
2.95.3
That doesn't seem very aging to me
As for your inference that Windows software is easier to use, try Visual C++ some time. Their is no source control as standard, and the API's are dreadful (dodgy socket libraries for example).
There is source control as standard with gcc then? Neat, I've never seen it
Where this stuff falls over is documentation for the newbie. If you face off linuxdoc.org vs the MSDN (which is literally gigabytes of copious documentation), I wonder which one would win.
Let's see - my desktop machine has not crashed once since I installed RedHat 6.2 on it four months ago
My RH6.2 install still consistently segfaults if I run 'gtop'. And when I switched to the excellent Debian, it look me literally a week of hard hacking to get XFree4 and 3D acceleration working. Doesn't really take that long under Win2k now, does it?
I'm now trying to use my Debian setup as my primary desktop, but there's a lot of stuff I sorely miss from Windows 2000 (the speed, the consistent interface, not needing to hack up WINE for games). Still, it's leaps and bounds ahead of what it was last year, so I'm pretty pleased with being able to use a *nix desktop again.
[root@brick /root]# uname -a /root]# gcc --version
OpenBSD brick 2.8 GENERIC#3 i386
[root@brick
2.95.3
That doesn't seem very aging to me ...
Last time I used OpenBSD it was gcc 2.7.2.3. Ditto for NetBSD. I know why OpenBSD's developers would pick an older compiler over the latest release, it's more tried and tested. What I was trying to point out to the original poster was the inconsistencies in his arguments.
My RH6.2 install still consistently segfaults if I run 'gtop'
No, you mean gtop - a poorly written program - segfaults. This is like saying that Windows crashed when in fact it was notepad.
As for Windows 2000 running faster than Linux - there must be something seriously wrong with your configuration of Linux. I was recently surprised to find out how appreciably slower Windows was on an identical box to mine. Opening and closing applications, saving and loading files all seem frustratingly slow on the Windows box.
Chris
While it was nice that Michael mentioned that there would be future development for the desktop/workstation, he failed to mention any specifics. Just what will Redhat 7.1 and up hold for the average desktop user? Will it be simply drivers for hardware or some real significant improvements...? As a faithful Redhat user, it makes me wonder.
(this article is also making me think that maybe i should change my fake email addy listed above, as well as my quote below...)
------
Random, useless fact: I type in startx entirely with my left hand.
No, you mean gtop - a poorly written program - segfaults. This is like saying that Windows crashed when in fact it was notepad.
Indeed, but I expect decent quality control from a distribution to avoid programs crashing out of the box. Win2k is very stable for me; it's crashed _once_, when I experimented with leaked NVidia drivers.
As for Windows 2000 running faster than Linux - there must be something seriously wrong with your configuration of Linux.
Fundamentally, the X-layer, with its protocol in between, makes the Linux desktop slower that the highly integrated Win32 system (which also has the benefit of primary testing from driver developers). And I'm sure I could tweak Linux to run ludicrously fast, but I don't really have time to do this...
And in terms of usability, don't even ask how hard it's been to find a decent web browser under Linux (and then, get the fonts rendering decently)...
Don't get me wrong; I make (and enjoy) my share of contributions to OSS, but I also don't have any illusions about how well something like Linux competes in the desktop market.
HOWEVER, perhaps you are looking in the wrong place.
Disc 2:/preview/RPMS/kernel-2.4.0.*
It is all right there. I found it by reading the README :-)
Now perhaps it wasn't in the installer. But then Red Hat makes a commercial distribution, and they have all sorts of users installing Red Hat. Perhaps they were afraid of people installing a kernel that doesn't support everything. I tried it on mine, and the snapshot (pre1, I think) doesn't do Symbios based SCSI cards (my Fireport 40 didn't work).
With GnoRPM, you have an easy way to install it. Granted, installing kernels isn't for the faint of heart, but then neither is 2.4-pre!
Pardon my first post if it was a bit negative, but as you can see, the kernel is right there, right on the CD. And it is documented in the README and features list. That's how I found it. Reading your post about a lack of 2.4 along with all the other Red Hat bashing in this article seemed to indicate that you were just bashing with no knowledge. Maybe you just were misinformed.
Perhaps you don't read READMEs :-)
"Doubt your doubts and believe your beliefs." -- Switchfoot, Ode to Chin
It ships with 2.2.16. If you want to run anything else you have to patch the Makefile. RH has instructions in their 7.0 gotcha page.
The simple truth is that interstellar distances will not fit into the human imagination
- Douglas Adams
Well, information theory is all nice and good, but I have a problem with any theory that applies scientific principles to social problems. You simply cannot apply rigid rules to human society. While socity is most likely quite logical in organization, it is orders of magnitude more complex than any known scientific problem, and a more humanistic approach is necessary to understand it best. Thus says one side. There is of course, the other side to that debate, but given that I don't agree with it, I don't care to mention it. Perfect information is surely a solution to the problem socialism faces, but perfectly behaved humans works too. The underlying problem is not a lack of information, but deficits in human character. Given perfect people, allocation issues would work themselves out nicely. Also, I am more partial to the perfect-people arguement, as this seems (to me at least) to be a more realistic, and more basic solution to the problem.
A deep unwavering belief is a sure sign you're missing something...