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