stdcxx-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Sebor <se...@roguewave.com>
Subject Re: Problem building Tuscany SDO with stdcxx on Linux
Date Mon, 02 Oct 2006 17:03:33 GMT
Geoffrey Winn wrote:
> Hi.
> 
> I'm attempting to build Tuscany SDO using stdcxx on Linux and I'm 
> getting an
> error from the compiler. The messages are appended to this note, I haven't
> spent much time looking at thsi yet so apologies if its obvious. My main
> interest is whether this is a well known / obvious issue. So far all I've
> done is to add the defines, includes and so that I think stdcxx needs. I'm
> wondering if I need to do something to tell g++ to _not_ use its normal C++
> standard library.

You should be using gcc rather than g++ when using stdcxx. It may
not make a difference when compiling but you *must* use gcc when
linking in order to avoid introducing a dependency on libstdc++,
the native C++ standard library.

> 
> Any hints gratefully accepted.

It looks like the _RWSTD_PTRDIFF_T macro is not #defined as it
should be. The macro is supposed to be defined to the underlying
type of ptrdiff_t by the SIZE_T.cpp config test. To see why the
test unexpectedly failed open the $BUILDDIR/include/config.log
file and look for any error messages for SIZE_T.cpp. If there
is no error, running the SIZE_T test (in $BUILDDIR/include) by
hand should produce the expected output (a bunch of #defines).
If it doesn't the test most likely crashes. We'll need the stack
trace from the core dump to understand why.

We have two bugs for library compilation errors due to SIZE_T.cpp
having failed to link but neither of them is on Linux:
   http://issues.apache.org/jira/browse/STDCXX-113
   http://issues.apache.org/jira/browse/STDCXX-124

Martin

> 
> Regards,
> 
> Geoff.
> 
> g++ -DHAVE_CONFIG_H
> -I.
> -I.
> -I../../../../..
> -I/home/tuscany/workspace/stdcxx/stdcxx-4.1.3/Debug/include/ansi
> -I/home/tuscany/workspace/stdcxx/stdcxx-4.1.3/Debug/include
> -I/home/tuscany/workspace/stdcxx/stdcxx-4.1.3/include
> -I../../../../../runtime/core/src -I/usr/include/libxml2 -D_RWSTDDEBUG
> -D_RWSTD_USE_CONFIG -g -O2 -MT ChangedDataObjectListImpl.lo -MD -MP -MF
> .deps/ChangedDataObjectListImpl.Tpo -c ChangedDataObjectListImpl.cpp  -fPIC
> -DPIC -o .libs/ChangedDataObjectListImpl.o
> 
> In file included from /home/tuscany/workspace/stdcxx/stdcxx-4.1.3
> /include/rw/_algobase.h:44,
>                 from /home/tuscany/workspace/stdcxx/stdcxx-4.1.3
> /include/vector:40,
>                 from
> ../../../../../runtime/core/src/commonj/sdo/ChangedDataObjectListImpl.h:26,
>                 from ChangedDataObjectListImpl.cpp:22:
> /home/tuscany/workspace/stdcxx/stdcxx-4.1.3/include/rw/_iterbase.h:73: ISO
> C++
>   forbids declaration of `_RWSTD_PTRDIFF_T' with no type
> /home/tuscany/workspace/stdcxx/stdcxx-4.1.3/include/rw/_iterbase.h:73:
> syntax
>   error before `;' token
> /home/tuscany/workspace/stdcxx/stdcxx-4.1.3/include/rw/_iterbase.h:84: ISO
> C++
>   forbids declaration of `_RWSTD_PTRDIFF_T' with no type
> /home/tuscany/workspace/stdcxx/stdcxx-4.1.3/include/rw/_iterbase.h:84:
> syntax
>   error before `;' token
> /home/tuscany/workspace/stdcxx/stdcxx-4.1.3/include/rw/_iterbase.h:95:
> syntax
>   error before `,' token
> /home/tuscany/workspace/stdcxx/stdcxx-4.1.3/include/rw/_iterbase.h:101:
> syntax
>   error before `;' token
> /home/tuscany/workspace/stdcxx/stdcxx-4.1.3/include/rw/_iterbase.h:102:
> syntax
>   error before `;' token
> /home/tuscany/workspace/stdcxx/stdcxx-4.1.3/include/rw/_iterbase.h:103:
> syntax
>   error before `;' token
> /home/tuscany/workspace/stdcxx/stdcxx-4.1.3/include/rw/_iterbase.h:104:
> template
>   declaration of `typedef _Category std::iterator_category'
> /home/tuscany/workspace/stdcxx/stdcxx-4.1.3/include/rw/_iterbase.h:104:
> confused by earlier errors, bailing out
> make[6]: *** [ChangedDataObjectListImpl.lo] Error 1
> 


Mime
View raw message