Looking for NEdit 5.5 with toolbar patch for Linux platform (SLES9 / SLES10)

Tony Balinski ajbj at free.fr
Wed Jun 30 06:37:50 CEST 2010


Quoting "Paterline, David L. (NF)" <paterldl at westinghouse.com>:

> > file.o(.text+0x1a4f): In function `PrintString':
> > : warning: the use of `tmpnam' is dangerous, better use `mkstemp'
> > /usr/X11R6/lib/libXm.a(ResConvert.o)(.text+0x5c6): In function
> > `XmeNamesAreEqual':
> > : undefined reference to `__ctype_b'
> ...
> I'm not sure about how I'm linking, I'm just trying to build using the 'out
> of the box' makefiles (make linux). As for the libraries:
>
> [ocean:nedit-5.5] 36) ls -l /usr/X11R6/lib/libXm.a
> -rw-r--r--  1 root root 2374792 May 14  2002 /usr/X11R6/lib/libXm.a
>
> [ocean:nedit-5.5] 35) ll /usr/X11R6/lib/libXm.so*
> lrwxrwxrwx  1 root root      12 Feb  1  2007 /usr/X11R6/lib/libXm.so ->
> libXm.so.2.1
> lrwxrwxrwx  1 root root      12 Jun 28  2006 /usr/X11R6/lib/libXm.so.2 ->
> libXm.so.2.1
> -rwxr-xr-x  1 root root 2029054 Oct  1  2004 /usr/X11R6/lib/libXm.so.2.1
> lrwxrwxrwx  1 root root      14 Jun 28  2006 /usr/X11R6/lib/libXm.so.3 ->
> libXm.so.3.0.1
> -rwxr-xr-x  1 root root 2389516 Oct  3  2004 /usr/X11R6/lib/libXm.so.3.0.1
>
It looks like this is a dependency on the old ctype macro implementation of
"functions" like isalpha(), which just accessed static array tables directly.
Newer versions of the standard C library use proper functions instead. The
problem is that your libXm refers to those tables instead of the functions.
SunOS 4 used to have a similar issue because the macros did not support signed
char arguments properly. (They should, for single byte chars, cover arguments
in the range EOF=-1...255, but just using signed char as an index would give
-128...127 and result in access violations.)

Googling for "linux standard.c library ctype_b" gave a possible solution here:
http://www.tbrk.org/esterel/misc.html

Alternatively, try linking with the .so instead of the .a. This may give the
same issue, but at run time. If so, link against the .so.3. There should be
some guidance about how to do the dynamic linking in the make files
themselves. (I thought "more" dynamic linking was what you got with "make
linux" and you'd get less with another target like "make linux_static" - start
by typing "make" to list the targets.)

Tony


More information about the Discuss mailing list