These are two things I consider essential on my mobile machines, one for accessing my files at work and the other for accessing the ones I keep encrypted on my USB drive. Neither is on the Aspire One by default, and getting them there was a bit tricky. For one thing, the RPMs that are available have lots of false dependencies, and installing them would drag in a ton of stuff including the wrong kernel. Seemed like a good way to break my system, so I aborted that effort. Then I tried to build sshfs from source. To do that, I had to build FUSE from source too, because the FUSE kernel module that’s on the system is OK but the version of the libraries that’s on there is missing stuff that sshfs needs. So I compile/install FUSE, install a few other *-devel packages (the standard way this time), build sshfs, and try to run it. I get this:

sshfs: relocation error: sshfs: symbol fuse_opt_insert_arg, version FUSE_2.6 not defined in file libfuse.so.2 with link time reference

WTF? I start digging, learn a few things about versioned symbols, check out how they’re done in FUSE, but everything looks OK. A few experiments only make things worse. Finally I realize that sshfs is finding the vendor-provided version of libfuse in /lib before the one I built in /usr/local/lib, and that version’s broken. I had to fix that in /etc/ld.so.conf (yuk) but then it worked. After that, encfs was a breeze; I had to install boost and openssl and rlog but those were all very straightforward. And no, I didn’t need dmadm or a new kernel or any of the other junk that the package manager wanted to pull in.

Broken wireless, out of date software and repositories, drastically uninformative error messages – where does it all end? Truly, Linux is only free if your time has no value. It’s been worth it to me, to have a highly portable computer that has the software I need, but I hate to think of how someone less experienced would react when they hit these hurdles.