[MINC-users] Problems installing Display on Fedora -- undefined reference to `__ctype_b'

crioux crioux@student.cs.uwaterloo.ca
Sun May 30 17:49:03 2004


Hi,

I've been trying to configure Display.  I've installed all required
libraries, however, when running

./configure --with-build-path=/usr/local/mni

I get:

[...]
checking netcdf.h usability... yes
checking netcdf.h presence... yes
checking for netcdf.h... yes
checking for ncopen in -lnetcdf... no
configure: error: cannot find required library

config.log reveals:

[...]
configure:20894: checking for ncopen in -lnetcdf
configure:20924: gcc -o conftest -g -O2  -I/usr/local/mni/include
-L/usr/local/mni/lib conftest.c -lnetcdf  -lm  >&5
/usr/local/mni/lib/libnetcdf.a(string.o)(.text+0x62): In function
`NC_check_name':
: undefined reference to `__ctype_b'
collect2: ld returned 1 exit status
configure:20930: $? = 1
configure: failed program was:
| /* confdefs.h.  */
[...]

Now I've looked around for similar problems, and have found this:

http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=86465#c1
http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=86465#c24
-----
Undefined __ctype_b using glibc with ncurses

__ctype_b is gone for *__ctype_b_loc() because of the new locale model. In
libc.so, __ctype_b is exported as compatibility symbol, but for the 8.0
errata it should be readded to libc.a.

On RHL9 and later it is going to stay the way it is, ie. forcing all
incompatible objects to be recompiled. The reason is e.g. libstdc++, which
extensively uses uselocale these days, and __ctype_b using objects don't
work together with uselocale (that's why __ctype_b_loc etc. were
introduced). Binary compatibility is maintained for shared libraries and
binaries only accross releases, so what you're trying to accomplish was
never guaranteed to work between any releases.
-----

and this fix:
http://oss.sgi.com/archives/info-inventor-dev/2004-02/msg00004.html


Is this my problem?  Do I have to build such a workaround?  Anyone else
using these tools on Fedora?

Thanks for any help,

Caroline