Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
4.1.2
-
None
-
EDG eccp 3.5, 3.6/Solaris 10
Description
-------- Original Message --------
Subject: Re: stdcxx question
Date: Fri, 02 Dec 2005 10:50:08 -0700
From: Martin Sebor <sebor@roguewave.com>
To: John Benito <jb@benito.com>
CC: stdcxx-dev@incubator.apache.org
References: <438E1854.7070006@benito.com> <438E1F1B.20601@roguewave.com> <438E45F6.4080804@benito.com> <438E4BBB.8030106@roguewave.com> <438E5E61.5080700@benito.com> <438F3535.9030103@roguewave.com> <438F5C1F.8070600@benito.com> <438F6156.6040803@roguewave.com> <4390821B.6060904@benito.com>
John Benito wrote:
> Martin,
>
> Just to let you know, while trying the 11s build on Solaris 5.10 using
> EDG 3.5 over GCC 3.4.3 I am getting the following diagnostics. Will
> look into away to include uint64_t this afternoon, unless you have
> already seen this.
Thanks for the heads up!
I haven't seen this error yet. In fact, I haven't even got this far.
I ran into the error below during configuration (removing -lm from
the link line let me proceed).
The error you are seeing is triggered by an #include directive in
assert.cpp for the <ucontext.h> header (in strict mode only):
$ cat t.cpp && eccp -A t.cpp
#include <ucontext.h>
"/usr/include/sys/regset.h", line 304: error: identifier "uint64_t" is
undefined
uint64_t fpu_dregs[32]; /* 32 doubles */
^
"/usr/include/sys/regset.h", line 307: error: identifier "uint64_t" is
undefined
Since this works fine in Solaris 9 I suspect that eccp hasn't been
ported to Solaris 10. Let me check with EDG to see what they have
to say about it.
Martin
$ nice gmake -C../include
gmake: Entering directory `/build/sebor/eccp-3.6-11s/include'
gmake config
gmake[1]: Entering directory `/build/sebor/eccp-3.6-11s/include'
configuring for eccp-3.6 on sunos-5.10-sparc
checking if compiler is sane ok
checking if linker is sane no
int main ()
{ return 0; }eccp -c -A -x --template_directory=/build/sebor/eccp-3.6-11s/lib -g
--display_error_number --remarks --diag_suppress
193,236,340,401,261,479,487,678,679,815 -D_RWSTDDEBUG
-D_RWSTD_USE_CONFIG -I. a.cpp
eccp a.o --template_directory=/build/sebor/eccp-3.6-11s/lib -lm -o a.out
library "m" does not exist in the specified library directories
C++ prelinker: error: command line error
gmake[1]: *** [sane] Error 1
>
> eccp -c -I/home/benito/stdcxx-2005-07-19/include/ansi
> -D_RWSTD_USE_CONFIG -I/home/benito/stdcxx-11s/include
> -I/home/benito/stdcxx-2005-07-19/include -A -x
> --template_directory=/home/benito/stdcxx-11s/lib --display_error_number
> --remarks --diag_suppress 193,236,340,401,261,479,487,678,679,815
> /home/benito/stdcxx-2005-07-19/src/assert.cpp
> "/usr/include/sys/regset.h", line 304: error #20: identifier "uint64_t" is
> undefined
> uint64_t fpu_dregs[32]; /* 32 doubles */
> ^
> "/usr/include/sys/regset.h", line 307: error #20: identifier "uint64_t" is
> undefined
> uint64_t fpu_fsr; /* FPU status register */
> ^
> 2 errors detected in the compilation of
> "/home/benito/stdcxx-2005-07-19/src/assert.cpp".
>
> Thanks,
>
> jb -
>
> Martin Sebor wrote:
>
>> I would suggest
>>
>> make BUILDDIR=/home/benito/stdcxx-11s \
>> BUILDTYPE=11s \
>> CONFIG=eccp.config
>>