Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
OS X Businesses Operating Systems Apple BSD

OpenDarwin.org Releases Darwin With Fixes 151

An anonymous reader writes "OpenDarwin released a 'fixed' version of the Darwin 6.0.2 ISO (the OpenDarwin-20030213 Binary Release) for both x86 and PPC. It is currently installing, so I can't tell you all what works now, etc. Hopefully I can use my old PC box as a server with this..." Apparently, it is mostly a recompile, without local OpenDarwin modifications. It doesn't include perl, pending integration of perl 5.8 ... could this mean Mac OS X will finally have a current perl in the next Mac OS X release?
This discussion has been archived. No new comments can be posted.

OpenDarwin.org Releases Darwin With Fixes

Comments Filter:
  • Perl version (Score:4, Informative)

    by Draoi ( 99421 ) <.draiocht. .at. .mac.com.> on Wednesday February 19, 2003 @08:44AM (#5333958)
    My TiBook (w/vanilla kernel 6.4) tells me this;
    [dhcp1i174:~] pcassidy% perl -v

    This is perl, v5.6.0 built for darwin

    Copyright 1987-2000, Larry Wall
    [blah snipped]
    So, when I check with perl.com [perl.com], I see that the latest, stable release is 5.8.0. It's not *that* far removed, so why imply that MacOS X is 'finally' getting a current release of perl?
    • Re:Perl version (Score:5, Informative)

      by Ranger Rick ( 197 ) <slashdot@raccoonfi[ ]com ['nk.' in gap]> on Wednesday February 19, 2003 @08:56AM (#5334003) Homepage
      5.6.0 has a number of nasty bugs that (at the very least) 5.6.1 fix, especially in unicode support. Also, Apple built their perl in a way that makes their perl modules go into an essentially unversioned directory, which makes it harder to upgrade perl as time goes on.

      The longer they wait, the messier the upgrade is going to be...
    • Look for release dates. I was running 5.6.0 some time in the last millenium, IIRC. Ran 5.6.1 for a long time after that. 5.6.0 is two major releases behind.

    • And in all honesty, I was using a Perl from 1998 up until late last year, and (1) I never found any bugs, (2) I never had any other problems whatsoever. Having the latest version could be an issue for webservers, but it's mostly irrelevant in all other cases. Perl is a stable beast.
    • Re:Perl version (Score:1, Informative)

      by Anonymous Coward
      I have installed Perl 5.8.0 on Mac OS X, and it can replace 5.6.x. I ran with it for a few days, but then found that the older version of the free Teradata module that I have would not work. The new version of the Teradata module is very expensive, and my organization is moving to a different data warehouse soon, so I'll wait for that and then try 5.8 again.
  • I don't use apple at all, but what attracted me is the BSD logo there at the topic. Is it some kind of a mistake or is there any relation?
    • Re:hmm (Score:2, Informative)

      by Anonymous Coward
      Darwin is composed of the Mach kernel and the BSD subsystem.
    • Re:hmm (Score:5, Informative)

      by Ryan Amos ( 16972 ) on Wednesday February 19, 2003 @10:38AM (#5334574)
      Take the mach microkernel, then take FreeBSD and put it on top of that and add what amounts to a central registry (NetInfo) and essentially you've got darwin. Apple essentially took UNIX, made it more like modern graphical OSes by adding functionality (not removing) and out came darwin. OS X is one hell of a sleek OS; insanely modular, everything is XML and embedded PDFs yet you can still run most (read: 99.9%) *nix programs with minor makefile modifications. It's BSD for the 21st century ;)
  • by Znonymous Coward ( 615009 ) on Wednesday February 19, 2003 @08:50AM (#5333979) Journal
    Which is better? Darwin x86 or BSD?

    • by Gropo ( 445879 ) <groopo@yah o o .com> on Wednesday February 19, 2003 @09:30AM (#5334132) Homepage Journal
      Depends on what you need it for... If you want a personal file server for a predominantly Mac household, you might appreciate the NetInfo abstraction Darwin offers.

      Other than that, you might get better performance out of one of the tried-n-true BSD's due to the lack of overhead taken up by the message-passing microkernel.
      • BSD. Definitely BSD.

        The primary reason for releasing Open Darwin on x86 is as a check for cross-platform coding. The reason it is public at all, is that it generates publicity with the /. crowd and costs them little or nothing in the process. While some Apple developers are putting time into stabilizing the sofware on the x86 platform, very little is being done to actually advance the project in it's current form.

        It is not very stable and you would gain no advantages in networking between x86 and Macs by using OpenDarwin, since there is NO gui whatsoever.
      • by Anonymous Coward
        ...overhead taken up by the message-passing microkernel.

        I thought Apple didn't use a true microkernel [apple.com] for precisely this reason.
      • by Halo1 ( 136547 ) on Wednesday February 19, 2003 @11:32AM (#5335000)
        Although I agree that Darwin-x86 is only really useful if you want to do Darwin development or use it as a netinfo server, you are wrong about the microkernel piece. It's quite possible that the Darwin kernel is slower than that of the other BSD's, but that won't be due to its message passing microarchitecture. The reason is that the Darwin kernel runs in one address space (even both the Mach and BSD personalities run the same address space).

        Apple didn't just pick up the Mach kernel and used it, they improved it a lot and one of the things they did was to rip out all that message passing stuff, while still retaining the modular design of the kernel. The result is that they more or less get the best of both worlds: a modular design with the speed of a monolithic kernel. Of course they did lose the ability of a true microkernel where the whole kernel doesn't crash if one of its modules does.

        • one of the things they did was to rip out all that message passing stuff

          Woohoo!!! Why didn't I think of that??? Just rip out message passing! It's genius! Hey, the different parts of the kernel don't need to communicate anyhow. Hey, why would the swapper need to send messages to the hard disk driver anyhow? The system will just use up so much less CPU power that way!
          • by Halo1 ( 136547 ) on Thursday February 20, 2003 @03:59AM (#5341999)
            oohoo!!! Why didn't I think of that??? Just rip out message passing!
            I know you're just trolling, but for other peolpe that might be interested: in the original Mach kernel, every subsystem of the kernel talks to the rest by using message passing (which is obviously quite slow, but otoh allows you to keep every subsystem in its own address space). Apple changed this so that every subsystem lies in the same address space, so they don't have to use the slow message passing interface, but can use function calls instead to let different parts of the kernel communicate.

            Obviously, the message passing interface is still there and e.g. can still be used to have kernel space code communicate with userland code.

            • I know you're just trolling,

              It's called sarcasm. I guess if you don't like what anyone has to say, you just call it a troll so that you don't have to deal with it.

              in the original Mach kernel, every subsystem of the kernel talks to the rest by using message passing (which is obviously quite slow

              This is no news at all... They took a microkernel and covnerted it into a monolithic kernel. 'Nuff said.

              allows you to keep every subsystem in its own address space

              In other words, a microkernel can't be brought down by one single part.

              The great thing about microkernels is that a flaw in the TCP/IP stack won't result in an exploit or a DoS on the kernel. So Apple took a microkernel, then removed all the features that make a microkernel a good thing.
              • It's called sarcasm. I guess if you don't like what anyone has to say, you just call it a troll so that you don't have to deal with it.
                I did reply to your post and I did address the "points" that you made. I suppose this was more sarcasm I didn't get...
                In other words, a microkernel can't be brought down by one single part.

                The great thing about microkernels is that a flaw in the TCP/IP stack won't result in an exploit or a DoS on the kernel. So Apple took a microkernel, then removed all the features that make a microkernel a good thing.

                I talked exactly about this in the last paragraph of my original post. Maybe you should spend more time actually reading the post and less time thinking up "sarcastic"responses.
                • I did address the "points" that you made.

                  No, you went off about message passing between userland and the kernel.

                  I talked exactly about this in the last paragraph of my original post.

                  Yes you did. What I'm not sure of, is why you call it an improvement, "the best of both worlds", etc.
                  they improved it a lot and one of the things they did was to rip out all that message passing stuff

                  In fact, getting rid of message passing doesn't give you anything from both worlds, it gives you a monolithic kernel, plain and simple.
                  • by Halo1 ( 136547 )
                    In fact, getting rid of message passing doesn't give you anything from both worlds, it gives you a monolithic kernel, plain and simple.
                    Fortunately, that's not true. I would suggest you to read this [apple.com] and this [apple.com] message posted quite a while ago on the darwin-development mailing list (use archives as both login and password).
        • by Leimy ( 6717 )
          The reason is that the Darwin kernel runs in one address space (even both the Mach and BSD personalities run the same address space).

          Actually the fact that they are running BSD + Mach [the XNU components] in the same addreess space is a speed optimization to reduce context switching for every message from BSD to Mach. This isn't a cause of slowness but a reduction. Can you imagine how bad it would have been if they hadn't done this? This is documented on Apple's website in Kernel programming so I am not just making it up. Its in the section where they clarify that XNU itself is not a proper microkernel.

          Apple didn't just pick up the Mach kernel and used it, they improved it a lot and one of the things they did was to rip out all that message passing stuff, while still retaining the modular design of the kernel.

          The message passing stuff still exists and is still useful [while it may not be used in the kernel space... I haven't verified this yet.] Walking through the source of CFMessagePort stuff shows you that it calls mach_msg a lot actually. It's also super fast due to out-of-line memory transfers etc.
          • Actually the fact that they are running BSD + Mach [the XNU components] in the same address space is a speed optimization to reduce context switching for every message from BSD to Mach. This isn't a cause of slowness but a reduction.
            I never claimed this slowed things down, in fact I said:
            It's quite possible that the Darwin kernel is slower than that of the other BSD's, but that won't be due to its message passing microarchitecture. The reason is that the Darwin kernel runs in one address space (even both the Mach and BSD personalities run the same address space).
            Now that I read that again, I see how you could interpret it different from what I meant. I wanted to say that although maybe the Darwin kernel is slower than other BSD kernels, message passing [in the kernel] won't be the cause of that, since the whole kernel now runs in one address space (even the Mach and BSD personalities, so even for communication between those two you don't need messages).
            The message passing stuff still exists and is still useful [while it may not be used in the kernel space... I haven't verified this yet.]
            Yes, I meant they removed it for in-kernel communication. It's indeed possible that it's still used here and there for in-kernel stuff, but the whole communication architecture of the kernel doesn't completely rely on it anymore as in the original Mach. I agree this wasn't really clear from my original message.
    • Darwin is a BSD

      FreeBSD and OpenBSD probably better on x86 though.

    • Darwin currently has better threading (read: true kernel level threading) in SMP machines than any of the other stable releases of BSD do. But I'm not sure if that's available on Darwin x86 or if it's only ppc. I'm going to guess the latter.

      -JD-
      (waiting for KSEs to be finished . . .)
  • by YetAnotherName ( 168064 ) on Wednesday February 19, 2003 @08:58AM (#5334007) Homepage
    Hopefully I can use my old PC box as a server with this

    And if that doesn't work, you might want to take a look at FreeBSD [freebsd.org], Linux [linux.org], NetBSD [netbsd.org], amongst others. I understand they're fairly popular.
    • by Anonymous Coward
      I think, that may be the problem.

      I'd rather suggest Plan 9.
    • by giminy ( 94188 )
      I understand they're fairly popular.

      Right, but a tiny shred of security through obscurity never hurts. I would bet that clueless script kiddiez trying out their latest h4cker software wouldn't be as successful against yet another unix flavor (system calls won't work exactly the same under Darwin as they do under the other *bsds). Kiddiez probably won't bother learning darwin internals just to crack .000001% of the web servers out there. I know folks that run linux on obscure hardware for the same reason...not much risk of worms, kiddiez, and the like.
      • Kiddies wouldn't learn them because most kiddies nowdays don't even fuck with *nix. Most skript kiddies don't bother hacking servers anymore anyway. Why hack a single well defended server when you can have backdoors on a hundred Windows PCs sitting on cable modems? Home boxes are easier to get access to (user error, trojans etc) and there's almost ZERO chance of getting caught. Sysadmins tend to be able to track people a lot better than grandma on RoadRunner.
        • lol.. you'd think. My Grandma is quicker on the uptake then half the Sysadmins I know... especially with every tenth person on earth holding an MCSE and getting trusted to run a server (or servers)... as if an MCSE is worth even the electricity it took me to write this on my laptop.
  • Perl (Score:3, Interesting)

    by Anonymous Coward on Wednesday February 19, 2003 @09:01AM (#5334016)
    Actually, I think it means that they are about to do a sensible thing and remove Perl from the base, just like FreeBSD has.
    • Re:Perl (Score:1, Insightful)

      by Anonymous Coward
      I sadly happen to agree. Tools that are upgraded independently of base OS release should not be tied to the OS. Case in point would be Solaris. Starting with Solaris 8, perl is part of basic OS. End results: a) It is compiled with Sun compiler, so it is damn near impossible to compile additional modules, as pretty few people have Sun cc installed (hint: Basic Sun CC costs ~1K USD). b) OS is tied to the idiosyncracies of perl 5.005, and Sun themselves recomment that you do not upgrade perl that is installed.

      The most sensible thing to do is compile a fresh copy of perl using the compiler of choice, and then install it into a different directory, and modify the system wide PATH.

      Arguably, FreeBSD learned from the complaints of the users, and detangled perl from the core OS. This way upgrading perl is a breeze, and only breaks things you install, not the core OS.

      Maybe it's time for more distributions/OSes to either stop shipping perl by default, or at least make sure that nothing depends on spcifics of a perl version, so worry-free upgrading is possible?
      • The most sensible thing to do is compile a fresh copy of perl using the compiler of choice, and then install it into a different directory, and modify the system wide PATH.

        Basically what I do, but I install perl from here. [sunfreeware.com] They have versions compiled for older Solaris versions too, and everything's in Sun's pkg format, so it's real easy to manage.
    • Not likely. Otherwise they wouldn't have ADDED python recently.

      IMHO, Apple should adopt fink.
  • by snowtigger ( 204757 ) on Wednesday February 19, 2003 @09:36AM (#5334176) Homepage
    Is the latest kernel included ? The one included with 10.2.4 is the following:

    uname -a
    Darwin computername.local. 6.4 Darwin Kernel Version 6.4: Wed Jan 29 18:50:42 PST 2003; root:xnu/xnu-344.26.obj~1/RELEASE_PPC Power Macintosh powerpc

    However, the darwin kernel you download from Apple is only version 6.0. Does anyone know where to fetch the latest kernel ?
  • by Anonymous Coward
    The new and improved Darwin is expected to make evolution proceed much more smoothly. Mass extinctions will be less upsetting to surviving species. Individuals without an advantageous mutation will tend to enjoy life longer before being eaten. Sudden changes will be avoided and will instead occur slowly enough to be studied.
  • by acomj ( 20611 ) on Wednesday February 19, 2003 @10:35AM (#5334538) Homepage
    I downloaded and built perl for OSX. Perl Version 5.8.? built without a hitch.


    Now you don't even need to build perl yourself. Get Fink [sourceforge.net] Macos X version of Apt-get and get a perl binary. (I'm pretty sure one is available). Fink is a great tool for keeping all the gnu/opensource software up to date.

    • by pi radians ( 170660 ) on Wednesday February 19, 2003 @10:58AM (#5334691)
      Or if you want to forget all about fink you can take an even easier route [apple.com].
      • While we can debate whether double-clicking a GUI installer or "sudo apt-get install perl" is easier (they are both simple, so wahoo for OS X), I think it is safe to assume that the majority of perl users who want/need 5.8 are also Fink users. The "Conflicts have been reported if you currently have Fink installed on your system." line does make me worry about the kind of damage this may do, so I think it is best that people use the fink installation for now.
    • There is one wierdness.

      Due to the HFS filesystem not being case-sensitive if you install libwww-perl (which you will probably do when upgrading to 5.8) then it puts HEAD (a tool for manipulating http headers) in /usr/bin which stomps all over the familiar head.

      One to watch out for.
    • For philosophical reasons that I don't entirely agree with, the Fink developers have specifically *not* provided a Perl package in Fink. I just ran a "fink list perl" and this hasn't changed.

      Basically, they don't want to replace anything that is already provided by the system, and since so much of OSX depends on having that 5.6.0 version of Perl, they refuse to put a sanctioned Fink version under theie /sw tree. Of course, this doesn't explain why there are Fink packages for Ruby (part of Jaguar), Python (part of Jaguar, also 10.1?), Apache (part of the Public Beta, if not even earlier), or Grep (older than dirt :-) ...but not Perl.

      There's a logic to it, I just don't quite agree with it. In any case, the important thing is that there is not a binary version of Perl available from the Fink project. The closest you're going to get is that, if you read the archives of the Fink-users mailing list, there has been non-official package descriptions that you can add to /sw/fink/dists/local/ in order to have your own custom Perl installed by the normal Fink tools. But this isn't & probably never will be something you can get directly from the Fink project itself -- you have to dig for it.

      • Actually that is not the reason perl isn't in Fink, it's because we haven't found a good way to provide it without screwing things up for people that have already built modules against 5.6.

        A couple of people have proposed solutions, but no one has yet had enough time or inclination to come up with a solution that has a halfway feasible upgrade path.

        It is true that perl is not yet in Fink, however.
        • Ahh, I misunderstood. I thought that Ken Williams had a working Perl package that hadn't been officially adopted by the project, but I haven't really been keeping up with the mailing lists so I probably missed whatever negative side effects come up from his (or anyone else's) stab at the problem.

          In any case, if Darwin is getting an upgrade to 5.8.0, then maybe Jaguar's successor (Panther, was it?) will as well, and the whole debate can become moot. Or at least, until 5.8.1 comes along... :-)

          • There is a working package -- the problem is not with perl itself, but what our upgrade path will be for all of the binary perl modules Fink handles. Making a perl package is the easy part. =)

            It looks like one of the core Fink maintainers is working on a 5.6.1 package for now (that will at least be easier, procedure-wise, since it's binary-compatible with 5.6.0) as a stop-gap that will let us transition easier, and give people a considerably less buggy perl than we've got now. Long term it's still undecided how we'll handle it. Hopefully Apple will maybe put out 5.8 with 10.3 or something, and then it will just be a regular part of the 10.3 transition Fink will invariably have to go through.

            There's been some unofficial discussion among Darwin folks about waiting for 5.8.1 and then looking into a new perl release, but I don't know how that will get affected by other deadlines and such (or if the people I talked to are even the decision-makers on the issue, for that matter).

            [crosses fingers]
  • What's the point? (Score:1, Redundant)

    by sahmed ( 254826 )
    I fail to understand what the point of the OpenDarwin project is. While some apple opensource projects are cool, like the Darwin streaming server, what exactly is the purpose of the Darwin OS. People use Mac OSX for the interface. Without that, what does Darwin provide that can't be had from Linux, FreeBSD or OpenBSD?

    • by TitanBL ( 637189 )
      I think you are missing the point. Darwin is not about competing with Linux/FreeBSD/OpenBSD... It is about Apple being able to port OS X to x86 if they wanted. I know there is tons of controversy over whether or not this will happen, but it is a possibility. This would not be hard to do either - as long as they keep Darwin updated. Dell selling systems with either OS X or XP pre-installed? Ha, unlikely, but Darwin is what makes it unlikely instead of impossible.
  • Hopefully I can use my old PC box as a server with this...

    Or hopefully you could use your old PC box as a server with any of these relatively new operating systems as well: FreeBSD [freebsd.org], NetBSD [netbsd.org], Debian [debian.org] =P

  • It seems to mention old-world G3 systems as being kinda flaky. Since darwin is open, I wonder if anyone has tried to port it to other old-world pci machines? I personally would love to put it on my older PowerMac 6360 (which doesn't work with XPostFacto)and use fink and other things on it. Sure linux works on it, but it would at least be nice to have this.
  • Why should darwin get a front-page story for a bug-fix release? I mean come-on... Why not have a front-page story everytime Microsoft releases a service pack?

    Darwin is decidely not Open Source per-se, due to the restricitve license, and certainly doesn't have much market share. Come on, was it THAT slow of a news day?
    • Darwin is licensed under the "Apple Public Source License Ver. 1.2", which is on the list of approved licences [opensource.org] at opensource.org.
      • Does this sound like a good license to you?

        2.1 You may use, reproduce, display, perform, modify and distribute Original Code, with or without Modifications,
        solely for Your internal research and development and/or Personal Use, [...]


        IMHO, it's no better than Microsoft's Open Source license, except that you are not required to pay for access up-front.
        • Does this sound like a good license to you?

          Wow, you do a fantastic job of taking text completely out of context. Try reading and understanding the entire licence next time. Section 2.2 clearly indicates that you may publicly deploy your code so long as the source is also made available.

          Before anyone falls for nonsense like what was posted above, I would encourage you to read the licence yourself [apple.com].

          The APSL is an open source licence. A major difference between it and a BSD-style licence is that you have to make your changes publicly available if you distribute binaries. But hey, there are lots of licences like that... the GPL for instance.
  • by tm2b ( 42473 )
    OK, this is tangential but relevent.

    Is it possible to take an OpenDarwin install and put the closed source Mac OS X on top of it? I'd love to be able to play with the stuff underneath my Mac OS X install, but don't care to bother if I won't be able to run the pretty Quartz stuff on top of it.

    Thanks...
  • Is there any real advantage to be had by running darwin on a pc than linux or one of the various bsd's?

"If it ain't broke, don't fix it." - Bert Lantz

Working...