It does prove something about Boost to me - as soon as I add the Boost
libraries to the above program I get the error, which implies that something
isn't compiled with -fPIC. Since Boost was the only thing added, Boost must
have been compiled without -fPIC.
As previously mentioned, that's just natural for .a libraries :)
Just to follow up on this, I have finally discovered what the problem was. I
was installing Boost with Gentoo's "debug" flag enabled, and for some reason
this broke all the symlinks - the .so files were pointing at themselves,
effectively causing a "file not found" error whenever they were accessed.
This meant gcc could not link against the .so files, and apparently in this
situation gcc falls back on the .a files, causing the error.
I reinstalled Boost without this debug flag, all the symlinks were created
properly, and now everything works the way it's supposed to!
Thanks everyone for all your help, I really appreciate it.
Cheers,
Adam.