When trying to find a missing symbol, try the following:
nm -og /usr/lib/*.a | fgrep <the_missing_symbol> | more
FYI, Fedora Core 2 defines __ctype_b_loc in /usr/lib/libc.a . You
might try explicitly adding "-lc" to your link command. I'm guessing
the model is written in Fortran, so it may not automatically link in
libc.a
Also, it would be helpful if you told us which version of Linux you are
using.
On Dec 27, 2004, at 9:25 PM, you wrote:
Dear,
While compiling the SMOKE (ver 2.1,
http://www.cmascenter.org/html/models.html), I received error messages
related to "undefined reference__ctype_b".
(Actually, I spent several days to find possible errors in a program
(uam2ncf in SMOKE) that use a netCDF library.
But I coudln't, then I tried to recomplie SMOKE programs using the
source
codes given.)
/SMOKE/subsys/ioapi/bin/Linux2_x86pg/
libioapi.a(envgets.o)(.text+0x5e):
In function `envync':
: undefined reference to `__ctype_b'
/SMOKE/subsys/ioapi/bin/Linux2_x86pg/
libioapi.a(envgets.o)(.text+0x79):
In function `envync':
: undefined reference to `__ctype_b'
/SMOKE/subsys/ioapi/bin/Linux2_x86pg/
libioapi.a(envgets.o)(.text+0xbe9):
In function `name2cstr':
: undefined reference to `__ctype_b'
/SMOKE/subsys/netcdf/bin/Linux2_x86pg/
libnetcdf.a(string.o)(.text+0x37):
In function `NC_check_name':
: undefined reference to `__ctype_b'