Operating System - Tru64 Unix
1748156 Members
4041 Online
108758 Solutions
New Discussion юеВ

GNU tar 1.16.1 v. Tru64: isblank() ?

 
Steven Schweda
Honored Contributor

GNU tar 1.16.1 v. Tru64: isblank() ?

Trying to build GNU tar 1.16.1 using Compaq C
failed:

CC=cc ./configure
[...]
make
[...]
ld:
Unresolved:
isblank
[...]

It appears that isblank() is declared in
/usr/include.dtk/ctype.h (which is what gets
pulled in by '#include '), but I've
found no sign of an actual isblank() function
in any of the run-time stuff. The "configure"
script is gullible enough to believe that if a
test program containing isblank() can be
compiled successfully, then all must be well.
This might have been true before the "enhanced"
/usr/include.dtk/ctype.h was added, as its sole
purpose in life seems to be to get isblank()
declared. (Thanks for the "help", but ...)

So, am I missing some patch which adds
isblank() to some run-time library, or what's
the story?

Or is everyone else just using GCC (which
appears to be immune to the header file
"enhancements" in /usr/include.dtk)?


urtx# sizer -v
HP Tru64 UNIX V5.1B (Rev. 2650); Mon Feb 19 11:57:07 CST 2007

urtx# cc -V
Compaq C V6.5-303 (dtk) on HP Tru64 UNIX V5.1B (Rev. 2650)
Compiler Driver V6.5-302 (dtk) cc Driver
2 REPLIES 2
jim owens_1
Valued Contributor

Re: GNU tar 1.16.1 v. Tru64: isblank() ?

I've no idea why the header defines it, but...

isblank() is obsolete and was replaced by localizable wide character functions. Updated utilities have defines and code similar to:

static wctype_t blankhandle;
#define isblank(c) (iswctype((c),blankhandle))

blankhandle = wctype("blank");

found_blank = isblank(*input);
Steven Schweda
Honored Contributor

Re: GNU tar 1.16.1 v. Tru64: isblank() ?

I've communicated the problem to the GNU
"tar" folks, and have been told that in a
future gnulib release, isblank() will be
moved from the compile-is-enough list to the
compile-and-link list, so that should solve
this problem on the GNU side.

Still, it would be nice if the Tru64 header
files and run-time libraries were a bit more
consistent.