[ https://issues.apache.org/jira/browse/STDCXX-1039?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12747686#action_12747686 ]
Martin Sebor edited comment on STDCXX-1039 at 8/25/09 3:17 PM: --------------------------------------------------------------- AFAICS, the first linker error is in the {{localedef}} utility due to unsatisfied references to implicit instantiations of the {{std::vector}} primary template. The argument to the {{\-\-template_directory}} option should be the same as that to the {{\-L}} option, i.e., {{$BUILDDIR/lib}} (or {{$INSTALLDIR/lib}} when linking with an already installed library), but it's {{/lib}} instead. Check the value of {{CXXFLAGS}} in {{makefile.in}}. {noformat} como localedef.o locale.o aliases.o charmap.o codecvt.o collate.o ctype.o def.o diagnostic.o \ memchk.o messages.o monetary.o numeric.o path.o time.o scanner.o \ -o localedef --template_directory=/lib -lpthread -L/opt/src/stdcxx-4.2.1/build/lib -lstd12s -lm [...] C++ prelinker: executing: /opt/bin/realcomo -c --version --display_mode --wchar_t_keyword \ --bool --enum_overloading --explicit --typename --extern_inline --new_for_init --exceptions \ --export --alternative_tokens --diag_suppress=161 -I/opt/src/stdcxx-4.2.1/include/ansi \ -D_REENTRANT -I/opt/src/stdcxx-4.2.1/include -I/opt/src/stdcxx-4.2.1/build/include \ -A -x --long_long --template_directory=/lib -O --display_error_number \ --diag_suppress 111,177,228,236,549,550,830 /opt/src/stdcxx-4.2.1/util/locale.cpp Comeau C/C++ 4.3.10.1 (May 7 2008 12:23:21) for LINUX_INTEL_ELF_Beta Copyright 1988-2008 Comeau Computing. All rights reserved. MODE:strict errors C++ noC++0x_extensions [...] aliases.o: In function `get_installed_locales(int)': aliases.int.c:(.text+0x3de): warning: the use of `tmpnam' is dangerous, better use `mkstemp' localedef.o: In function `std::vector<std::string>::~vector()': localedef.int.c:(.text+0x516): undefined reference to `std::vector<std::string>::_C_destroy(std::string*)' [...] localedef.o: In function `std::vector<Charmap*>::push_back(Charmap* const&)': localedef.int.c:(.text+0x6b3): undefined reference to `std::vector<Charmap*>::_C_insert_1(Charmap** const&, Charmap* const&)' localedef.o: In function `std::vector<Charmap*>::~vector()': localedef.int.c:(.text+0x7b9): undefined reference to `std::vector<Charmap*>::_C_destroy(Charmap**)' [...] {noformat} was (Author: sebor): AFAICS, the first linker error is in the {{localedef}} utility due to unsatisfied references to implicit instantiations of the {{std::vector}} primary template. The argument to the {{\-\-template_directory}} option should be the same as that to the {{\-L}} option, i.e., {{$BUILDDIR/lib}}, but it's {{/lib}} instead. Check the value of {{CXXFLAGS}} in {{makefile.in}}. {noformat} como localedef.o locale.o aliases.o charmap.o codecvt.o collate.o ctype.o def.o diagnostic.o \ memchk.o messages.o monetary.o numeric.o path.o time.o scanner.o \ -o localedef --template_directory=/lib -lpthread -L/opt/src/stdcxx-4.2.1/build/lib -lstd12s -lm [...] C++ prelinker: executing: /opt/bin/realcomo -c --version --display_mode --wchar_t_keyword \ --bool --enum_overloading --explicit --typename --extern_inline --new_for_init --exceptions \ --export --alternative_tokens --diag_suppress=161 -I/opt/src/stdcxx-4.2.1/include/ansi \ -D_REENTRANT -I/opt/src/stdcxx-4.2.1/include -I/opt/src/stdcxx-4.2.1/build/include \ -A -x --long_long --template_directory=/lib -O --display_error_number \ --diag_suppress 111,177,228,236,549,550,830 /opt/src/stdcxx-4.2.1/util/locale.cpp Comeau C/C++ 4.3.10.1 (May 7 2008 12:23:21) for LINUX_INTEL_ELF_Beta Copyright 1988-2008 Comeau Computing. All rights reserved. MODE:strict errors C++ noC++0x_extensions [...] aliases.o: In function `get_installed_locales(int)': aliases.int.c:(.text+0x3de): warning: the use of `tmpnam' is dangerous, better use `mkstemp' localedef.o: In function `std::vector<std::string>::~vector()': localedef.int.c:(.text+0x516): undefined reference to `std::vector<std::string>::_C_destroy(std::string*)' [...] localedef.o: In function `std::vector<Charmap*>::push_back(Charmap* const&)': localedef.int.c:(.text+0x6b3): undefined reference to `std::vector<Charmap*>::_C_insert_1(Charmap** const&, Charmap* const&)' localedef.o: In function `std::vector<Charmap*>::~vector()': localedef.int.c:(.text+0x7b9): undefined reference to `std::vector<Charmap*>::_C_destroy(Charmap**)' [...] {noformat} > [Como como 4.3.10.1] identifier "_RWSTD_VA_LIST" is undefined when compiling > src/assert.cpp > ------------------------------------------------------------------------------------------- > > Key: STDCXX-1039 > URL: https://issues.apache.org/jira/browse/STDCXX-1039 > Project: C++ Standard Library > Issue Type: Bug > Components: Configuration > Affects Versions: 4.2.1 > Environment: Linux Gentoo x86_64 with 32bit Como 4.3.10.1 compiler > (gcc -m32 C compiler). > Reporter: Jaroslaw Zola > Attachments: build.log, como.config, config.h, config.h, config.log, > config.log, makefile.in > > > The library fails to compile with the error given below. This problem seems > to be similar to > [STDCXX-822|http://issues.apache.org/jira/browse/STDCXX-822]. > como -c -I/opt/src/stdcxx-4.2.1/include/ansi -D_REENTRANT > -I/opt/src/stdcxx-4.2.1/include -I/opt/src/stdcxx-4.2.1/build/include -A -x > --no_stdarg_builtin --template_directory=/lib -O --display_error_number > --diag_suppress 11,450,518 /opt/src/stdcxx-4.2.1/src/assert.cpp > Comeau C/C++ 4.3.10.1 (May 7 2008 12:23:21) for LINUX_INTEL_ELF_Beta > Copyright 1988-2008 Comeau Computing. All rights reserved. > MODE:strict errors C++ noC++0x_extensions > "/opt/src/stdcxx-4.2.1/include/ansi/_cstdio.h", line 117: warning #867-D: > declaration of "size_t" does not match the expected type > "unsigned int" > typedef unsigned long size_t; > ^ > "/opt/src/stdcxx-4.2.1/include/ansi/_cstdio.h", line 151: error #20: > identifier "_RWSTD_VA_LIST" is undefined > int vfprintf (FILE*, const char*, _RWSTD_VA_LIST); > ^ > "/opt/src/stdcxx-4.2.1/include/ansi/_cstdio.h", line 152: error #20: > identifier "_RWSTD_VA_LIST" is undefined > int vprintf (const char*, _RWSTD_VA_LIST); > ^ > "/opt/src/stdcxx-4.2.1/include/ansi/_cstdio.h", line 153: error #20: > identifier "_RWSTD_VA_LIST" is undefined > int vsprintf (char*, const char*, _RWSTD_VA_LIST); > ^ > 3 errors detected in the compilation of > "/opt/src/stdcxx-4.2.1/src/assert.cpp". > gmake[2]: *** [assert.o] Error 2 > gmake[2]: Leaving directory `/opt/src/stdcxx-4.2.1/build/lib' > gmake[1]: *** [lib] Error 2 > gmake[1]: Leaving directory `/opt/src/stdcxx-4.2.1/build' > gmake: *** [libstd] Error 2 -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.