You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@stdcxx.apache.org by "Martin Sebor (JIRA)" <ji...@apache.org> on 2007/08/24 00:10:31 UTC

[jira] Closed: (STDCXX-386) [XLC++] unsats building locale and localedef

     [ https://issues.apache.org/jira/browse/STDCXX-386?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Martin Sebor closed STDCXX-386.
-------------------------------

    Resolution: Fixed

Works now.

> [XLC++] unsats building locale and localedef
> --------------------------------------------
>
>                 Key: STDCXX-386
>                 URL: https://issues.apache.org/jira/browse/STDCXX-386
>             Project: C++ Standard Library
>          Issue Type: Bug
>    Affects Versions: 4.1.3
>         Environment: XLC++ 7.0, 8.0 on AIX
>            Reporter: Martin Sebor
>            Assignee: Martin Sebor
>             Fix For: 4.2
>
>
> Building stdcxx utilities in $BUILDDIR/bin with XLC++ 7.0 works when no targets are specified as well as when each target is specified separately. However, building both locale and localedef (in that order) fails with the linker errors below.
> When using XLC++ 8.0 (and trunk) the localedef fails to link even with the default invocation of make. This is most likely because we reuse the same template registry for both programs. Quoting from the -qtemplateregistry section of the XLC++ 8.0 reference manual for AIX:
>     Template registry files must not be shared between different programs. If there are two or more programs whose source is in the same directory, relying on the default template registry file stored in the current working directory will result in this situation, and may lead to incorrect results.
> $ nice gmake clean >/dev/null && nice gmake locale localedef
> xlCcore -c -I/amd/devco/sebor/stdcxx-4.1.3/include/ansi -D_RWSTDDEBUG    -D_RWSTD_USE_CONFIG -I/build/sebor/stdcxx-4.1.3-xlc-7.0.0.9-11s/include -I/amd/devco/sebor/stdcxx-4.1.3/include -I/amd/devco/sebor/stdcxx-4.1.3/include/loc  -g  -qtemplateregistry=repository.ti   /amd/devco/sebor/stdcxx-4.1.3/util/locale.cpp
> xlCcore -c -I/amd/devco/sebor/stdcxx-4.1.3/include/ansi -D_RWSTDDEBUG    -D_RWSTD_USE_CONFIG -I/build/sebor/stdcxx-4.1.3-xlc-7.0.0.9-11s/include -I/amd/devco/sebor/stdcxx-4.1.3/include -I/amd/devco/sebor/stdcxx-4.1.3/include/loc  -g  -qtemplateregistry=repository.ti   /amd/devco/sebor/stdcxx-4.1.3/util/aliases.cpp
> xlCcore -c -I/amd/devco/sebor/stdcxx-4.1.3/include/ansi -D_RWSTDDEBUG    -D_RWSTD_USE_CONFIG -I/build/sebor/stdcxx-4.1.3-xlc-7.0.0.9-11s/include -I/amd/devco/sebor/stdcxx-4.1.3/include -I/amd/devco/sebor/stdcxx-4.1.3/include/loc  -g  -qtemplateregistry=repository.ti   /amd/devco/sebor/stdcxx-4.1.3/util/charmap.cpp
> xlCcore -c -I/amd/devco/sebor/stdcxx-4.1.3/include/ansi -D_RWSTDDEBUG    -D_RWSTD_USE_CONFIG -I/build/sebor/stdcxx-4.1.3-xlc-7.0.0.9-11s/include -I/amd/devco/sebor/stdcxx-4.1.3/include -I/amd/devco/sebor/stdcxx-4.1.3/include/loc  -g  -qtemplateregistry=repository.ti   /amd/devco/sebor/stdcxx-4.1.3/util/codecvt.cpp
> xlCcore -c -I/amd/devco/sebor/stdcxx-4.1.3/include/ansi -D_RWSTDDEBUG    -D_RWSTD_USE_CONFIG -I/build/sebor/stdcxx-4.1.3-xlc-7.0.0.9-11s/include -I/amd/devco/sebor/stdcxx-4.1.3/include -I/amd/devco/sebor/stdcxx-4.1.3/include/loc  -g  -qtemplateregistry=repository.ti   /amd/devco/sebor/stdcxx-4.1.3/util/collate.cpp
> xlCcore -c -I/amd/devco/sebor/stdcxx-4.1.3/include/ansi -D_RWSTDDEBUG    -D_RWSTD_USE_CONFIG -I/build/sebor/stdcxx-4.1.3-xlc-7.0.0.9-11s/include -I/amd/devco/sebor/stdcxx-4.1.3/include -I/amd/devco/sebor/stdcxx-4.1.3/include/loc  -g  -qtemplateregistry=repository.ti   /amd/devco/sebor/stdcxx-4.1.3/util/def.cpp
> xlCcore -c -I/amd/devco/sebor/stdcxx-4.1.3/include/ansi -D_RWSTDDEBUG    -D_RWSTD_USE_CONFIG -I/build/sebor/stdcxx-4.1.3-xlc-7.0.0.9-11s/include -I/amd/devco/sebor/stdcxx-4.1.3/include -I/amd/devco/sebor/stdcxx-4.1.3/include/loc  -g  -qtemplateregistry=repository.ti   /amd/devco/sebor/stdcxx-4.1.3/util/ctype.cpp
> xlCcore -c -I/amd/devco/sebor/stdcxx-4.1.3/include/ansi -D_RWSTDDEBUG    -D_RWSTD_USE_CONFIG -I/build/sebor/stdcxx-4.1.3-xlc-7.0.0.9-11s/include -I/amd/devco/sebor/stdcxx-4.1.3/include -I/amd/devco/sebor/stdcxx-4.1.3/include/loc  -g  -qtemplateregistry=repository.ti   /amd/devco/sebor/stdcxx-4.1.3/util/diagnostic.cpp
> xlCcore -c -I/amd/devco/sebor/stdcxx-4.1.3/include/ansi -D_RWSTDDEBUG    -D_RWSTD_USE_CONFIG -I/build/sebor/stdcxx-4.1.3-xlc-7.0.0.9-11s/include -I/amd/devco/sebor/stdcxx-4.1.3/include -I/amd/devco/sebor/stdcxx-4.1.3/include/loc  -g  -qtemplateregistry=repository.ti   /amd/devco/sebor/stdcxx-4.1.3/util/memchk.cpp
> xlCcore -c -I/amd/devco/sebor/stdcxx-4.1.3/include/ansi -D_RWSTDDEBUG    -D_RWSTD_USE_CONFIG -I/build/sebor/stdcxx-4.1.3-xlc-7.0.0.9-11s/include -I/amd/devco/sebor/stdcxx-4.1.3/include -I/amd/devco/sebor/stdcxx-4.1.3/include/loc  -g  -qtemplateregistry=repository.ti   /amd/devco/sebor/stdcxx-4.1.3/util/messages.cpp
> xlCcore -c -I/amd/devco/sebor/stdcxx-4.1.3/include/ansi -D_RWSTDDEBUG    -D_RWSTD_USE_CONFIG -I/build/sebor/stdcxx-4.1.3-xlc-7.0.0.9-11s/include -I/amd/devco/sebor/stdcxx-4.1.3/include -I/amd/devco/sebor/stdcxx-4.1.3/include/loc  -g  -qtemplateregistry=repository.ti   /amd/devco/sebor/stdcxx-4.1.3/util/monetary.cpp
> xlCcore -c -I/amd/devco/sebor/stdcxx-4.1.3/include/ansi -D_RWSTDDEBUG    -D_RWSTD_USE_CONFIG -I/build/sebor/stdcxx-4.1.3-xlc-7.0.0.9-11s/include -I/amd/devco/sebor/stdcxx-4.1.3/include -I/amd/devco/sebor/stdcxx-4.1.3/include/loc  -g  -qtemplateregistry=repository.ti   /amd/devco/sebor/stdcxx-4.1.3/util/numeric.cpp
> xlCcore -c -I/amd/devco/sebor/stdcxx-4.1.3/include/ansi -D_RWSTDDEBUG    -D_RWSTD_USE_CONFIG -I/build/sebor/stdcxx-4.1.3-xlc-7.0.0.9-11s/include -I/amd/devco/sebor/stdcxx-4.1.3/include -I/amd/devco/sebor/stdcxx-4.1.3/include/loc  -g  -qtemplateregistry=repository.ti   /amd/devco/sebor/stdcxx-4.1.3/util/path.cpp
> xlCcore -c -I/amd/devco/sebor/stdcxx-4.1.3/include/ansi -D_RWSTDDEBUG    -D_RWSTD_USE_CONFIG -I/build/sebor/stdcxx-4.1.3-xlc-7.0.0.9-11s/include -I/amd/devco/sebor/stdcxx-4.1.3/include -I/amd/devco/sebor/stdcxx-4.1.3/include/loc  -g  -qtemplateregistry=repository.ti   /amd/devco/sebor/stdcxx-4.1.3/util/scanner.cpp
> xlCcore -c -I/amd/devco/sebor/stdcxx-4.1.3/include/ansi -D_RWSTDDEBUG    -D_RWSTD_USE_CONFIG -I/build/sebor/stdcxx-4.1.3-xlc-7.0.0.9-11s/include -I/amd/devco/sebor/stdcxx-4.1.3/include -I/amd/devco/sebor/stdcxx-4.1.3/include/loc  -g  -qtemplateregistry=repository.ti   /amd/devco/sebor/stdcxx-4.1.3/util/time.cpp
> xlCcore locale.o aliases.o charmap.o codecvt.o collate.o def.o ctype.o diagnostic.o memchk.o messages.o monetary.o numeric.o path.o scanner.o time.o -o locale -I/amd/devco/sebor/stdcxx-4.1.3/include/ansi -D_RWSTDDEBUG    -D_RWSTD_USE_CONFIG -liconv -brtl   -qtemplateregistry=repository.ti -L/build/sebor/stdcxx-4.1.3-xlc-7.0.0.9-11s/lib -lstd11s  -I/amd/devco/sebor/stdcxx-4.1.3/include/ansi -D_RWSTDDEBUG    -D_RWSTD_USE_CONFIG -I/build/sebor/stdcxx-4.1.3-xlc-7.0.0.9-11s/include -I/amd/devco/sebor/stdcxx-4.1.3/include -I/amd/devco/sebor/stdcxx-4.1.3/include/loc   -lm 
> xlCcore -c -I/amd/devco/sebor/stdcxx-4.1.3/include/ansi -D_RWSTDDEBUG    -D_RWSTD_USE_CONFIG -I/build/sebor/stdcxx-4.1.3-xlc-7.0.0.9-11s/include -I/amd/devco/sebor/stdcxx-4.1.3/include -I/amd/devco/sebor/stdcxx-4.1.3/include/loc  -g  -qtemplateregistry=repository.ti   /amd/devco/sebor/stdcxx-4.1.3/util/localedef.cpp
> xlCcore localedef.o aliases.o charmap.o codecvt.o collate.o ctype.o def.o diagnostic.o messages.o monetary.o numeric.o path.o time.o scanner.o -o localedef -I/amd/devco/sebor/stdcxx-4.1.3/include/ansi -D_RWSTDDEBUG    -D_RWSTD_USE_CONFIG -liconv -brtl   -qtemplateregistry=repository.ti -L/build/sebor/stdcxx-4.1.3-xlc-7.0.0.9-11s/lib -lstd11s  -I/amd/devco/sebor/stdcxx-4.1.3/include/ansi -D_RWSTDDEBUG    -D_RWSTD_USE_CONFIG -I/build/sebor/stdcxx-4.1.3-xlc-7.0.0.9-11s/include -I/amd/devco/sebor/stdcxx-4.1.3/include -I/amd/devco/sebor/stdcxx-4.1.3/include/loc   -lm 
> ld: 0711-317 ERROR: Undefined symbol: .__rw::__rb_tree<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,wchar_t>,__rw::__select1st<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,wchar_t>,std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,wchar_t> > >::find(const std::basic_string<char,std::char_traits<char>,std::allocator<char> >&)
> ld: 0711-317 ERROR: Undefined symbol: .__rw::__rb_tree<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,unsigned int>,__rw::__select1st<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,unsigned int>,std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,unsigned int> > >::__rb_tree(const std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >&,const std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,unsigned int> >&)
> ld: 0711-317 ERROR: Undefined symbol: .__rw::__rb_tree<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,unsigned int>,__rw::__select1st<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,unsigned int>,std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,unsigned int> > >::~__rb_tree()
> ld: 0711-317 ERROR: Undefined symbol: .__rw::__rb_tree<wchar_t,std::pair<const wchar_t,std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,__rw::__select1st<std::pair<const wchar_t,std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,wchar_t>,std::less<wchar_t>,std::allocator<std::pair<const wchar_t,std::basic_string<char,std::char_traits<char>,std::allocator<char> > > > >::find(const wchar_t&)
> ld: 0711-317 ERROR: Undefined symbol: .__rw::__rb_tree<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,unsigned int>,__rw::__select1st<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,unsigned int>,std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,unsigned int> > >::_C_insert(const std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,unsigned int>&,std::pair<__rw::__rw_debug_iter<__rw::__rb_tree<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,unsigned int>,__rw::__select1st<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,unsigned int>,std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,unsigned int> > >,__rw::__rw_tree_iter<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,unsigned int>,long,std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,unsigned int>*,std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,unsigned int>&,__rw::__rw_rb_tree_node<std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,unsigned int> >,std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,unsigned int>,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,__rw::__select1st<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,unsigned int>,std::basic_string<char,std::char_traits<char>,std::allocator<char> > > > >,__rw::__rw_tree_iter<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,unsigned int>,long,std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,unsigned int>*,std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,unsigned int>&,__rw::__rw_rb_tree_node<std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,unsigned int> >,std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,unsigned int>,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,__rw::__select1st<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,unsigned int>,std::basic_string<char,std::char_traits<char>,std::allocator<char> > > > > >,bool>&,bool)
> ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
> gmake: *** [localedef] Error 8

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.