This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: Problem in compilation using libstdc++
- From: Benjamin Kosnik <bkoz at redhat dot com>
- To: "Vivek Katakam" <vivek1717 at gmail dot com>
- Cc: libstdc++ at gcc dot gnu dot org
- Date: Tue, 15 Apr 2008 10:45:38 -0500
- Subject: Re: Problem in compilation using libstdc++
- References: <d0e0ce060804150641o5cfc96ecuc6b9b2446b8a8561@mail.gmail.com>
> host/fr_common/unix/portableunix.cpp: In member function `virtual
> SVERROR CUnixProcess::getExitCode(SV_ULONG*)':
> host/fr_common/unix/portableunix.cpp:186: warning: argument of
> negative value ` -1' to `unsigned int'
This is an issue with host/fr_common/unix/portableunix.cpp, not
libstc++. This message warns you of signed/unsigned issues.
> ld: 0711-317 ERROR: Undefined symbol:
> .std::__default_alloc_template<(bool)1, int)0>::allocate(unsigned
> long)
> ld: 0711-317 ERROR: Undefined symbol:
> .std::__default_alloc_template<(bool)1, (int)0>::deallocate(void*,
> unsigned long)
> ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more
> information.
I would expect that these are or should be defined in the libstdc++
binary, and that linking to them should resolve this. You might check
the binary to see if these symbols are actually defined.
However, given that AIX has in the past had issues with weak symbols,
perhaps that is what you are running into here. I don't pretend to
know what is actually going on in your specific case, but perhaps you
can work around it by explicitly instantiating the template above and
linking it in.
Say, something like:
template class std::__default_alloc_template<1, 0>;
Should produce the required definitions if all else fails.
Sorry I cannot be more helpful. You might want to look for AIX-specific
gcc newsgroups, for for vendor support pages, etc.
-benjamin