Simpler Navigation for Servers and Operating Systems - Please Update Your Bookmarks
Completed: a much simpler Servers and Operating Systems section of the Community. We combined many of the older boards, so you won't have to click through so many levels to get at the information you need. Check the consolidated boards here as many sub-forums are now single boards.
If you have bookmarked forums or discussion boards in Servers and Operating Systems, we suggest you check and update them as needed.
Operating System - Tru64 Unix
cancel
Showing results for 
Search instead for 
Did you mean: 

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
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.