This is definitely my first, and probably my last ever (useful?) contribution to a Linux forum, but I have just suffered and got round exactly this problem.
Found a helpful entry
which explained the use of the "strace" command to check what dependencies are being loaded at runtime. Turns out "ldd" cannot pick up all the dependencies. You an run "strace" in your normal environment, and in your chrooted environement (if you copy it across) and compare what is happening.
I don't really know what I'm doing, but this is what I did.
$ strace -eopen,stat,stat64,access /usr/libexec/openssh/sfp-server
The output included the line:
open("/etc/ld.so.cache", O_RDONLY) = 3
On a hunch, I copied /etc/ld.so.cache into my chroot jail, and guess what, it worked. I can now give access to my chrooted accounts via sftp and scp.
Someone more knowledgeable can hopefully explain why....
Martin
Intrallect: Learning Object Repository software