I have gotten all the files to compile, but it seems that when it comes time to link, i'm getting some weird errors, that SEEM to be a linking issue:
undefined reference to ulink(char const*) undefined reference to system(char*)
This sounds like you have hand-written prototypes for the above two functions somewhere in the code. Remove these and use the ones provided by the appropriate system header files. On most systems that'll be <stdlib.h> for system() and <unistd.h> for what I suspect is really unlink() (no idea what ulink is).
Yes; if you have bad prototypes, it will try to find exactly those prototypes in the system libraries, so if you have, e.g., a char* where the library uses a const char*, it will fail to find the library function at link time. What bbailey suggested is definitely what you should try first. In general, don't write your own prototypes for system functions; use the headers.