Building a cross compiler/binutils is often very hard, and it doesn't allow you to test your programs.
Virtual machines are very slow and create a strong separation which make hard to share files between the host an the VM.
The easiest solution is Qemu-User-static : system-calls and instructions are wrapped in user mode to the native kernel.
Download or extract a rootfs.
Copy it to a sub-folder of you real root directory.
Copy qemu-user-(the name of your mips arch)-static to the root of the target directory.
copy /etc/resolv.conf to /your_path_to_target/etc/resolv.conf
Chroot to it by executing /bin/bash.
Use the rootfs as if you were using a real mips based. machine.
Things became very simple : Many libraries aren't compiled because of things like hard-coded paths (you'll face many; many problems like the one you have with cross-compiling). Here all happen as if you build packages natively.