<p>I'm programming in FORTRAN and C on an SGI running Irix 6.5, but this should be applicable to all Unix-like systems.  How do I find which library I need to link to my program when I get an "unresolved text symbol" link error?  Here's an example of what I'm seeing from the linker:</p>

<pre><code>ld32: ERROR  33 Unresolved text symbol "ortho2_" -- first referenced by ./libfoo.a
</code></pre>

<p>Do I just have to know which libraries are required, or is there some tool or command that can help me figure this out?</p>

You can use the
```
nm
```
command to list the dynamic symbols from a shared library:
```
```
nm -D /lib/libc.so.6
```
```
and then
```
grep
```
for the symbol you are looking for.  Omit the -D for static libraries.  You can use this in a loop or with xargs to scan multiple libraries.
I usually just use google (assuming the symbol is from a publicly available library).