Forgot your password?
typodupeerror
Mandriva Businesses

Mandrake 8.0 Beta Released 300

Posted by timothy
from the a-man-a-distribution-a-plant-panama dept.
Boiling rumors can now be set aside: Linux-Mandrake's 8.0 beta is ready for grabbing. Before you complain about Version Inflation (Slackware, Red Hat and others should come out with v10 just for fun), read the fine print indicating that by using this beta version, you're surrendering your machine to the winds of time, and French aliens may come kidnap you and your data for sheer sadistic sport. That is, especially if you have a VIA Apollo Pro or KT133 Chipsets and a WD drive greater than 8.4Gb in size. So the real 8.0 isn't ready yet (that will be the time to complain about version inflation proper), but like Red Hat's Fisher, this is a nice way to experience upgrades all around the mulberry bush, including a 2.4 kernel (2.4.2, actually) without building them all yourself.
This discussion has been archived. No new comments can be posted.

Mandrake 8.0 Beta

Comments Filter:
  • by Anonymous Coward
    I installed Cooker (the daily beta) on Friday and run MandrakeUpdate every day to get the latest packages, so I now have KDE 2.1 as well.

    The distro is running nicely except for some crashed of the updater and a missing Flash plugin in Konqueror. The installer is a big improvement over the old one, it's the best one I've seen so far, only problem: Installation on Software RAID seems to be broken.

    My personal highlights in Mandrake8 are

    • kernel-2.4.2
    • kde-*-2.1
    • vim-X11-6.0w
    • glibc-2.2.2
    • reiserfs-3.6.25 (as root fs)
  • by Anonymous Coward
    Linux faces a bleak future. In fact there may be no future at all for Linux because Linux is dying. Things are looking very bad for Linux. As many of us are already aware, Linux continues to lose market share; red ink flows like a river of blood. Slackware Linux is perhaps the most in endangered. Let's look at the numbers.

    MandrakeSoft's CEO Henri Poole states that there are 70000 users of Linux-Mandrake. How many users of Debian GNU/Linux are there? Let's see. The number of Linux-Mandrake versus GNU/Linux posts on Usenet is roughly in ratio of 5 to 1. Therefore there are about 70000/5 = 14000 GNU/Linux users. Slackware posts on Usenet are about half of the volume of GNU/Linux posts. Therefore there are about 7000 users of Slackware. A recent article put RedHat Linux at about 80 percent of the Linux market. Therefore there are (70000+14000+7000)*4 = 364000 RedHat Linux users. This is consistent with the number of RedHat Linux Usenet posts.

    Due to the troubles of Corel, abysmal sales and so on, Corel Linux is going out of business and was nearly taken over by Microsoft who sell another troubled OS. Owing to the GPL, SuSE is laying off almost all of its US staff while VA Linux already has. Major marketing surveys show that Linux has steadily declined in market share. Linux is very sick and its long term survival prospects are very dim. If Linux is to survive at all etc). Linux continue to falter. Nothing short of a miracle could save it at this point in time. For all practical purposes, Linux is dead.
  • Ok, this is a rant and it is a bit personal, but I'm getting sick of all the i586 and i686 packages(especially those) floating around. Now I can forgive Mandrake since that's part of its bag. But why other binary distributions (like mozilla)?

    I own lots of Pentia class machines, but I also have some really cool 486 machines that I'd like to use. Yes, I could get the source and recompile everything, but this is my rant and I'm going to enjoy it for a minute.

    Thank you.
  • So goto Redhat's web site and update the damn kernel and, while you're there - grab all the updatess. It's pretty simple to run:

    rpm -Uvh *

    and thats it! I'm running here Redhat 7 with those updates and it didn't have even a single problem since the update of the GCC
  • by Russ Steffen (263) on Wednesday February 28, 2001 @09:51AM (#394827) Homepage

    Actually, I get 10=9 not 9=10. And, by my quick analysis that is in fact the correct answer. Here's why: when the the constant expression is evaluated by the compiler, it can do a couple of tricks to come up with the "correct" answer of 10 (eq. rounding and infinte precision math (like "bc") come to mind). But the variable expression must be evaluated with floating point math, and that's where your difficulty is. 0.3 and 0.7 cannot be accurately represented in the IEEE floating point format. so the equation actually results in 2.99999999... + 6.999999999.... = 9.99999999... . In order to get an answer of 10, the other platforms you tried either (a) use a non-IEEE-standard floating point format. or (b) rounded instead of truncated when casting to an int (which I believe is nat ANSI standard C compliant behaviour).

  • I mean, this isn't the first time they haven't worked with other hardware or software -- why the hell can't they seem to get things right, every other hard drive company seems to have their shit together. Anyone know what's up with this?

    - A.P.

    --
    * CmdrTaco is an idiot.

  • For every OS I've ever used it on (Solaris, Linux, NT 4.0, Win2k), it's died in new and interesting ways. So when I hear "this kernel breaks the installer" or "this distro breaks the installer" or even "this day of the week breaks the installer" I'm never surprised.

    - A.P.

    --
    * CmdrTaco is an idiot.

  • What drive were you using?

    I've got a WDC WD153BA (15 gig 7200 RPM ATA-100 drive) and now I'm more than a little scared that my HTTP/NFS/NIS/DNS/SMTP server is going to shit the bed without warning. Is there a list of "known bad" models?

    - A.P.

    --
    * CmdrTaco is an idiot.

  • Exactly what stability and security problems does Mandrake have? I installed Mandrake for the first time some week ago, totally wiping my old Red Hat. I've been using Linux since 93, running Slackware, Debian, Stampede, Red Hat and now Mandrake. And I must say that that the most stable distribution I've had is Mandrake till date. (RH & Slackware gave me frequent problems and X crashes and incompatibilities). It's also the one distribution easiest to secure down, at least outwards. So I would say it's not only for the desktop user.
  • I don't think that anyone really enjoyes these rising numbers, but what can we do?

    8.0 is so much different from 7.2, that we really can't call it 7.3 (kernel, glibc, gcc...). It's even worse - LM changes so fast that it may have been more apropriate to go with +1.0 steps all the time. :-(

    So what should we do? Call it LM Q1 2001 or so? LM 2001 + service packs? Complately drop numbers? Would that be more meaningfull? Would that be "better"? I really don't know. :-((
  • by deno (814)
    While IBM != WD, I would not recomend you to go anywhere near your computer before You buy a decent backup device. Have you never seen hardware burned by power spikes, lightening, pooring cola overt it and such? I guess not - good for you.

    Now, linux or no linux go and buy that backup tape, CDburner, or whatever and make a nice backup of your data. All of them. Then sit down and think of a strategy how you will survive a total and unexpected destroying of your data (house on fire scenario), and start making regular incremental backups, and saving backup devices far away from your PC.

    When this is done, come back and enjoy slashdot again. Peace with you.
  • Install LM 8.0 on some old 486 machine, let it start KDE (or gnome, doesn't matter), open star office, maybe netscape too... Then go to cinema and by the time you come back some of the progs may already be ready and waiting for you...

    OK, you could go for some lighter GUI, and avoid real slowware, but the sad fact is: old machines are too slow for modern GUI software. So what's the point on installing the newest disto on it?

    This said, there are some places where such machines would do a perfect job:
    • X-terminal. No need to install general purpose distribution on machine if it is going to be used as X terminal.
    • firewall/rooter: If you have cable or (A)DSL connection at home or in some small office, install a firewall-distribution on it. Mandrake is working on one [mandrakeforum.com], and I'm sure there are other out there too.
    • Smalish server on i486 box would be fine too.
  • by deno (814) on Wednesday February 28, 2001 @09:29AM (#394835) Homepage

    Civileme has been investigating this for quite some time, and he wrote about it on Mandrakeforum. It looks as if WD has severe QA problems, and this time it got a help from chipset and a bug (or at least lack of workaround) in kernel.

    Here are the stories: Civileme even claims that WD drives just fake CRC, but it's difficult to say if there is some truth in this or not. One is sure: these beasts cause a lot of trouble.
  • IBM makes some damn fine drives...
  • blatant plug, since i'm a debian developer:

    have you looked at debian? the last stable release, potato, supports alpha.

    if you want cool new stuff, you could even give the testing distribution, aka "woody" a whirl. and if you want a broken, but bleeding-edge system, go install unstable.

    I did try Debian 2.2 for a while, but when I tried to compile the kernel and it failed, I gave up and switched back to RedHat. I even tried updgrading to woody, with "apt-get dist-upgrade", but it would fail part way through the procedure, leaving me with a non-working system. I know a lot of this is my fault, because I don't know some of the finer points to Debian (e.g., to cure the not-able-to-compile-the-2.2.18-kernel problem, I probably just needed to install a bunch of packages, but when I tell it to install all packages except for the non-US language ones during install, I damn well expect it to have all that I need to compile stuff), but there seems to be a lack of straight forward documentation explaining how to get the stuff installed that you need for developement. The kernel wasn't the only thing that wasn't compiling either. There were a number of things I tried to build and they wouldn't. I've had no trouble building these very same things under RedHat 7.1beta. That said, I would very much like to be running Debian, as I agree with their political position on free (speech) software. Plus, apt-get makes me hard.

  • If you want a truly solid Free Unix for Alpha, I suggest NetBSD. I've been using it there for a couple years after finding that Linux was a bit too rough for my tastes for a production machine. It has been a good couple years for that alpha. :)
  • by slothbait (2922) on Wednesday February 28, 2001 @10:11AM (#394849)
    Having a WD drive bit me pretty bad about a year ago. A week or so after a kernel recompile, I wound up with filesystem corruption, even though I was running a stable kernel. I take my computer very seriously, and though I was able to recover my important data, losing the filesystem hurt *bad*.

    My faith in Linux took a big hit after that. The only explanations for that error were 1) hardware failure (seemed unlikely) or 2) serious kernel bug. I contemplated migrating to FreeBSD, but was informed that much of the IDE code between Linux and BSD is shared, so any fundamental bug would probably follow me to the new platform. So, I just rebuilt my system and carried on.

    A few months later I was reading Kernel Traffic, and someone posted a filesystem corruption problem with the exact same symptoms, using the exact same WD hard drive. One of the hackers identified the source of the problem -- it was Western Digital.

    Some models of WD drives are advertised as "UDMA compatible". That is, you can enable UDMA and they will run. However, WD is sidestepping the fact that the drives are *not* UDMA "compliant". Apparently a part of the UDMA spec is the transmission of periodic CRC checks to detect and correct errors. Some WD drives will operate in this mode, but blow off the CRC checks. This is suicidal. If the drive is used in UDMA mode (which it claims compatibility with) you *will* get data corruption...it's just a matter of when and how bad.

    Thinking back before the failure, sure enough, I had enabled UDMA in the kernel, looking for a speedup from my UDMA "compatible" drive. WD had mislead me in the features of that drive, and it resulted in data loss. I view this as highly irresponsible on their part, and I will certainly not buy from them again.

    --Lenny
  • Very funny! I switched from AmigaOS to Debian, and now use FreeBSD for my LAN servers and test machines (I'm building a "jail" host server even as we speak).

    Good ol' Bob seems to have nailed this one on the head! :)

  • by Doug Merritt (3550) <doug@nOSPam.remarque.org> on Wednesday February 28, 2001 @08:50AM (#394853) Homepage Journal
    Since the ftp site is slashdotted, here's the fine print in question:

    Applicability: Linux-Mandrake 8.0 BETA 1 WARNING This BETA has the potential to mis- recognize the drive geometry on systems with VIAApollo Pro or KT133 Chipsets and WD drives greaterthan 8.4Gb in size. This leads to massive andunrecoverable data corruption. Do NOT install or attempt to test with these systems. It relates to recently discovered kernel bug which may be fixed in kernel 2.4.2. We expect to have the fix in place for BETA 2 (Traktopel). Thank you for your patience.

  • by Genom (3868)
    Well...I'd say it's just a case of users having an overwhelming sense of pride in their distribution =)

    I admit, I'm a debian convert (used Redhat for 3 years, then tried debian once - can't ever go back) but I try to be an understanding one - No distribution is "right" for everyone...debian just happenes to be "right" for me (and for quite a few other, more opinionated folks as well, it seems ;P )

    I'm also not a descendant of an amiga user (never owned one - never owned anything made by commodore, although I'm in the process of acquiring an old c64 to play with).

    Don't make general statements like that - it just makes us all look bad.

    Other than that, nice troll =)

  • Try not to view this from an ANSI-C-bigot point of view, but from a poor-guy-trying-to-learn-C or poor-guy-assigned-to-port-stuff-to-linux view. There's plenty of bad code out there, and you know it :)

    This has nothing to do with ANSI C. This is how floating point numbers work. It depends on the FPU (i.e. the *hardware*) you are running on. Floating point numbers are not exact and you must never assume that 10.0 == 10.0 no matter what language you are using. For some simple cases it just may happen to work, but in general this assumption is a grave programming error.
    ___

  • by johnnyb (4816) <jonathan@bartlettpublishing.com> on Wednesday February 28, 2001 @11:17AM (#394859) Homepage
    Minimum system requirements for Mozilla are a Pentium 233, so making 386 would be pointless because its a totally unsupported architecture. You might as well optimize for people who actually _can_ use your product.
  • by KlomDark (6370) on Wednesday February 28, 2001 @02:08PM (#394861) Homepage Journal
    I saw the 8.0 Beta out of the corner of a blurred eye and coulda sworn I saw "B 0 B", instead of "8.0 Beta"
  • It's related to how the x86 FPU works and how GCC uses it. You'd get the same answer on any x86 operating system using GCC, including FreeBSD and Windows 2000.
  • I've been toying with the idea of installing a Linux Distro. I have about 20Gb of unused drive sitting here.

    But it's my bread-and-butter drive: my whole business life is on it.

    I have an Asus K7V, and a big IBM drive. Apparently in that combo, Linux will eat my files. If that carried over to the Windows partitions, I'd be toast...

    Think I'll keep away from Linux for a while longer. I can't afford data loss like that.

    --
  • I do. But the downtime in terms of restoring partitions, reinstalling Windows2k and reinstalling applications, plus patches and tweaks and shit... gahd.



    --
  • Typo! Is an A7V.



    --
  • For the record, I get the same bug with the Cygwin-experimental version of GCC 2.95.2-6


    ObJectBridge [sourceforge.net] (GPL'd Java ODMG) needs volunteers.
  • blatant plug, since i'm a debian developer:

    have you looked at debian [debian.org]? the last stable release [debian.org], potato, supports alpha.

    if you want cool new stuff, you could even give the testing [debian.org] distribution, aka "woody" a whirl. and if you want a broken, but bleeding-edge system, go install unstable.
    --
  • So you're using RedHat 4.2, 5.2, or 6.2 then? Those are the supported versions that use a "standard" compiler.

    -
  • by Syberghost (10557) <syberghost@NospAM.syberghost.com> on Wednesday February 28, 2001 @08:45AM (#394878) Homepage
    RedHat may still say Fisher on their web pages, but Wolverine (Beta 7.0.91) is already out, and has been for a week.

    -
  • dev-ehopper 924 $ cat fred.c int main(void) { int a = 60, b = 6, c = 10; printf("%d = %d\n", (int)(((60/6)*0.3) + (10*0.7)), (int)((( a/b)*0.3) + ( c*0.7))); exit(1); } dev-ehopper 925 $ gcc -march=i686 -O2 fred.c dev-ehopper 926 $ ./a.out 10 = 10

    *shrug* Floating point is tricky. I would class your post as a clever troll. I think gcc, by default, is not strictly IEEE compliant.

  • This is a silly reason. It's a slight different in how floating point calculations are done on the two platforms. Floating point calculations not involving powers of two are going to have some error in them. For some reason, with gcc under Linux on the x86, the error results in the second calculation giving a result very slightly less than 10. The (int) typecast does not round.

    This more proves the lesson that you shouldn't expect exact results out of floating point calculations that it proves whether or not any particular OS is better than another.

  • I'm running Mandrake 7.2 on the firewall that I'm sending this message through. I've been a mandrake user since version 6.0.

    Unless I'm tweaking or doing something weird all of my mandrake boxes are rock solid stable.

    DrakConf is a big reason why I've stuck with mandrake. I don't ave to visit web pages to know which kernel module to use when I add a new piece of hardware, I find out from DrakConf and poof I put it in.

    LK
  • If you've got a minute, and one of those 'bleeding edge' OSes, try compiling with no optimizations and running this for fun:

    int main(void)
    {
    int a = 60, b = 6, c = 10;

    printf("%d = %d\n", (int) (((60/6)*0.3) + (10*0.7)), (int) ((( a/b)*0.3) + ( c*0.7)));

    exit(1);
    }

    (BTW the lameness filter defies logic, that was the best I could do with the C snippet)

    A friend was tortured for a few hours doing an assignment until I took a look at the code and realized the problem boiled down to something that can be reduced to this snippet.

    I compiled this with default compiler settings on every platform I could find. This means Digital Unix 4.0, OpenVMS 7.2, Solaris 8, IRIX 6.4, HP-UX 10.20, FreeBSD 4-STABLE, OpenBSD 2.8 and various Linux distros, from ancient to cutting edge - both with gcc and any commercial compilers that happened to be available at each box.

    On all Linux distros, and only on Linux distros, ranging from an ancient Slackware setup to the latest Red Hat, I get 9=10. On everything else, I get 10=10. Go figure, and remember that the whole OS is compiled with that.

    I think I'll just stick to FreeBSD as far as my intel boxes are concerned.
  • LNUX has dropped over 40% since the market closed last Tuesday, though, while NASDAQ's only lost about 5%. Same pretty much holds true (as far as LNUX bleeding way more than the market as a whole) whether you look at the last 5 days, 10 days, whatever. Stick a fork in this company, it's done. On the bright side, ESR's original $41,000,000 worth of LNUX stock is now down to about $550,000, and his gloating sounds more comical everyday.


    Cheers,

  • These version numbering schemes are becoming ridiculous. Actually overheard in a store (Frys's Sunnyvale): "No, get that one over there, it's Linux 7.2. This one is 7.0" (referring to two distinct distros). I would hate to know what they thought of FreeBSD 4.2 or Caldera 2.3 :-)
  • > hehehe that's pretty funny, but my zip drive works fine with 2.4.2

    And mine with 2.4.0

    --
  • by AT (21754)
    Actually, I think they are both small, fuzzy carnivorous mammals.
  • You are very, very confused as to how numbers are stored in a binary system. .9999 will not be stored with 4 digits (.9999). It will be stored as a binary mantissa and a binary exponent, not as 4 characters. The problem lies in that the mantissa can only carry so much precision. Think of it this way:

    For number greater than 1:
    0000 = 0
    0001 = 1
    0010 = 2
    0011 = 3
    0100 = 4
    etc.

    For numbers less than 1:
    1000 = .5
    0100 = .25
    1100 = .75
    0010 = .125
    etc.

    I'm working off of very vague memories here (10 years since I had this in class), but I believe the IA32 architecture has 80 bit floats, with some portion allocated for the mantissa and the rest for the exponent.
  • It is however pointed out that it crashes some (Helix?)GNOME applets. Which is true, as far as I can tell, but only for "freshly out of box" 7.2 sold commercially

    There was some discussion of the review on mandrake's forum [mandrakeforum.org]. What was noted there is that Helix explicitly says that their packages don't yet work with mandrake 7.2. The reviewer essentially tried to install an incompatible package, and then complained when it didn't work. That's far from what I'd call "intelligent reviewing."

    -schussat

  • Does anyone know if this bug affects WD SCSI drives, or just ATA ones?
  • I'm running 7.1 at home, and it seems a bit flakey - not sure why. Maybe because I'm using reiserfs?

    It was OK for a while, but the slocate and logrotate cron jobs now just chunder on forever (I've now disabled them), and sometimes the system just goes into a CPU killing disk-swap downward spiral (I've got 64MB RAM, but two swap regions totalling a lot more - maybe 128MB or 256MB).

    Any ideas? Anyone else have problems with 7.1 that went away with 7.2?

    I think I'm gonna give 8.0 a try anyway - got a partition reserved waiting for it!
  • Thanks, Ted. That 100% CPU usage sounds pretty familiar!

    I'll check my /var/log directories when I get home?

    BTW, off the top of your head, do you know how to configure logrotate - is there a simple way to avoid this problem (other than disabling logrotate, which is what I did)?

  • Same thing here - the reason I'm going to install 8.0 is because I want the 2.4.x kernel and KDE 2.1... SuSE seem pretty aggressive with keeping up too - I might give them a shot one of these days.

    If I wanted a older stable version of Linux I'd go for Debian.
  • Yep - exactly same symtoms here, and sure enough my /var/log/mail and news directories are *rather* full!

    Thanks for the link to the fix.
  • Note my other comment that Mandrake 7.1 seems very broken on my Alphas, and there hasn't been a release of 7.2 for Alpha... leaving me short of options.

    I may be on the road to Turbolinux, but their Alpha distro looks even more dated...
    --
  • See, that's my problem - the install goes well (it seems), then I reboot... kernel decompresses and loads, then when init is starting, I see an error telling me that libreadline can't be found, and things grind to a screeching halt, ending with a very fun "no processes left in this runlevel message". I was planning on getting the new stuff off of Cooker as soon as I was up, but I never got so far as a login... and the installer only gives four choices for network cards, so I need to wait until my system is up to configure that (or I could go get a Tulip/3c595/PCINe2000/whatever the fourth choice is that I don't have). No big deal, but kind of a pain. Also, when the install asks for the 2nd (ext) CD, it doesn't unlock the drive... so you can't put any of those RPMS on at install time. Unless there is some (undocumented) reason why I can't load the kernel with Milo...

    I haven't had much time to scour lots of places for help, but if the install is broken before I get up and running... my MD5 sum matched for the iso, too, so I haven't tried pulling that down again and reburning - it'll take a while.

    --
  • Ah yes, Wintel beat Apple... but for the people who had Beta and Apple in 1985... well, you can still buy Apples (and really, the PowerPC chip is a better processor architecture than the x86... the Altivec stuff is nice, but that does limit the peak speeds of the chip).

    I knew what you were getting at, but unlike Beta (which was quite a bit better, but good old corporate politics and licensing killed it), Alpha and x86 don't completely overlap in the same app space. Something about 64bit data, 64b PCI, and a much better FPU than the x86 line (and stable as hell, too). DEC dropped the ball, and Compaq hasn't pushed things as much as we'd like, but really, an 833MHZ 21264 rates 590 base/650 peak in specfp2000, while a 1.5GHz P4 rates 543/552, a 1GHZ P-III a 292/304, and a 1.2GHz Athlon 304/342. Stable, tested, available hardware (the high speed alphas have been around a lot longer than the P4 and higher speed P3s have been almost working). There are some very good uses for what I term real hardware, and there are still plenty of installations out there. Free software is one of the great ideas. GCC isn't so hot for fp performance on Alphas (something I'd like to help along), but the DEC/Compaq compiler is cheap, and running Tru64 is slick. The idea is to help Linux do what it needs to. I've got a nearly four year old low-end Alpha here (my 21164PC test box) that can still rock with the best of them

    Also, by my count there are far less S/390 mainframes, AS/400s, RS/6000s, O2s, and E10ks than Wintel boxes, so I guess everyone should just give up on those too... damn Superior Technology X, Y, and Z.

    --
  • by Tower (37395) on Wednesday February 28, 2001 @08:57AM (#394925)
    I wish somebody had a current distro for Alpha. The latest I can find is RH7.0 (brokenish) or Mandrake 7.1 (won't reboot after install - can't find libreadline5). Kind of a pain for those of us running Alphas... I'd love to see a distro release with 2.4.x sometime in the near future.
    --
  • only if you dont count europe :-)

    suse may end up the #1 distribution because... well, europe LOVES it... germans especially...

    and, i think that suse may actually be /profitable/, even... something that is unheard of for US distribution companies...

    yeh yeh... their american division got fscked... but there is more to the world than the good ole US of A...


    tagline

  • > printf("%d = %d\n", (int) (((60/6)*0.3) + (10*0.7)), (int) ((( a/b)*0.3) + ( c*0.7)));
    [..] On all Linux distros [..] I get 9=10.

    Repeat after me: Floating point calculations are imprecise. It seems like you've got it the wrong way around, by the way: the calculation that is done at compile time is "exact".

    You can simplify the above further to
    int c = 10;
    ... (int) (3 + c * 0.7)

    which gives you 9 -- because 0.7 happens to be rounded down in binary! (60/6) is an integer calculation, so that gives you exactly 10 -- but with floating point calculations you get rounding errors.

    That the first expression, which is calculated by the compiler does result in 10, is because that is done by the optimised compiler, which calculates the whole expression in the FPU without storing intermediate results. And the i386 FPU uses 80-bit numbers internally, so that it does work out OK in this case. Or perhaps you're just plain lucky.

    If you want the answer to be 10, just change int c = 10; to double c=10.0000000000001;.

    When it comes to numerical mathematics, lesson one is: You cannot trust the rounding of floating point calculations.

    Jeroen Nijhof

  • SCO is so awful. I have to support a SCO box at work and it's a giant mess of symlinks and nonstandard idiot things.

    What, you think I run this box for fun? =) This is the database server for the Town Hall of a smallish (14k people) town in Massachusetts. GCC is on there because one of our vendor's programs has a component that's compiled on-site.

    We've got a file server running linux now, desktops run Win9x. At home I dual boot W98 and SuSE 6.4.

    --

  • by CrayDrygu (56003) on Wednesday February 28, 2001 @09:59AM (#394939)
    For what it's worth...


    # uname -a
    SCO_SV hol504 3.2 5.0.5 i386
    # /usr/local/bin/gcc -v
    Reading specs from /usr/local/lib/gcc-lib/i386-pc-sco3.2v5.0.5/2.95.2 /specs
    gcc version 2.95.2 19991024 (release)
    # /usr/local/bin/gcc test.c
    # ./a.out
    10 = 9


    --

  • Ech. Backup devices are for sissies ;) These days, it's just so much cheaper (and faster, etc) to get a second harddrive and backup to that. Or (my favorite) build a cheap local FTP server and backup to that. It beats tape...
  • A) There is nothing inherently wrong with "Windows characteristics." There are bad characteristics and Windows characteristics. An item in one set is not necessarily in the other.

    B) What's wrong with beta builds? Linux has had beta builds ever since I can remember (except they call it a -test) RedHat beta builds have been called .0 releases, everything has beta builds. Its an essential part of a software release. The problem isn't releasing Betas, but releasing Betas and pretending they are final products.

    C) Try Gentoo Linux [gentoo.org] It's nice and light, has a lot of the cool package management features of Debian, and is well-thought-out. It also has something like a ports tree. It might be a little cutting edge for many people's tastes (a comment once accompanied a package "package x.y.z merged. Did we beat freshmeat?" It's still a development product, but its manual installation isn't really any harder than installing some other Linux distros, and gives you a lot more control. When this thing reaches 1.0, RedHat watch out!
  • Why would you want to do that? ReiserFS is faster, more stable, and HERE NOW!
  • Actually, I have the excat OPPOSITE problem. I can't stand all the i386 packages floating around. And I can't find any i686-only distros (although Gentoo should have i686 builds when it hits rc4.) Either way, think about this logically. What's the point of releasing i386 packages as the standard format? You release standard packages for standard machines (i686 would probably be the most common at the moment) and then release special packages for special cases (i386 and i486 should, by this time, be considered a special case.) If the majority of users run on a particular platform, you should optimize for that platform first, then optimize for boarder cases. The "critical path" and all that.
  • Actually, the PCI spec is a very expensive "open" bus. If you have ever tried to write an PCI code, you'll find that they charge several hundred dollars for the specs.
  • X.10 and X.11. Can you say trademark violations?
  • I doubt you can upgrade without reformating. Still, it would be no trouble at all to copy data over to a spare partition, format with ReiserFS (or if you have the balls, XFS!) and copy stuff back over. ext3 essentially exists to save the user the trouble of two copies. Kinda silly.
  • I believe he meant from ext2.
  • I'm sure its just ATA, since the problem is actually with the chipset driver

    ----

  • I do tend to agree with you on this point... The main reason most packages are i386 is because the developers want their binaries to be in the format that the most people can use.

    I think, however, it would be wisest for developers to choose whichever architecture would be the bare minimum... For example, you would have ssh and wget almost *always* come in an i386 package, gnome and most other GUI apps compiled for i486, and huge & slow things like mozilla will usually be built for i586.

    (Note to GCC developers: I'm still waiting for that i786 option for my Athlon!)
  • ...and BTW, I tried on solarix x86 with gcc 2.95.2 and also got 10 = 9, so this is not even an OS issue. It's all about a bad programming practice that produces bad results with a certain compiler/CPU combination (using the same gcc version on solaris/SPARC gives 10=10). That's all there is to it.

    If a certain program doesn't produce the same result with different compilers/platforms, the most like cause is not a bug in the compiler, but an undefined behaviour caused by a badly written program.
  • However, consider explaining that 10 equals 9 for small values of 10 only on Linux distros out of dozens of other platforms to someone that was being tortured while doing a C assignment.

    In case you didn't read my other comment, this have nothing to do with Linux, since I could reproduce the same thing on Solaris x86 and I'm pretty sure I'd also get that with gcc/Win32. The way your code is, luck is the most important factor is determining whether it'll work or not! Regardless of the platform (I bet you could find another similar example that would produce 10=10 on your linux setup and 10=9 on other setups).
  • There's nothing strange in your example. It looks strange because in the decimal system, .7 is easy to represent. What if I asked you to compute (3 * .3333333333), you'd say .9999999999 and if I asked you (int)(.9999999999), the answer would be 0. However, when I said .3333333333, I meant 1/3, but there's no way you could have known. In (binary) float representation, .7 is a periodic number, just like 1/3 in the decimal representation. That's why you need to expect wierd (random) outputs when you compute stupid things like (int)(10 * .7).
  • I think you did not understand anything at all from my several posts! THIS IS NOT A BUG, it's a feature! You cannot make the assumption that such float calculation will be exact to the last digit, period. If you round to the nearest integer, you'll get the right result, all the time. But when you make such stupid assumptions, you're just asking for trouble.

    If you want to convince me that's a bug, go look up in the C language definition and find the place where they guaranty you that these kinds of calculations has to give what you're expecting. There's simply no guaranty of that, that's all. AFAIK, the only float calculations that are required to be exact (IEEE spec or something like that) are those that involve integer numbers, like 2.0 + 3.0 = 5.0... and certainly not .6*10 = 6.

    I hope you get it now.

  • OK, I'm not talking about "standard" code with no library calls. If you get different results for a float calculation on two different platforms, it's most likely because:

    - You've got an uninitialized variable that "happened" to have a value of 0 with some compiler/platform

    - A comparison between two floats (a == b), which you should never do.

    - An array bounds error, which can sometimes (if you're lucky) not overwrite any useful data (but does with another compiler/platform)

    - Your trying to use things (int)10*.7 in some computation...

    ...you get the point.
  • I know all that... I said that to simplify things I was going to work in decimal, although (duh!) de CPU works in binary.
  • by jmv (93421) on Wednesday February 28, 2001 @09:46AM (#394973) Homepage
    The value of: (int) (((60/6)*0.3) + (10*0.7)) can be either 9 or 10, depending on when the float values are moved in/out the floating point registers (which are 80 bits instead of 64 bits for a double). Your compiler cannot guaranty the result and you should no assume that the result is 10, unless you round to the nearest integer (instead of casting to an int, which is equivalent to a floor).

    Therefor, it's not the compilers fault it this problem happens, it's your fault if you make those kind of assumptions (It's the same reason why you should almost never use == when comparing 2 floating point numbers).
  • by jmv (93421) on Wednesday February 28, 2001 @01:44PM (#394974) Homepage
    OK, let's go... (with my previous 3 * .333333 example)

    We'll work in decimal, so transpose this to binary for a real CPU. Let's say your "float" (as stored in memory) has 4 digits and your float registers can hold 6 digits (a double is 64 bits, a register is 80 bits).

    If you load .333333 (6 digits in the register) in register and multiply by the 3 that's in memory. The result is .999999. When you store that in memory, it is rounded to 4 digits, giving 1.000, which when converted to int, gives 1.

    Now, if you have 3 in the register and multiply by .3333 (4 digits in memory), you get .999900 in the register. When you store that in memory, you get .9999, which once conterted to int gives you 0.

    The only thing that changed is what goes to register and what goes to memory. I'm not saying this is exactly what happens in your example, but it's probably something similar.

    BTW, if you look at the gcc man page, there's an option called -ffloat-store which deals with registers that are larger than the memory representation of the float number.
  • If you intend to hang on to your old hardware, please don't expect all others to stay with you at the same spot.

    The solution is simple. If you use old hardware, there are a bunch of *high quality* old programs for you to use. There's no reason to jump onto bleeding edge software with hardware that is on the bleeding edge of the opposite side.

    If you insist, however, nobody stops you from compiling from source. It would always work (only on 32 bit CPUs!!).

    Next time just think twice before you complain that some random new binary does not run on your machine.
  • In Red Hat Linux, all versions in a series (like 6.0, 6.1, 6.2) are binary compatible.

    When we break backwards binary compatibility (like when we introduce new major versions of libc), we increase the major number.

  • We won't switch while in a major series, but after that we'll just ship compatibility libs and the new compiler.
  • by teg (97890) on Wednesday February 28, 2001 @10:48AM (#394981) Homepage

    its the principal behind it. there was no reason for RH to make a stupid move like that at all.

    Of course there are reasons:

    1. egcs was too old for another cycle, and has its share of bugs
    2. 2.95 is very buggy, and can't even compile glibc 2.2 on non-x86
    3. The compiler we ship has better performance, IA32 and others
    4. The compiler we ship has plenty of bugfixes over the older releases.
    5. The compiler we ship has much better C++ standard compliance
    6. It supports platforms we find important, like IA64. This way, there is only one compiler across all platform.

    On the minus side: C++ isn't binary compatible with other versions of gcc. As we went with glibc 2.2, this wouldn't have been compatible with anything anyway (a combination of gcc and glibc is binary incompatible with any other combination). There has never been C++ binary compatiblity on Linux, and there won't be until gcc 3.0 is released and used.

    As you can see above, there is no doubt that on technical merits, this was the choice to do. And we did it. Unfortunately, we could have handled the political situation better. As for the end-user experience, that's irrelevant.

    When gcc 3.0 comes out, we intend to switch to that at one point - "when" is dependent on when gcc 3.0 is actually released and how it fits into our cycles, as it will be a binary incompatible change.

    PS: Mandrake uses it too.

  • If you can place that you are probably

    a)British
    and
    b)Too old

    Rich

  • Funny this happens. I run Oracle Applications under several linux boxes. Wouldn't it suck for any business of any size to be running production erp applications to have some critical numbers off becuase of a flawed arithmatic algorythm in the standard libc libraries?

    Firstly, as so many posts have pointed out, floating point is inexact and you can easily fall foul of rounding errors when casting to integer.

    More importantly, this is why databases go to the trouble of providing DECIMAL type as part of the SQL standard. Floating point variables have 'interesting' rounding errors, and most businesses, especially those doing any sort of accounting, can't afford to lose any precision. All DECIMAL type calculation are therefore done to the limit of the precision of the type and have well-understood rounding limitations which should not manifest themselves like this.

    Quite honestly, if you are using floating point numbers for any sort of simulation, doing the error analysis is a complete pain in the neck. In many respects you are better off using integer values, maybe with scaling offsets, because at least then you can control and understand all the cases where you drop precision.

    Cheers,

    Toby Haynes

  • Version inflation?

    Emacs 20.7. Say no more.

    Good thing that Emacs 21 is due out soon then ;-)

    Cheers,

    Toby Haynes

  • Sigh. My fault for assuming you know. Betamax was in competition with VHS for the consumer dollar/mindshare. Beta was the better, sharper full ntsc resolution technology but VHS won. Just like Apple beat Amiga, just like Wintel beat Apple.

    What I'm tryin to say is, you can bitch all you want about lack of support for Superior Technology X, but once it's on that downward slide, you're just going to frustrate yourself.

  • Crap is still crap despite sales figures. x86 is a god-awful architecture, not even as good as the 68000 arch on my Amiga was in 1994, let alone the likes of Alpha, PPC or Sparc. Next you'll be saying Britney Spears has more talent than Mantovani since she sells more albums.
  • Huh? Check this Linux Counter Estimate [li.org] first next time.
  • Have you looked at the testing branch for Debian. It does not come with 2.4.x by default but you can apt-get it and AFAIK it is working very well at this point?
  • Oh good god. Quit whining and shut up!

    The only possible problem this causes is when proprietary bastards keep their source code locked in a vault and only ship binaries. Decent Free software will simply require recompiling using a different compiler. I don't know about you, but the fact that the packages on any given distribution are out of date before the ISO is built keeps me from caring, since I end up recompiling all my major packages from source anyway.

    And if you really care about binary incompatibility try running a non-x86 processor with a Red Hat-based system (like Yellow Dog Linux), then see how many RPMs you run into that are completely useless. And then please feel free to forward my complaints along with your own to the people who completely ignore an entire chipset, making the excuse that "We support Linux because we released an RPM".
  • Mandrake has always struck me as an odd distro. I'm not really sure where to place the thing. Is it geared for home users (and another poster mentioned), servers, hobbyists or what? Out of curiousity, I installed 7.2 on a dual proc machine here a while ago, and while I was impressed with some of the features (native ReiserFS and HPT360 support), their whole setup seemed rather "cutesy" to me.

    I'm not sure what better way to describe it, but I just didn't care for the way they setup certain items and the entire look and feel left me somewhat annoyed. I realize things like wallpapers and icons can be changed fairly easily, and I'm certainly not knocking having multiple distros, as I do enjoy having the latest and greatest kernel/software releases included with Mandrake, but I'm just not sure who I would recommend Mandrake to. Perhaps I'm just biased because I've been using a certain other version of Linux for so long.

    Compiling kernels the old fashioned way. The Linux Pimp [thelinuxpimp.com]

  • by MCZapf (218870) on Wednesday February 28, 2001 @08:47AM (#395046)
    They're using a whole new kernel version. I think that's enough reason to call it Mandrake 8.0.
  • by Bob Abooey (224634) <bababooey@techie.com> on Wednesday February 28, 2001 @09:35AM (#395049) Homepage Journal
    I would like to go on record here as saying that debian users are turning into the BSD's of the Linux distro's. They are pompous and annoying and 31337 and probably all descendants of Amiga users.

    I am therefore going public with an official statement:

    I Bob Abooey, am hereby and do officially proclaim that I will never ever ever, ever, use debian Linux. If debian is the only Linux distro left on earth I will drive to Best Buy and give my last dollar to the wild eyed clerk for a copy of Microsoft Windows. If debian was the only OS left on the planet I will chop down a tree and build an abacas. In fact from this point in time I refuse to even acknowledge the rumor that debian even exists. And lastly, all of you apt-get-morons can kiss my big hairy white arse.


    Yours,
  • Latest Mandrake was 7.2, so it's quite natural to have the new one called 8.0beta! Ok, in the past they have jumped from 6.1 to 7.0 (this was the *real* version inflation), but in a still older past, they did a 5.3 after 5.2 :-) Anyway, I've tried to download the two ISOs - I've followed and contributed to the development of this new Mandrake on the Cooker-list and while there are not many extra features from Mandrake itself this time, there is Kernel 2.4 an, KDE 2.1 and Gnome/Evolution and Nautilus. So I'm very impatient to test this release candidate!
  • I disagree for server use: I have several machines serving thousands HTTP request per day, with MySQL database calls and Mandrake is great for that: excellent performances (i586 optimizations + SGI optimization in Apache-Extranet-Advanced-Server). And also they have the high security levels: I put the highest and have not cracker breaking my servers. That's very confortable. And really, for stability: did you test it intesivly? It's *really* not unstable. And they are very reactive with security patches.
  • Why is it not the Mandrake icon?
  • I just bought 7.2. and tried 8.0beta download. I am new to linux so I appreciate the easy install. But the sound doesn't work in either of these distrobutions. Going to their bugzilla page and doing a search on "sound", there are open bugs that go back to last october with soundblaster cards and getting them to work. I'm no rocket scientist, but they need to have a "version freeze" until they take care of all the soundcard problems.
  • Why is it called Wolverine one may ask...? I think I have the answer...There will be some new alpha program that will Bite everyone up the a@#! Those Wolverines are vicious, they may look cute and cuddly... Everyone is already getting bitten by the effects of GCC 2.96 with code that will not compile on other distrobutions!
  • Has anyone gotten the KT133 chipset working with ANY HD's? I have a Abit KT7-Raid and after compiling 2.4 I get MASSIVE drive corruption. I've tried turning DMA off and it seems to help a little but last night the ystem locked again and now it won't complete a fsck. (same as what used to happen very quickly when DMA modes was on? FYI I'm, using a maxtor DMA-100 Drive that I'd like to use on the HPT370 Controller once I solve the corruption problems.
  • hi warlock (george here)

    okay let's take a look at this

    [#4] The accuracy of the floating-point operations (+, -, *,
    /) and of the library functions in <math.h> and <complex.h>
    that return floating-point results is implementation
    defined. The implementation may state that the accuracy is
    unknown.


    many people have ALREADY said that floating point is INHERENTLY unaccurate. the REASON why you get 9 = 10 or 10 = 9 is because ONE of the expressions is calculated at COMPILE time and the OTHER is done at run time and the METHOD may differ. there is NO way to represent many floating point numbers exactly on many cpus, this is why approximations are used instead. this will OCCASIONALLY lead to a rounding error. YOUR example is particularly precipitous and draconian because you use an operation (TRUNCATION) that is the most likely to show the unaccuracy!!

    all in all i have to say that your criticizm is pretty PICKY. and trust me i KNOW picky, my wife is the most picky person EVER, "george keep your elbows off the table, george put the toilet seat up, george don't use the word AIN'T" god!!!!!! sorry if this is harsh but god i have to come HOME to the world's biggest grouch and there is NO REASON why this pickiness should be tolerated!! god

    your bud
  • The machine (friend is using it currently): 486 80 mhz DX/2 AMD processor with 32 megs of memory, 1 ~2 gig hard disk, 1 .5 gig hard disk, with a floppy and an old Mitsumi LU005S CD drive that won't mount under linux for some odd reason.

    I set this machine up as a triple boot just for the hell of it. SBM (look on freshmeat) is the boot manager, which I am using for its ability to hack around the Y2k bug, as well as its friendlier interface then lilo. On the .5 gig hard drive is a 100 meg partition with Dos 6.22/Win 3.11 (and program bar, which is a spiffy shell to give win3.11 a win9x toolbar). The 400 meg partition runs win98SE, which I've discovered is almost too slow to use for any serious task (IE is usable, but very slow). The 2 gig hard drive is split into 2 ext2 partitions of approximately equal size, a / partition and a /home partition. The linux distro is redhat 6.2 Gnome runs at a decent speed, even when I have 2 MUDs running in the background. I wouldn't try StarOffice (hell, I hated running the win32 binary when my win box was limited to a Pentium 100), but Netscape isn't that laggy, and its fast enough for all the default games that were installed except xpilot. From my experience, Gnome is running as fast as Win95 did, which means a usuable speed on a higher-end 486. Right now the box is working fine as a mud developement server, and I expect to strip it down and rebuild it as a mySQL/Apache/FTP server when I get it back.

    So, the point of this post is that a Modern GUI will work fine on a 486 (if you avoid the latest MS OSes), and such a computer can be used for website browsing as well as writing code with gvim and later compiling it (so what if it takes 30 minutes, this isn't a top of the line development machine, I'm patient). Basically, its a decent web computer, and can later be turned into a low-volume or developement web/ftp server.

    486's aren't dead yet. Nobody is going to buy a "new" 486 since the cost of older memory will make them more expensive then 5/686's, but an older machine cobbled together from parts laying around can still be useful, and that includes using a GUI on such a machine.

  • by Urban Existentialist (307726) on Wednesday February 28, 2001 @08:48AM (#395103) Homepage
    I have tried many distros, including SuSE, Debian, Red Hat, Corel and Caldera. Out of all the distro's I have tried, it seems clear to me that Mandrake is best for the home user. It not good for business or in a server environment due to stability issues (it is so bleeding edge it is untrue), however stability doesn't really matter so much on home machines. As long as it can stay up for a couple of hours then it is good enough.

    One wonders why the other distro's have so much difficulty equaling Mandrake in this arena? People like Debian and Red Hat are too purist in their respective fields to ever really become popular in the home, however as their users have accepted this it does not matter, I suppose. Still, such lack of ambition in the arena is startling.

    The bleeding edge and easy to use nature of Mandrake is why it has 28% of the marketplace. More power to them, I say, and hopefully other distro's will take a leaf out of their book.

    You know exactly what to do-
    Your kiss, your fingers on my thigh-

  • by The Diver (310313) on Wednesday February 28, 2001 @09:43AM (#395104)
    Mandrake2001
  • None of it worse than 3.11 -> 95 (Windows) There's a hell of a jump. Or maybe 4 -> 2000 (Windows NT).
  • I'm just a caveman. I fell on some ice and later got thawed out by some of your scientists.

    Your world frightens and confuses me! When I order an espresso at StarBucks, I think that the foam on top is the saliva of a rabid mammoth! Sometimes when I drive my Ferrari at the racetrack on weekends, I wonder, "Are there little men inside running really, really, fast?"

    My primitive mind can't grasp these concepts. But there is one thing I do know -- the 2.4 kernel still does not support my Zip Drive or USB joystick. This is really annoying to me, a primitive caveman, because I it makes it difficult to work on my flight-control systems source code from work under a familiar UNIX-style environment. Instead, I have to copy the code from my Windows machine with a working Zip drive, copy over the gigabit ethernet in my primitive, caveman home, and then copy the compiled executables back in order to test the tolerances. Even my feeble, confused mind can recognize that USB support in the 2.4 kernel is a necessity!

    Thank you.

  • My daughter looks like that idiot Cyborg_Monkey!

The test of intelligent tinkering is to save all the parts. -- Aldo Leopold

Working...