Slashdot Mirror


Apple's Mac OS X Update Breaks Perl

mir writes "It looks like if you use CPAN to install modules, Apple's latest security update might just have broken your Perl. According to Tatsuhiko Miyagawa 'The Security Update brings (old) IO.bundle with version 1.22 but your IO.pm has been updated to the latest 1.23 on CPAN shell. (But hey, 1.23 was released in 2006...Why do you bring that ancient version back, Apple!?)'."

62 of 264 comments (clear)

  1. Apple by Anonymous Coward · · Score: 3, Insightful

    "It just works"

    1. Re:Apple by telchine · · Score: 5, Funny

      Some would argue that Perl has been broken for a long time before Apple started meddling!

    2. Re:Apple by ThePhilips · · Score: 3, Informative

      This is not a first Apple's blopper. Any OS vendor might have those.

      The question is how long would it take for Apple to fix that. In the blog post linked Fedora Perl issues actually took about year to deliver fix for RHEL.

      While compiling and using your own build of Perl (or using Fink) on Mac OS X is absolutely OK, under RHEL that might easily screw up your RH support contract...

      --
      All hope abandon ye who enter here.
    3. Re:Apple by Gadget_Guy · · Score: 5, Funny

      Oh, I see. I was under the impression that the phrase "It just works" was a synonym for something like "It simply works". Apparently it is a synonym for "It barely works".

      OK, that was a bit unfair. Every OS gets the occasional problem when doing updates. Assuming that there is a forthcoming fix in the near future, there is no need to obsess about it.

    4. Re:Apple by icannotthinkofaname · · Score: 2, Funny

      Oh, I see. I was under the impression that the phrase "It just works" was a synonym for something like "It simply works". Apparently it is a synonym for "It barely works".

      I thought "It barely works" is M$ Windows. Or is there less difference between the companies than one would initially guess?

      --
      Let q be a radix > 1. I am in ur base-q, killing 10 d00ds.
    5. Re:Apple by emm-tee · · Score: 2, Informative

      Oh, I see. I was under the impression that the phrase "It just works" was a synonym for something like "It simply works". Apparently it is a synonym for "It barely works".

      OK, that was a bit unfair. Every OS gets the occasional problem when doing updates. Assuming that there is a forthcoming fix in the near future, there is no need to obsess about it.

      That is rather unfair -

      The problem only affects certain "knowledgeable" users who changed certain operating system files.

      An operating system update can hardly be expected to work-around all the hacks people have made to the operating system's own files.

      If different versions of the files were required by the user, they should have been installed in a separate location.

    6. Re:Apple by ThePhilips · · Score: 2, Interesting

      It's unfortunate that the package was broken, though compiling your own version will not void any service contracts.

      They can't void service contract.

      Disclaimer: I never used RHEL, only talked in past on several occasions with frustrated users. (Frustration mainly coming from the fact that they expected more freedom from RHEL, yet in the end got pretty much the same deal (albeit cheaper) as from proprietary *nix vendors.)

      I was under impression that if RH support finds some custom build application, they would first ask to remove it (or restore system from backup) before they would start actually helping your with problem. At least I know of one such case with custom build Apache server.

      --
      All hope abandon ye who enter here.
    7. Re:Apple by jbolden · · Score: 2, Informative

      You can use the darwin ports version and get the latest perl. Apple supports a stable Perl in line with their mainstream users and an up to the minute Perl for their development community.

    8. Re:Apple by SanityInAnarchy · · Score: 2, Informative

      Who would use OS X for serious Perl work anyway?

      I suppose, people who prefer OS X to Linux. In fact, the Ruby community seems to be using OS X quite a lot, lately.

      --
      Don't thank God, thank a doctor!
    9. Re:Apple by trouser · · Score: 2, Insightful

      Hey, does anybody remember that awesome time long ago when Apple first included Python with OSX? For awhile there the version installed was Python 2.3. Not 2.3.x like the versions that actually exist and everybody else uses. Just Python 2.3. It was like a special Apple only version of Python.

      My favourite feature was that it didn't pass all the tests in the test suite, like it was so special that they just knew they didn't have to test their special Apple build of Python. In particular the pickle module was hosed which maybe didn't bother all that many people but if you happened to be working on something in Python on a Mac using that build of Python all those years ago then maybe, just briefly, you sensed the reality distortion field weakening and maybe you even uttered a few harsh words about Apple under your breath.

      That was the best Python ever.

      And now you can use special Apple Perl. Apple is just so awesome.

      --
      Now wash your hands.
    10. Re:Apple by moof1138 · · Score: 2, Interesting

      not for Perl.

      It's not cheap but you can get support for Perl:

      http://www.apple.com/support/products/macosxserver_sw_supt.html

      I've asked them Perl questions and they've always worked on the questions me (and gotten me a good answer).

      --

      Hyperbole is the worst thing ever.
  2. Fighting over the same file by Ed+Avis · · Score: 5, Insightful

    Why are Apple's updater and Perl's CPAN shell both trying to update the same file? If the file's there as part of the Apple OS then only the OS's package manager should touch it, and Perl should leave it alone (installing its own version in /usr/local if necessary). It's exactly the same on Linux distributions: the CPAN shell doesn't try to mess with the system perl which is updated using rpm or dpkg.

    --
    -- Ed Avis ed@membled.com
    1. Re:Fighting over the same file by warren.oates · · Score: 5, Informative

      We don't exactly have "package managers" in OS X. The BSD side of OS X is only barely "maintained" at all, and then in some truly obscure and incoherent bubble-headed Cupertino fashion. Anything you really want to actually work with, you have to maintain yourself: PHP, Apache, rsync, ffmpeg, Perl -- all the seriously useful stuff like that you put into /usr/local and set your $PATH accordingly. You _cannot_ trust Apple not to break things.

      --
      Doh.
    2. Re:Fighting over the same file by 99BottlesOfBeerInMyF · · Score: 5, Insightful

      We don't exactly have "package managers" in OS X.

      Sure we do, a bunch of them. That's kind of the problem.

      Anything you really want to actually work with, you have to maintain yourself

      That's a bit of an overstatement. Anything you want a cutting edge version of you'd do well to install and maintain yourself outside of Apple's update path, but for most people just using the Apple installed versions is fine.

    3. Re:Fighting over the same file by pegdhcp · · Score: 4, Informative

      Why are Apple's updater and Perl's CPAN shell both trying to update the same file?

      Probably this is the real point, as mentioned in the TFA:

      "This is another reason why you shouldn't use Perl that comes from vendors," Miyagawa says. "Apple isn't any different from Fedora on this!"

      I might add Mandriva, SuSe and most others. Distribution managers want it just run and be stable for users who do not want to know what is going on inside. If there is a need for messing with details, originally packaged software by developer is the best alternative...

    4. Re:Fighting over the same file by Alrescha · · Score: 5, Insightful

      "Why are Apple's updater and Perl's CPAN shell both trying to update the same file? If the file's there as part of the Apple OS then only the OS's package manager should touch it, and Perl should leave it alone (installing its own version in /usr/local if necessary)."

      Why must we learn these lessons again and again? Back in the beginning of time (1983), we learned the following:

      Rule #1: Never change *anything* that [vendor] sends you

      Rule #2: Always keep your stuff separate from [vendor]

      (thank you Melinda)

      --
      ...bringing you cynical quips since 1998
    5. Re:Fighting over the same file by morgan_greywolf · · Score: 2, Interesting

      Some shops (mainly design studios, video studios, sound studios, etc., aside from the education market), use Macs almost exclusively and if you're going for a single-vendor solution to improve stability, supportability, etc., then that's why you'd want OS X on your server.

      Personally, I think single-vendor solutions tend to trade a lack of flexibility, functionality and performance to get that stability, hence, I tend to favor 'best-of-breed' approaches, but to each his own.

    6. Re:Fighting over the same file by Ed+Avis · · Score: 3, Insightful

      On a modern Linux distribution, it's actually okay to modify stuff that the vendor sends you, provided you do it using the same infrastructure as the vendor. For example, on an RPM-based system, you can easily build and install your own local RPM packages, with dependencies and all that, and they integrate nicely with the vendor-supplied ones. I wanted a newer version of the Perl LWP library than was in Fedora 10, so I grabbed the source RPM, updated it and built my own RPM package which I installed. Fedora then won't overwrite this unless they push out an even newer LWP release. Exactly the same can be done with dpkg-based systems.

      If your vendor is incompetent, or you are paranoid and don't trust them, or some mixture of the two, then there may still be political reasons not to alter the vendor packages and instead put duplicate copies in a different directory. But nowadays there aren't always technical reasons why you shouldn't.

      --
      -- Ed Avis ed@membled.com
    7. Re:Fighting over the same file by 99BottlesOfBeerInMyF · · Score: 3, Informative

      Serious question. When they could use Debian instead, and given these problems, why does anyone use Apple servers?

      If you're a sysadmin, I imagine it is because you need one of the few bits Apple does better right now (like CalDAV) or some Apple specific technology to support Mac clients (Spotlight Server).

      If you're not a sysadmin, because you're looking for an easy to admin server that you don't need any real skills to get configured and keep running.

    8. Re:Fighting over the same file by bcrowell · · Score: 2, Insightful

      "This is another reason why you shouldn't use Perl that comes from vendors," Miyagawa says. "Apple isn't any different from Fedora on this!"

      I might add Mandriva, SuSe and most others. Distribution managers want it just run and be stable for users who do not want to know what is going on inside. If there is a need for messing with details, originally packaged software by developer is the best alternative...

      I don't think the situations on Linux and MacOS are as similar as you're making them out to be. Every Linux distro explicitly tries to support as many CPAN modules as possible, and every Linux distro has as one of its main goals making it easy in general for users to install open-source software. These are just not high priorities for Apple. You want to use OSS on MacOS? Sure, you can try to get it from Apple, you can try to get it via Fink, you can try to get it via MacPorts, or, in the case of a perl module, you can try to get it via CPAN. It's a mess, especially considering that option #1 has very little coverage, and options #2-4 are not supported by Apple.

      Sure, this type of conflict can occur on Linux, but it's much easier to avoid. Basically, whenever I need a CPAN module I check whether there's an Ubuntu package for it. 99% of the time there is, and I install it via apt. The other 1% of the time, I install it via CPAN instead. No conflicts, because there's no overlap between the two sets.

    9. Re:Fighting over the same file by Alrescha · · Score: 2, Insightful

      "On a modern Linux distribution, it's actually okay to modify stuff that the vendor sends you"

      Let me fix that for you. "On Linux, there's an attitude that it's ok to modify stuff the vendor sends you."

      Good luck with that.

      (I'm on a Mac, and I download ported-from-linux, OS X-installer packaged stuff from time to time, and more often than not it wants to install into /usr or /usr/bin with no option to go anywhere else (asterisk comes to mind). In my world, that means it doesn't get installed. Period. Yea, maybe I'll hack it up to install into /usr/local, but I generally don't have the time or inclination to fix broken stuff)

      A.

      --
      ...bringing you cynical quips since 1998
  3. Why does this "break" anything? by mi · · Score: 4, Insightful

    The Security Update brings (old) IO.bundle with version 1.22 but your IO.pm has been updated to the latest 1.23 on CPAN shell. (But hey, 1.23 was released in 2006...Why do you bring that ancient version back, Apple!?)'."

    The real question is (or ought to be), why is the 1-digit difference in the minor version number break things? If the 1.22 -> 1.23 change was important (as in interface-changing or something), shouldn't the new version have been named 1.3 or even 2.0?

    --
    In Soviet Washington the swamp drains you.
    1. Re:Why does this "break" anything? by Anonymous Coward · · Score: 5, Informative

      It's an XS module: They include components that are written in a language other than Perl, and have to be compiled against perl.

      Which means that if the perl binary they are pointing to changes, they break. The code itself is fine: You just need to recompile.

      Apple helpfully recompiled all the ones they shipped, so they would work. The only problem is for people who updated the modules that Apple shipped: They now have a miss-match between the Perl code that is running (that they updated) and the code that is compiled (that Apple shipped).

      Basically, you've got a library header and the library object. If the header and the object don't match exactly, you've got problems. No interface was changed, no major important pieces were changed, but now you've got 1.23 headers and a 1.22 object. Change one or the other, and everything will be fine again.

    2. Re:Why does this "break" anything? by ekidder · · Score: 2, Informative

      Well, 1.3 would be going backwards. 22 > 3 after all. Perl module versions can be a bit confusing. You'll find there are a lot of modules that break older versions.

    3. Re:Why does this "break" anything? by PerlDudeXL · · Score: 5, Informative

      This is a classic problem with most *nix distribution packages and CPAN usage. This is not Apple specific.

    4. Re:Why does this "break" anything? by fl!ptop · · Score: 3, Informative

      shouldn't the new version have been named 1.3 or even 2.0?

      from the IO.pm changelog:

      IO 1.23 -- Sat Mar 25 19:28:28 CST 2006

      • Adjust the regression tests to use t/test.pl when $ENV{PERL_CORE} is defined
      • Reduce number of calls to getpeername
      • Call qualify on format name passed to format_write. Bug reported by Johan Vromans
      • Reduce calls to getprotobyname/number. Patch from Gisle Aas
      • Remove references to file TEST used in core so appropriate tests are skipped during an install from CPAN
      • Add method say to IO::Handle
      • Performance improvement for IO::File::open
      • Don't warn about a directory being closed in the DESTROY

      looks to me like it's mostly bug fixes and optimization, and not a major rewrite (which would more likely warrant a major version change).

      --
      When you recognize love in another and realize how precious it is, everything else seems so insignificant.
  4. re: OS X and package management by King_TJ · · Score: 3, Informative

    Umm, what about Fink?

    http://www.finkproject.org/

  5. Re: OS X and package management by 1stvamp · · Score: 4, Informative

    Or MacPorts, formerly DarwinPorts: http://macports.org/

    --
    Wes
  6. Re:Apple: Breakin' a bunch of crap recently by elrous0 · · Score: 4, Funny

    All part of Apple's plan to ensure that no one can ever use a Mac for gaming.

    --
    SJW: Someone who has run out of real oppression, and has to fake it.
  7. Re:Apple: Breakin' a bunch of crap recently by Doctor_Jest · · Score: 2

    Right. Let's see... Quicktime still works but the Sims 2 doesn't. Quicktime doesn't seem to break anything else, so logically, it MUST be Apple's fault. I think the rest of the Quicktime users who aren't playing the Sims 2 would disagree with your placement of blame. :)

    --
    It's the Stay-Puft Marshmallow Man.
  8. Use CPAN? You deserve to lose by Jay+Maynard · · Score: 4, Informative

    CPAN is the closest thing to DLL hell on Unix systems. Modules are updated willy-nilly. No attempt is made to preserve compatibility between versions, or between modules and their dependencies. A company I used to work for had to totally abandon a large program because it was impossible to keep it working in the face of CPAN-driven upgrades, even if they did manage to get it installed the first time (by totally bypassing CPAN).

    --
    Disinfect the GNU General Public Virus!
    1. Re:Use CPAN? You deserve to lose by Anonymous Coward · · Score: 3, Insightful

      This is certainly a comment by someone who doesn't understand a single piece of Perl, and how Perl developers work.

      CPAN *is* Perl, if you take it out, Perl has little more value than any other modern VHLL (python, ruby etc).

      The problem is that if you're going to develop a large system, you need both a development methodology and a maintainance methodology, if you don't plan those, "You deserve to lose".

      In a modern environment, like Debian, you manage all your CPAN dependencies as debian packages, hopefully integrating them into the debian main archive (through the pkg-perl group). That way, it will be easier to keep them up-to-date both in Debian and obviously in your machine later, where you will be able to do just a apt-get dist-upgrade to have that done.

      daniel

    2. Re:Use CPAN? You deserve to lose by Anonymous Coward · · Score: 4, Informative

      Huh? The opposite is true. CPAN, if anything, is more akin to a Linux distribution's package repository.

      Would you say the same thing about, say, Debian's apt-get and friends?

      Chances are you wouldn't, but that's exactly what CPAN's like. You have to use it correctly, though, and chances are that if you had trouble with it, you weren't.

      (In particular, you should not blindly install updates all the time when there's no need, without even so much as testing them on non-production systems first. Again, consider following the trunk of any Linux distro, package-wise - would you expect things that aren't part of the distro to never break when libraries etc. are updated and new versions installed? Of course not.)

    3. Re:Use CPAN? You deserve to lose by fl!ptop · · Score: 3, Interesting

      CPAN is the closest thing to DLL hell on Unix systems

      while i prefer centos for my production systems and don't use osx, i recommend implementing a solution i've found to work well. first, disable any rpmforge repos on your production machine. second, install new cpan stuff on your development server. test, then install on the production machine (if it passes the tests).

      if you need a cpan module that's not available from the regular repositories, or from rpmforge, *never* install anything from cpan using make, make all, etc. always make an rpm using the makerpm.pl script, and install that instead. and never, ever install anything that's a Bundle::somepackage. build all the dependent packages by hand using makerpm.pl instead.

      i've found that these methods help cool the 'dll hell' on my production machine. i rarely have any problems. i can't comment on how well this would work w/ a debian-based system that doesn't use rpm, however. not sure what kind of package management osx uses, either.

      --
      When you recognize love in another and realize how precious it is, everything else seems so insignificant.
    4. Re:Use CPAN? You deserve to lose by mabinogi · · Score: 3, Interesting

      CPAN _was_ an excellent thing - in 1997.
      Now, the GP is exactly right - it's a mess.

      You absolutely need to install the latest perl before you use it - because the perl (or the modules installed with it) installed with your OS is always too old for any particular module you want to install, and even then you have a chance that the module you want is either broken, or depends on a currently broken module.

      CPAN is the heart of perl, but that doesn't mean it's perfect. It seriously needs fixing.

      --
      Advanced users are users too!
    5. Re:Use CPAN? You deserve to lose by mabinogi · · Score: 2, Insightful

      Would you say the same thing about, say, Debian's apt-get and friends?

      No, because they are done correctly.

      if CPAN is to be likened to apt, then it's like using Debian Experimental all the time with no option to switch to Unstable, Testing or Stable - or to switch to a particular numbered release and stay there, only getting bugfixes.
      It's latest bleeding mess or nothing.

      --
      Advanced users are users too!
    6. Re:Use CPAN? You deserve to lose by bcrowell · · Score: 2, Informative

      You absolutely need to install the latest perl before you use it - because the perl (or the modules installed with it) installed with your OS is always too old for any particular module you want to install

      I've been using perl for about 8 years, and I've never encountered any such problem. For example, I stayed with perl 5.8 for quite a long time before switching to 5.10, and I never had any problem getting CPAN modules to compile.

      and even then you have a chance that the module you want is either broken, or depends on a currently broken module.

      This isn't a problem with CPAN, it's a problem with the author or maintainer of that module. For instance, I made the mistake of writing an app that depended on Audio::Play and Audio::Data. Then when I switched my desktop machine from BSD to Linux, I found out that I couldn't get it to compile on Linux. I'm a little less naive now. If you check the CPAN bug reporting system, you'll see that there are several important bugs in these modules that are years old, and haven't been fixed. If you look at the reviews on CPAN, you'll see clear signs of trouble. If you go to the parent module's page on cpan, and click on Perl/Platform Version Matrix, you'll see that it fails its test suite on a lot of platforms, on a lot of versions of perl. None of this is a big secret. You just have to do a little bit of homework before you hitch your wagon to a particular CPAN module.

  9. Re:Apple: Breakin' a bunch of crap recently by Colonel+Korn · · Score: 5, Funny

    Right. Let's see... Quicktime still works but the Sims 2 doesn't. Quicktime doesn't seem to break anything else, so logically, it MUST be Apple's fault. I think the rest of the Quicktime users who aren't playing the Sims 2 would disagree with your placement of blame. :)

    Brainwashed much? You're basically implying that if I hit you in the head with a hammer and you're knocked out, but the hammer, nearby mailbox, and tree are unharmed, that proves that the hammer isn't to blame - your head is.

    --
    "I zero-index my hamsters" - Willtor (147206)
  10. Re: OS X and package management by Jay+Maynard · · Score: 2, Insightful

    I refuse to use both Fink and MacPorts because they insist on bringing in huge amounts of other stuff whenever I try to install anything. I'll build for myself from source first.

    --
    Disinfect the GNU General Public Virus!
  11. Scripting Languages not good for most applications by MrData · · Score: 3, Interesting

    In the flamebait but true category, this is further evidence why scripting languages are not suitable for most application development ... because they are much more brittle than a traditionally compiled application. True you can site examples of traditionally compiled applications breaking due to missing dependencies, in which (like with this Perl example) the underlying deployment platform is a fault, but this type of problem is much more common with scripting languages (Perl, PHP, Python, etc), and vastly harder to debug and defend against.

  12. Super bad for Servers by geekmansworld · · Score: 5, Informative

    As an XServe administrator, Apple's cryptic security updates are really starting to get on my nerves.

    You would expect that, since it is based on multiple open-source projects that are freely available, Apple would push compiled updates through Software Update to its OS X Server users. Instead, they wait so long to patch things (like Amavis or the BIND patch for Dan Kaminsky's DNS bug) that I just get frustrated and apply the patch myself. Then, when a Apple Software Update does come down the pipe, I have to consider if installing it will break my configuration and land me in hot water with my boss when he can't get his e-mail anymore.

    Apple needs to decide if they're going to regularly and consistently update the open-source software that their Server OS runs. If not, leave it alone and let the users apply and configure updates. This wishy-washy, middle-ground, Jobsy-come-lately approach is just an annoyance and an inconvenience.

    1. Re:Super bad for Servers by tbuddy23 · · Score: 2, Interesting

      If you don't look at every file or at least the general path of what you are installing then you deserve it. Fink, SuspiciousPackage and the like all are very good for this.
      If you need excessive amounts of PERL modules why aren't you using a generic *NIX server rather than OS X Server? The only compelling reasons I could use for using OS X Server is 1) Provide excellent AFP file services 2) You really love Mac OS X and want the whole barrage of services in the form of one mediocre server. I think Windows has an offering like that coming out soon in the form of Window Small Business Server 2008.

    2. Re:Super bad for Servers by ducomputergeek · · Score: 5, Interesting

      I love Apple laptops and desktops. Hate Xserve and I've found OSX-Server to be nothing to write home about. When I was an Apple Certified consultant, I saw a much higher than average failure rate with Xserve hardware. It got to the point to where we'd only deploy OSX-server on PowerMac/MacPro machines. I know some people love their OSX-server tools admin package. It is a pretty slick GUI. I will give them that. But really, I can do just about anything OSX-Server can on a default OSX install. And for the price, I can build reliable servers with FreeBSD a lot cheaper with the same functionality, and arugably even more functionality than OSX-Server.

      --
      "The problem with socialism is eventually you run out of other people's money" - Thatcher.
    3. Re:Super bad for Servers by fuzzyfuzzyfungus · · Score: 3, Insightful

      The question isn't Apple vs. Microsoft, it is Apple vs. other Unixlikes. Why run OSX server rather than Solaris, one of the BSDs, or linux?

  13. Re:Apple: Breakin' a bunch of crap recently by DJRumpy · · Score: 2, Informative

    Did you ever consider that Sims 2 may not have implemented Quicktime to Apples standard? Since nothing else appears to have broken, then it is also possible that Sims 2 has a poor or improperly coded implementation. As a designer, I'v done this myself a few times by not following the documentation.

  14. Re: OS X and package management by truthsearch · · Score: 2, Insightful

    Same here. I don't understand why I need the X11 sources compiled from fink just to get apache 2 and php.

  15. Re: OS X and package management by SuperIceBoy · · Score: 3, Interesting

    Same here. I don't understand why I need the X11 sources compiled from fink just to get apache 2 and php.

    Not sure about on Mac, but on FreeBSD I define WITHOUT_X11 so that it doesn't do that.

  16. Re:Progress! by morgan_greywolf · · Score: 3, Informative

    Not to pick nits too much here, but

    1) Apple stopped using 5.25" FDDs well before the 1990s. Every Mac that came with a floppy drive from their inception in 1984 came with a 3.5" FDD.

    2) You can always buy a third-party CRT if you want a CRT on your Mac, iMac excepted (obviously). Aside from that, having used expensive color-calibrated displays and printers and so forth with high-end color management, etc., I'll let you all in on a big secret: There's no such thing as true color matching. The laws of physics don't allow for it (light vs. pigment).

    3) By the time most need to replace the battery in your notebook, it's usually time to get a new notebook. ;)

    4) Another big secret: It's perfectly possible to write clear, self-documenting code in Perl. It's only the fact that Perl programmers seem to refuse to do this that allows Python to exist ;).

  17. Didn't break my Perl, did break Catalyst by Kostya · · Score: 3, Insightful

    The update reverted Scalar::Util, which disabled the weak reference stuff needed by a lot of Catalyst libs. I just re-installed it and it worked again.

    But on all my new machines, I just use a local lib instead of the system stuff. I don't need sudo access and then the whole lib gets backed up by Time Machine. If you just upgrade the system perl, you have to re-do it every time you restore from a Time Machine backup (it doesn't copy system stuff as near as I can tell).

    Also, as some have observed, CPAN is a bad idea. I say this as someone who got screwed when Catalyst went to 5.7100 (I was at 5.7015). When I did a restore to a new machine, CPAN got all the new Catalyst libs and all my customizations blew up spectacularly.

    If you are doing serious Perl development on your local Mac, use a local lib and do not rely on CPAN to automatically handle your dependencies. Install things by hand or create a (perl) script to handle the deps for you. That's what we had to do, as we needed to make sure the module version we used matched our production systems--where we do NOT use CPAN and where we upgrade manually and with careful thought.

    --
    "Doubt your doubts and believe your beliefs." -- Switchfoot, Ode to Chin
  18. Re: OS X and package management by TJamieson · · Score: 5, Informative

    With MacPorts you can provide a keyword before installing to see what options an install might have.

    So for instance, for apache2 you might type:
    port install apache2

    to install. Before doing this, try:
    port variants apache2

    This should produce a list. Hopefully X11 is in there (I can't verify right now). Anyway, find any options you want to enable or disable, and reform your install to look like this:
    port install apache2 +enable_option -disable_option

    This will usually let you strip away a goofy dep like X11 from programs that don't really need it.

    --
    For the last time, PIN Number and ATM Machine are redundancies!
  19. Easy fix: Stop changing Apple's files. by Trillan · · Score: 2, Insightful

    It's easy enough to install an up-to-date Perl in another location and use it instead of updating the Apple-placed Perl files and relying on them never changing.

    Disk space is cheap. If it might change, don't rely on it not changing.

  20. Re:Apple: Breakin' a bunch of crap recently by Tokerat · · Score: 4, Informative

    Quicktime is used on the Mac for much more than just showing a video - converting sound and image files from any format to any format (the reason my program can play AIFF, wav, MP3, AAC, etc is because Quicktime converts it to a stardard format for me). Therefore if the game is multiplatform like the Sims and all the sound effects are .wav files, Quicktime will probably be used as the standard API to convert them for playback.

    --
    CAn'T CompreHend SARcaSm?
  21. Hear Hear (for client, too)! by MisterSquid · · Score: 4, Informative

    Apple seems to have a separation between its left-brain UNIX underpinnings and its right-brain Quartz GUI.

    For example, with the last several Security Updates, which contain very little information about what all's rolled in, Apple modifies /etc/postfix/main.cf

    inet_interfaces = all

    to

    inet_interfaces = localhost.

    This effectively breaks all Internet-accessible postfix installs. Now, the question is why does Apple apply this to postfix installations explicitly enabled as Internet-accessible? I can't think of any good answer for this except as part of some other bass-ackwards security measures Apple applies in a schizophrenic attitude to the server functions of its UNIX-based client OS.

    For another example, the Aiport Extreme Base Station prior to firmware 7.3.1 had a version of DMZ host (default host in Apple bizarro-world) that worked flawlessly. In April 2007 or thereabouts, Apple rolls out firmware 7.3.1, since which default host is broken for only for BIND (UDP port 53) and all mail ports (587, 110. 995, etc) but works for WoW, BitTorrent, and all other ports. WTF?! If I set my router to designate one computer as the default/universal host, why is it still blocking certain ports that have to be opened using port mapping?

    This split-mind on UNIX vs. GUI seems to pervade Apple's mentality everywhere which is especially problematic to people like me that are not full-time developers but make extensive use of UNIX-layer services.

    Really stupid stuff, Apple. I wish you'd cut it out.

    --
    blog
  22. Re:Scripting Languages not good for most applicati by dodobh · · Score: 4, Informative

    No, this is a compiled language problem. The module is an XS module, and it has components written in C. The Perl update causes a mismatch between the library referenced by the user's compile and the system supplied one.

    Just another form of DLL hell.

    If this was a Pure Perl module, this issue would never have mattered. Scripting languages have the same problems as any compiled language when you break libraries.

    And if you are upgrading your base code in production without any form of testing, your code deserves to crash.

    --
    I can throw myself at the ground, and miss.
  23. Re:Scripting Languages not good for most applicati by shutdown+-p+now · · Score: 3, Insightful

    this type of problem is much more common with scripting languages

    I don't see how this follows in any way. Can you give some examples of why it would be more common for scripting languages? In this case, the compat problem is not with a Perl script, as I understand it - it's with a binary Perl extension that got linked against the wrong version of Perl library; so, really, it is rather an example of how brittle compiled stuff is...

  24. Re: OS X and package management by abigor · · Score: 2, Interesting

    You've got it backwards - Gentoo's system is ports-inspired, as they freely acknowledge. MacPorts is more or less the BSD ports system running on OS X.

    You can set environment variables like so:

    default_variants +ssl -X11 ...and so forth.

  25. Re:What about the CPAN command line tool? by chromatic · · Score: 2, Informative

    The cpan command is a thin wrapper around the CPAN module.

  26. Apple was right to break it! by Budenny · · Score: 2, Insightful

    "Why do you bring that ancient version back, Apple!?"

    You fail to grasp the essence of the situation. It is not your copy of OSX, it belongs to Apple. You did not buy it. You merely paid some money, and got a license to use it. Well, the same thing is true of the hardware - has to be in fact, because of course OSX and its hardware are seamlessly connected and integrated.

    So, what went wrong was that you did not get your copy of Perl from the app store. Your copy of Perl was not approved for use with the new version of OSX. This is your fault, not Apple's. You should have checked and got permission before you installed it. It is not like you were installing it on your own property, after all. If you go and plant a cabbage in someone else's garden without permission, don't be surprised if they spray it with weedkiller.

    Its exactly the same thing. Its completely weird how many people think they somehow bought a copy of the software, or bought a computer, and now they for some reason think they have the right to install whatever they want on it, and Apple has to somehow protect whatever silly thing they did to it.

    Idiots! Next thing, they will be wanting to buy retail copies of OSX and install them on hardware made by any Tom Dick or Harry.

  27. Only occurred if core system was modified by Killer+Eye · · Score: 3, Insightful

    This problem occurred only for people who updated their system's Perl distro via CPAN.

    A vendor is free to do what it wants in the part of the system it supports. This isn't new, it's been done for decades on Unix with the distinction between the /usr/local hierarchy (a.k.a. "your crap, not ours") and the rest of /usr (i.e. "our crap, not yours").

    People need to know that it's better to install customizations in /usr/local/lib/perl5, or even their home directory, than to fiddle with the vendor setup. This not only avoids vendor clobbering, but the separation is cleaner: mistakes are easier to contain and undo, you can easily test whether a problem is with your customizations or the vendor defaults, you don't necessarily need admin privileges, etc.

    --
    "Microsoft killed my company, I hold a personal grudge. I don't use Microsoft products and neither should you."-JWZ
  28. Comparing Apple's Release Cycle to MS by aztracker1 · · Score: 4, Insightful

    That's funny... since 2000, MS has had two releases you'd have to pay to upgrade to... How many has Apple had? more than two... As for being constrained to the release cycle most new software runs in XP still... how much new Mac software runs in less than 10.3? not much.

    I actually like OSX, it has a consistent UI on a Unix core. But your arguments only show your ignorance. For the record I like different aspects of a lot of OSes. There are even parts of Vista I like (mainly the restructuring of the user paths... though would rather have an "ALL" user back, opposed to the new location for global settings. I like that Linux has a FLOSS mindset, even if the zealots can't find a balance with commercial software.

    I don' like a lot of the more politically minded decisions MS and others have taken. I find it ironic that Linux fanbois will use Samba, but ignore Mono because of patent concerns. Zealots from every corner are wrong, and spread FUD, it's what they do... the truth is generally somewhere in the middle.

    -- happy Windows, Linux, BSD & Mac User

    --
    Michael J. Ryan - tracker1.info
    1. Re:Comparing Apple's Release Cycle to MS by falconwolf · · Score: 2, Informative

      That's funny... since 2000, MS has had two releases you'd have to pay to upgrade to... How many has Apple had? more than two...

      How much do those upgrades cost? The cheapest Best Buy sells is the Microsoft Windows Vista(TM) Home Premium Upgrade with Service Pack 1 - Windows for $130, the same as an Apple upgrade. And a Leopard family pack which allows Leopard to be installed on 5 Macs costs $200. - Microsoft Windows Vista(TM) Ultimate with Service Pack 1 cost $320 at Best Buy. Microsoft Windows Server 2003 Enterprise Edition w/SP1, with 25 clients costs more than $3000. Meanwhile Mac OS X Server v10.5.4 with a 10 client license cost $500.

      So yes Apple upgrades come more frequently, and who doesn't want frequent upgrades, however they cost less than Microsoft upgrades.

      Falcon

  29. Re:Apple: Breakin' a bunch of crap recently by MmmmAqua · · Score: 2, Insightful

    That doesn't really matter as much as how Sims 2 is using Quicktime. If they are sticking to the published API and an update broke the game, then, yeah, Apple screwed up. But if they are using an undocumented macro, function, or method, then Apple isn't at fault.

    FWIW, I have a few apps written against QTKit that have worked unmodified for some time now. So at least some of the API is stable. Who knows what arcane corners Aspyr is delving into, though?

    --
    Arr! The laws of physics be a harsh mistress!