Monday, June 29, 2009

Fedora 11: Why force beta versions of Firefox and Thunderbird on users?

Another thing I really dislike about Fedora 11 is the decision to replace the stable versions of Firefox 3 and Thunderbird 2 present in Fedora 10 with beta versions of Firefox 3.5 and Thunderbird 3 in Fedora 11. I'm certainly not the only one who doesn't like it.

This statement (in bold) features prominently in the Thunderbird 3 Beta 2 release notes:
Please do not use Thunderbird 3 Beta 2 in a production environment.
Yet the FESCo went ahead and approved putting the beta in the full release (this is not Rawhide we're talking about).

I haven't had any trouble (yet) with Thunderbird 3b2, but I'm already frustrated after only two days experience with Firefox 3.5 beta 4: page loading will occasionally randomly hang for no obvious reason, in a few cases so badly that I've even been forced to kill -9 the browser. And its only been two days!

Of course, criticism of the decision to put betas in the official distribution generates snarky comments from some people (the full thread is worth reading):
2009/5/11 Stephen Gallagher :
> OK, first off, why in $DEITY's name are we including Firefox 3.5b4 and
> Thunderbird 3.0b2 in Fedora 11?

These were planned features waaaaay back.

http://fedoraproject.org/wiki/Features/Thunderbird_3
http://fedoraproject.org/wiki/Features/Firefox_3.1

I don't recall you raising your objection at the time. Both have had
considerable review by FESCO and others so please don't complain about
this so late in the day.

--
Christopher Brown
There are some people think that being cutting edge is synonymous with including beta beta versions of software in official OS releases (e.g. see the /bin/bash blog's overly glowing preview of Fedora 11 written before its official release), but I am not one of them.

Betas are fine in rawhide versions, but only if there is a real possibility of the full non-beta version being available in time for the full Fedora release, and the ability to revert to a older stable version if the beta is still beta - yet these are the contingency plans presented to and accepted by the Fedora FESCo:

Thunderbird 3:
Contingency Plan
There is no turning back.

Firefox 3.5:
Contingency Plan
There is no turning back.

Ah well, I'm sure its just as bad over in Ubuntu or Gentoo land...

Friday, June 26, 2009

Fedora 10 -> Fedora 11 upgrade problems

After the last debacle [1, 2] associated with trying a yum upgrade from Fedora 9 to Fedora 10 on my x86_64 Opteron workstation I was sure that this time would be different. I dutifully downloaded and burned a x86_64 installation disk for my Opteron and a i686 for my old home PC.

Neither upgrade worked properly.

I had not run yum update on my home Fedora 10 machine since Fedora 11 was released on June 9 2009. I attempted the DVD upgrade on June 19, left it happily (if slowly) updating the ~1200 packages it wanted to update, only the return to a fatal error message regarding an unhandled exception. On reboot a single Fedora 11 kernel was available which started booting but failed when trying to go to runlevel 5. Reading the Common F11 bugs page indicated that my nvidia AGP card might be the problem, so modifying the kernel boot options as suggested allowed me to boot successfully. A large "yum update" (1.2 GB) was then necessary, but I finally had a working system.

For the Opteron I made sure my Fedora 10 installation was fully updated on the morning of 23rd June, and just before leaving working in the evening I stuck the DVD in the drive, hit the upgrade option when it appeared and left it running overnight. When I returned the upgrade claimed to have completed itself successfully and told me to reboot.

On rebooting grub went straight to a empty command line, without the usual boot menu. Clearly the grub-install that is run every time you update the kernel had not run successfully. As I know /boot is the first partition on my first hard drive I can still find the kernel and boot by doing the following on the grub command line:

root (hd0,0)
kernel /vmlin[hit tab] [select appropriate file] [return]
initrd /initrd[hit tab] [select appropriate file] [return]
boot

I did not use the standard Fedora kernel options "rhgb quiet" as I wanted to watch the services start up to see if there were any problems. Indeed, once the kernel started booting I saw that a variety of services where failing to start, complaining of shared library problems. A classic sign of a incomplete upgrade. Great!

In fact the boot process stalled completely, so I resorted to using the Fedora 11 disk in rescue mode. chrooting into the system once it had booted.

I checked that /boot/grub/grub.conf looked sensible, ran "grub-install /dev/sda" fix the grub problem, and then attempted "yum list updates", only to find that yum wouldn't run as python complained that it could not find the yum module.

"rpm -qa | grep yum" revealed that yum was still a Fedora 10 version, version 3.23. Mounting the Fedora 11 disk (mount -t iso9660 /dev/scd0 /media) revealed that the yum version on the Fedora 11 install disk is 3.22, so clearly the upgrade had failed to update yum because the recently updated Fedora 10 version had a higher version number than the Fedora 11 disk created only a few weeks before! In fact a large number of packages had not been updated to Fedora 11. Luckily rpm had been updated (if rpm was not working I'd have been forced to do a full system restore). Running

rpm -Uvh /media/Packages/yum* --oldpackage

successfully updated yum to the Fedora 11 version, at which point I could run "yum update" and start the process of getting a truly upgrading system underway.

With hindsight my mistake was updating my Fedora 10 system after Fedora 11 had been released. When doing yum upgrades it is a good idea to have your system as closely matching the new version of Fedora as possible, but this appears not to be the case for a DVD-based upgrade.

I'm still surprised that the DVD-based Fedora upgrade doesn't think to correct for version mismatches - you'd think it'd be logical for any f11 package to automatically obsolete a f10 package, even if the version numbers of the f10 package are higher. Or the upgrade could simple run rpm with the "--oldpackage" command line option.

Overall I have little satisfaction with the upgrading process under recent versions of Fedora. Web-based yum upgrades used to work very well, at least between versions ~6 and 8, but with Fedora 9 -> 10 and now with Fedora 10 -> 11 neither web-based or disk based upgrades has worked without significant problems.

Admittedly I've also experienced occasional severe problems with upgrades between different versions of Ubuntu when I was experimenting with it, so this is not a problem unique to Fedora.

The alternative - moving to a long-lifespan distribution such as RHEL or a free clone of it like Scientific Linux - simply replaces upgrade problems with equally severe out-of-date software problems (a friend who relies of the department's sysadmins to maintain his Scientific Linux distribution has had terrible problems with being stuck with old buggy versions of important software that require major version changes to fix, which the standard updates in RHEL/SL don't often do).

The only pro-active solution I can see is to become more involved with testing process on Fedora, and to have a dedicated test machine that I can easily revert to its original state when upgrade tests fail badly.

Missing printers with Firefox 3 and linux.

The Problem: All printing options except "Print to File" have disappeared from the print dialog box in Firefox 3 under Linux. Yet inspection of the print configuration options in about:config reveals no obvious changes and furthermore values related to the expected printers are present.

Crude Fix: Add the following line in /etc/gtk-2.0/gtkrc

gtk-print-backends = "lpr,file"

This will give access to very minimals command line interface to lpr, which means you must know the printer names and options you wish to invoke. Another fine example of of newer Linux software sacrificing core functionality for superficial improvements in other areas.

[From my "Random Unix and Linux tips and tricks" page]

Friday, June 19, 2009

Friday, June 12, 2009

Who knew that echidnas were so interesting?


The NYT has a nice article by Natalie Angier on the long-beaked echidna, Zaglossus bartoni.

You may be forgiven for considering one of the three remaining groups of egg-laying mammals as "primitive", yet they're anything but.
  • They lay eggs but feed the babies ("puggles") with an iron-enriched pinkish milk that emerges from chest glands rather than teats.
  • They have multiple sex chromosomes, not just the X and Y chromosomes found in placental mammals.
  • They have a bird/reptile-like cloaca through which excretion, sex and egg-laying is performed...
  • ...and male echidnas extrude their four-headed penis through this cloacal opening.
  • They have long lifespans of up to 45 years in the wild.



Sadly these fascinating and poorly-understood animals are endangered.

More long-beaked echidna information can be found at animalinfo.org. (I'm note sure why the Latin name of the species seems to be different on the Animal Info website.)

Thursday, June 4, 2009

Leon Kass

If the name Leon Kass means anything to you, and you can master your repugnance, then read these articles:

Tough Love for the Humanities, by Serena Golden, 2009, Inside Higher Ed (News).

Kass Backwards, by Scott McLemee, 2009, Inside Higher Ed (Views).

Which amusing prompts various right-leaning crotchety academics to come out complaining how nasty, left-wing, and authoritarian academia is, and also to demonstrate how little they understand when they claim people have not understood Kass's "Wisdom Of Repugnance".

Reason as Our Guide, Elizabeth Blackburn & Janet Rowley, 2004, PLoS Biology 2(4): e116. doi:10.1371/journal.pbio.0020116.

Clarifying The President's Council's Clarification of the Obama Stem Cell Policy, Insoo Hyun, Bioethics Forum (thehastingscenter.org), 2009.

Wednesday, June 3, 2009

Calling C++ from Fortran 90

Calling Fortran 90 from C++: not too terribly difficult although character strings are a pain.

Calling C++ from Fortran 90: Rather more complicated if you're not going to use pre-written interface-generating software. Best summary of the information you'll need I've found so far is this conference proceeding by Wang et al (2005), see also their ppt presentation.

Yang Wang, Raghurama Reddy, Roberto Gomez, Junwoo Lim, Sergiu Sanielevici, Jaideep Ray, James Sutherland5and Jackie Chen, 2005, "A General Approach to Creating Fortran Interface for C++ Application Libraries", in Current Trends in High Performance Computing and Its Applications, (Springer Berlin Heidelberg), 145-154, DOI 10.1007/3-540-27912-1_14