Friday Jan 25, 2008

Solaris Application Programming

Darryl Gove's book, Solaris Application Programming, is out. Knowing Darryl, this is a must for anyone interested in building high quality applications with good performance. He covers all the tools, tips, and techniques, of which Solaris offers many. This goes right to the top of my book wish-list. Never mind that as a Sun employee I can get free access to the book electronically. I want paper I can touch and pages I can turn; they will surely be well thumbed through.


Friday Jan 04, 2008

more on 64-bit Linux

I've found good information by searching blogs, but never before had the information just come to me - in the form of comments on my blog. Thanks to everyone who offered advice! Mikael Gueck's fix sounds intriguing, but after blowing away one installation I'm hesitant to mess with the 64-bit libraries.

 Georgez is right that I'm not at all doing a feature to feature comparison of Solaris and Linux. I'm just trying to use my PC. And yes, my problems are mostly due to proprietary software.You guessed right that the VPN software is Cisco. I just hadn't wanted to single them out for criticism. It's their right to decide not to open source their software, and to decide which platforms to support and not to support. And yes, it was their decision not to support Solaris that moved me onto punchin, for which I'm grateful because I like it a lot better. I'll investigate vpnc to see if it's compatible with the VPN servers on the other end. I guess it ought to be if they're both implementations of a standard protocol (ipsec), but sometimes there's a gap between theory and practice.

I did try installing the non-Adobe flash (gnash) and the non-Sun Java plugin (Icedtea). Gnash plays youtube videos but the controls don't work; I have to close the tab or window to make it stop. I haven't made any Java applet work at all. I haven't looked yet inside Sun to see what the problem(s) are with providing 64-bit plugin support, and when I do I won't be able to write about it, assuming anything inside to be company confidential. But since Java is open source I have to think somebody must have gotten the idea they don't need to wait for Sun, and all the development process is open, so I bet that over in the Java forums I'll find lots of public information about the issues.

Perhaps the most promising answer to my 64-bit problems is a question. Dmitri asks why anyone would need a 64-bit browser. I'm pretty sure I don't. That's just what Ubuntu offered to install. But what about running a 32-bit Firefox on 64-bit Ubuntu? I don't see any such thing looking in Synaptic, or on 

Searching around I found this posting by Rhaurison. He runs not only Firefox in 32-bit mode but also Opera, Skype, and other applications. He avoids conflicts by keeping 32-bit applications in a chroot environment, and points to this posting by Crad explaining how to set up such an environment.

When/if I try it I'll write about it. And if you've already done it, please post a comment. I love it when good information just comes right to me. Thanks again, people!

Linux 64-bit woes

13 years ago I switched from 32-bit Solaris to 64-bit and everything just worked. So when I installed Ubuntu 7.10 on my home PC I never considered installing anything except the "best" 64-bit version. As I noted, most things work, even if you have to beat the package manager into submission, insisting that 64-bit x86 is upwards compatible with 32-bit x86. But you have to be really careful with that --force-architecture flag because Linux doesn't seem to allow multiple versions of system libraries, and if you overwrite a critical library routine with an incompatible version, you're hosed.

It turns out that amd64 compatibility on Linux has long been a hot topic, leading some people to debate the merits of falling back to 32-bit Linux. Flash player won't work. Java browser plugin and web start won't work. (I'm embarrassed by that one!) My VPN client software won't work. As someone commented about flash on a discussion forum:
Stop saying something is available on Linux when what you mean is that it is available on Linux, with Intel processor, in 32-bit mode.
But wait, isn't open source supposed to remove all compatibility issues? Well, after compiling a lot of packages I'd add to the advice above, please say if you mean it works on Red Hat distro only, or if you mean kernel 2.6.9 or later, or if you mean uni-processor only.

I found a great workaround for flash. Simply install the Windows version of Firefox using wine. On Ubuntu 7.10 I didn't even have to use the command line instructions listed in the howto. The installer just made a desktop icon for me, which I renamed from "Firefox" to "Windows Firefox" and I just click it to run. I haven't yet found a workaround for the Java plugin, which prevents me from using many web applications like WebEx.

Like flash, the VPN software is proprietary closed source code, so compatibility updates are under sole control of the owner. Using Solaris on the same PC the VPN worked flawlessly. Open source Solaris includes punchin implementing ipsec. So rather than wait for the proprietary VPN vendor to decide amd64 is worthy of their time to do a compilation, I might do better to investigate Linux implementations of ipsec.

So for things I want to use at home, Linux is looking less "open" than Solaris. (See Jim Laurent's comparison.) But I still love Ubuntu!

Wednesday Dec 12, 2007

taming Ubuntu packages 32/64

Thought you had escaped the old package dependency trap? Ubuntu and other Debian derived systems have nice package managers that automate all the dependency checking. But frequently they don't work because I have a 64-bit AMD Athlon and I get errors like this one for Skype:

package architecture (i386) does not match system (amd64)

Of course amd64 runs i386 just fine, but try telling that to the package manager. Well, if you run dpkg manually you can use the --force-architecture flag, but then it's up to you to sort out all the package dependencies. Worse, when you seem to have all the required libraries the executable may fail to run because a dynamic library is only available in 64-bit version and it wants 32-bit.

I finally got Skype running by tracking down all the required 32-bit libraries from But it seems there is a tool to make it much easier to manage a 64-bit Ubuntu in a world of 32-bit applications: getlibs. This utility examines an executable and finds all needed libraries. Thanks to Shameel Arafin for his posting that led me to this valuable information.

Indulging myself in a moment of grumpiness: I never have these problems in Solaris! Not on SPARC, nor on x86, nor on amd64. Indeed I never even have to think about whether I'm on SPARC, x86, amd64, or intel64. Grumpiness over, I still like Ubuntu a lot.

Update: Don't fool around with --force-architecture too much on system libraries. My PC wouldn't wake up. Networking and X were trashed, and I reinstalled the OS - quicker fix than troubleshooting. I guess Linux doesn't keep multiple versions of dynamic libraries like Solaris does, and if you get the wrong one you're in for trouble. I expect the getlibs utility, had I found it first, would have saved me from this. And yes, I still like Ubuntu.



Tuesday Oct 09, 2007

Solaris OS on UltraSPARC T2

I take it for granted that the same Solaris interfaces and capabilities are available wherever I go, home, office, or travel, never worrying that behind one screen is an UltraSPARC processor, behind another an AMD Athlon processor, and behind another a SunRay server with who-knows-what in it. As Lily Tomlin said "We don't care, we don't have to care."

But today I salute the people who make sure I don't have to care.  Steve Sistare writes about how Solaris OS was optimized to run on the UltraSPARC T2 processor, scheduling for 64 hardware threads, taking best advantage of cache associativity and page mapping, using hardware acceleration, etc. And Ubuntu Linux runs as well.


I am a software engineer in San Diego, president of the Standard Performance Evaluation Corporation (, formerly a mathematician and a violist.


« August 2016