You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@stdcxx.apache.org by Andrew Black <ab...@roguewave.com> on 2006/01/04 18:10:11 UTC

build failure on Mac OS X 10.2.8

Greetings all.

Last night I attempted to build the stdcxx library and tests/examples on 
my Mac OS X box, runing version 10.2.8 of the operating system.  
Unfortunately, the make process failed building the dependancies for 
include/rw/_traits.h with a message about an undefined macro 
_RWSTD_WEOF.  I have attached the generated config.h. I also have 
captured the output for uname -a and gcc -v (at the end of this message) 
if it would provide any helpful information, but I didn't think to 
capture the output from the make process.

Looking at the file in question, it appears that _RWSTD_WEOF is used at 
line 337 (in the eof method of the wchar_t specalization of the 
char_traits struct) without checking if _RWSTD_NO_WEOF is defined.  It 
is likely that the fix would be to check if _RWSTD_NO_WEOF is not 
defined, and to provide a default return value if it is undefined, but I 
don't know what that value should be (-1 perhaps?).
It appears that there is a similar problem with _RWSTD_EOF in the char 
specalization. and the same problem with _RWSTD_WEOF in src/wctype.cpp

--Andrew Black

bash-2.05a$ uname -a
Darwin Metropolis.local. 6.8 Darwin Kernel Version 6.8: Wed Sep 10 
15:20:55 PDT 2003; root:xnu/xnu-344.49.obj~2/RELEASE_PPC  Power 
Macintosh powerpc
bash-2.05a$ gcc -v
Reading specs from /usr/libexec/gcc/darwin/ppc/3.1/specs
Thread model: posix
Apple Computer, Inc. GCC version 1175, based on gcc version 3.1 20020420 
(prerelease)

Re: build failure on Mac OS X 10.2.8

Posted by Martin Sebor <se...@roguewave.com>.
Andrew Black wrote:
> Greetings all.
> 
> Last night I attempted to build the stdcxx library and tests/examples on 
> my Mac OS X box, runing version 10.2.8 of the operating system.  
> Unfortunately, the make process failed building the dependancies for 
> include/rw/_traits.h with a message about an undefined macro 
> _RWSTD_WEOF.  I have attached the generated config.h. I also have 
> captured the output for uname -a and gcc -v (at the end of this message) 
> if it would provide any helpful information, but I didn't think to 
> capture the output from the make process.

It seems that the libc on your system doesn't define the WEOF macro
or provide much in the way of wchar_t support. We should be able to
detect it and gracefully deal with it.

Could you open a new issue for this in Jira? Here's how:
http://incubator.apache.org/stdcxx/bugs.html
Please copy a link to your post into the report for reference:
http://mail-archives.apache.org/mod_mbox/incubator-stdcxx-dev/200601.mbox/%3c43BC0173.8000009@roguewave.com%3e

> 
> Looking at the file in question, it appears that _RWSTD_WEOF is used at 
> line 337 (in the eof method of the wchar_t specalization of the 
> char_traits struct) without checking if _RWSTD_NO_WEOF is defined.  It 
> is likely that the fix would be to check if _RWSTD_NO_WEOF is not 
> defined, and to provide a default return value if it is undefined, but I 
> don't know what that value should be (-1 perhaps?).
> It appears that there is a similar problem with _RWSTD_EOF in the char 
> specalization. and the same problem with _RWSTD_WEOF in src/wctype.cpp

Let me look into where best to handle this and how.

Thanks!
Martin