If some variables are double precision and others single precision, make sure that you coerce the storage modes appropriately. Debug your Fortran or C programs before calling them from Splus . See the next section for more information. This restriction does not apply to C programs. Note how subroutines rather than functions are used.
Most errors are likely to be due to lax attention to storage aspects.
So the first question you should ask yourself is whether you've coerced the storage modes of your arguments correctly. This is due to the fact that your program references other functions or routines that could not be found. Make sure that you have all of them available. In the above example, the function bar could not be located. If the file bar.c contains that function, compile it and put both foo.o and bar.o into the library.