By the way, I changed references from "locale" to "Locale" (defined in helpers/locale.h) to see if using this class instead would resolve the issue. Please ignore these in the gcc compile output.
thanks, Nitinan -----Original Message----- From: Ananta, Nitinan [mailto:[EMAIL PROTECTED] Sent: Monday, May 02, 2005 1:41 PM To: 'Log4CXX User' Subject: RE: Compile issues on solaris 2.8 Hi Curt, Following is the information you requested: 1. -rw-r--r-- 1 bin bin 3201 Jan 20 2000 PlotFile.h -rw-r--r-- 1 bin bin 1909 Jan 20 2000 SFile.h -rw-r--r-- 1 bin bin 3182 Jan 20 2000 algo.h -rw-r--r-- 1 bin bin 2086 Jan 20 2000 algobase.h -rw-r--r-- 1 bin bin 1368 Jan 20 2000 algorithm -rw-r--r-- 1 bin bin 1310 Jan 20 2000 alloc.h -rw-r--r-- 1 bin bin 33670 Jan 20 2000 bitset -rw-r--r-- 1 bin bin 2296 Jan 20 2000 builtinbuf.h -rw-r--r-- 1 bin bin 1467 Jan 20 2000 bvector.h -rw-r--r-- 1 bin bin 152 Jan 20 2000 cassert -rw-r--r-- 1 bin bin 157 Jan 20 2000 cctype -rw-r--r-- 1 bin bin 155 Jan 20 2000 cerrno -rw-r--r-- 1 bin bin 149 Jan 20 2000 cfloat -rw-r--r-- 1 bin bin 152 Jan 20 2000 ciso646 -rw-r--r-- 1 bin bin 152 Jan 20 2000 climits -rw-r--r-- 1 bin bin 160 Jan 20 2000 clocale -rw-r--r-- 1 bin bin 1860 Jan 20 2000 cmath -rw-r--r-- 1 bin bin 376 Jan 20 2000 complex -rw-r--r-- 1 bin bin 141 Jan 20 2000 complex.h -rw-r--r-- 1 bin bin 161 Jan 20 2000 csetjmp -rw-r--r-- 1 bin bin 161 Jan 20 2000 csignal -rw-r--r-- 1 bin bin 152 Jan 20 2000 cstdarg -rw-r--r-- 1 bin bin 152 Jan 20 2000 cstddef -rw-r--r-- 1 bin bin 155 Jan 20 2000 cstdio -rw-r--r-- 1 bin bin 443 Jan 20 2000 cstdlib -rw-r--r-- 1 bin bin 1812 Jan 20 2000 cstring -rw-r--r-- 1 bin bin 144 Jan 20 2000 ctime -rw-r--r-- 1 bin bin 157 Jan 20 2000 cwchar -rw-r--r-- 1 bin bin 165 Jan 20 2000 cwctype -rw-r--r-- 1 bin bin 2331 Jan 20 2000 defalloc.h -rw-r--r-- 1 bin bin 1350 Jan 20 2000 deque -rw-r--r-- 1 bin bin 1373 Jan 20 2000 deque.h -rw-r--r-- 1 bin bin 6882 Jan 20 2000 editbuf.h -rw-r--r-- 1 bin bin 2223 Jan 20 2000 floatio.h -rw-r--r-- 1 bin bin 153 Jan 20 2000 fstream -rw-r--r-- 1 bin bin 3475 Jan 20 2000 fstream.h -rw-r--r-- 1 bin bin 3327 Jan 20 2000 function.h -rw-r--r-- 1 bin bin 762 Jan 20 2000 functional -rw-r--r-- 1 bin bin 1330 Jan 20 2000 hash_map -rw-r--r-- 1 bin bin 1516 Jan 20 2000 hash_map.h -rw-r--r-- 1 bin bin 1330 Jan 20 2000 hash_set -rw-r--r-- 1 bin bin 1474 Jan 20 2000 hash_set.h -rw-r--r-- 1 bin bin 1559 Jan 20 2000 hashtable.h -rw-r--r-- 1 bin bin 1427 Jan 20 2000 heap.h -rw-r--r-- 1 bin bin 2925 Jan 20 2000 indstream.h -rw-r--r-- 1 bin bin 2705 Jan 20 2000 iolibio.h -rw-r--r-- 1 bin bin 153 Jan 20 2000 iomanip -rw-r--r-- 1 bin bin 5709 Jan 20 2000 iomanip.h -rw-r--r-- 1 bin bin 279 Jan 20 2000 iosfwd -rw-r--r-- 1 bin bin 3446 Jan 20 2000 iostdio.h -rw-r--r-- 1 bin bin 156 Jan 20 2000 iostream -rw-r--r-- 1 bin bin 9675 Jan 20 2000 iostream.h -rw-r--r-- 1 bin bin 1165 Jan 20 2000 iostreamP.h -rw-r--r-- 1 bin bin 1142 Jan 20 2000 istream.h -rw-r--r-- 1 bin bin 1479 Jan 20 2000 iterator -rw-r--r-- 1 bin bin 2792 Jan 20 2000 iterator.h -rw-r--r-- 1 bin bin 10827 Jan 20 2000 libio.h -rw-r--r-- 1 bin bin 25625 Jan 20 2000 libioP.h -rw-r--r-- 1 bin bin 1351 Jan 20 2000 list -rw-r--r-- 1 bin bin 1373 Jan 20 2000 list.h -rw-r--r-- 1 bin bin 1329 Jan 20 2000 map -rw-r--r-- 1 bin bin 1345 Jan 20 2000 map.h -rw-r--r-- 1 bin bin 2869 Jan 20 2000 memory -rw-r--r-- 1 bin bin 1370 Jan 20 2000 multimap.h -rw-r--r-- 1 bin bin 1370 Jan 20 2000 multiset.h -rw-r--r-- 1 bin bin 1398 Jan 20 2000 numeric -rw-r--r-- 1 bin bin 1142 Jan 20 2000 ostream.h -rw-r--r-- 1 bin bin 1518 Jan 20 2000 pair.h -rw-r--r-- 1 bin bin 5431 Jan 20 2000 parsestream.h -rw-r--r-- 1 bin bin 2291 Jan 20 2000 pfstream.h -rw-r--r-- 1 bin bin 1787 Jan 20 2000 procbuf.h -rw-r--r-- 1 bin bin 15858 Jan 20 2000 pthread_alloc -rw-r--r-- 1 bin bin 866 Jan 20 2000 pthread_alloc.h -rw-r--r-- 1 bin bin 1475 Jan 20 2000 queue -rw-r--r-- 1 bin bin 924 Jan 20 2000 rope -rw-r--r-- 1 bin bin 909 Jan 20 2000 rope.h -rw-r--r-- 1 bin bin 47485 Jan 20 2000 ropeimpl.h -rw-r--r-- 1 bin bin 1329 Jan 20 2000 set -rw-r--r-- 1 bin bin 1345 Jan 20 2000 set.h -rw-r--r-- 1 bin bin 807 Jan 20 2000 slist -rw-r--r-- 1 bin bin 830 Jan 20 2000 slist.h -rw-r--r-- 1 bin bin 1378 Jan 20 2000 stack -rw-r--r-- 1 bin bin 1466 Jan 20 2000 stack.h drwxr-xr-x 2 bin bin 512 Feb 1 2000 std -rw-r--r-- 1 bin bin 2899 Jan 20 2000 stdexcept -rw-r--r-- 1 bin bin 2602 Jan 20 2000 stdiostream.h -rw-r--r-- 1 bin bin 305 Jan 20 2000 stl.h -rw-r--r-- 1 bin bin 92381 Jan 20 2000 stl_algo.h -rw-r--r-- 1 bin bin 17657 Jan 20 2000 stl_algobase.h -rw-r--r-- 1 bin bin 33834 Jan 20 2000 stl_alloc.h -rw-r--r-- 1 bin bin 26043 Jan 20 2000 stl_bvector.h -rw-r--r-- 1 bin bin 11894 Jan 20 2000 stl_config.h -rw-r--r-- 1 bin bin 2704 Jan 20 2000 stl_construct.h -rw-r--r-- 1 bin bin 56129 Jan 20 2000 stl_deque.h -rw-r--r-- 1 bin bin 22197 Jan 20 2000 stl_function.h -rw-r--r-- 1 bin bin 2818 Jan 20 2000 stl_hash_fun.h -rw-r--r-- 1 bin bin 16001 Jan 20 2000 stl_hash_map.h -rw-r--r-- 1 bin bin 15388 Jan 20 2000 stl_hash_set.h -rw-r--r-- 1 bin bin 32407 Jan 20 2000 stl_hashtable.h -rw-r--r-- 1 bin bin 9055 Jan 20 2000 stl_heap.h -rw-r--r-- 1 bin bin 28835 Jan 20 2000 stl_iterator.h -rw-r--r-- 1 bin bin 24850 Jan 20 2000 stl_list.h -rw-r--r-- 1 bin bin 8722 Jan 20 2000 stl_map.h -rw-r--r-- 1 bin bin 8707 Jan 20 2000 stl_multimap.h -rw-r--r-- 1 bin bin 7875 Jan 20 2000 stl_multiset.h -rw-r--r-- 1 bin bin 7291 Jan 20 2000 stl_numeric.h -rw-r--r-- 1 bin bin 2340 Jan 20 2000 stl_pair.h -rw-r--r-- 1 bin bin 6144 Jan 20 2000 stl_queue.h -rw-r--r-- 1 bin bin 2595 Jan 20 2000 stl_raw_storage_iter.h -rw-r--r-- 1 bin bin 1828 Jan 20 2000 stl_relops.h -rw-r--r-- 1 bin bin 94368 Jan 20 2000 stl_rope.h -rw-r--r-- 1 bin bin 7709 Jan 20 2000 stl_set.h -rw-r--r-- 1 bin bin 28634 Jan 20 2000 stl_slist.h -rw-r--r-- 1 bin bin 3343 Jan 20 2000 stl_stack.h -rw-r--r-- 1 bin bin 4676 Jan 20 2000 stl_tempbuf.h -rw-r--r-- 1 bin bin 43561 Jan 20 2000 stl_tree.h -rw-r--r-- 1 bin bin 9344 Jan 20 2000 stl_uninitialized.h -rw-r--r-- 1 bin bin 27313 Jan 20 2000 stl_vector.h -rw-r--r-- 1 bin bin 2023 Jan 20 2000 stream.h -rw-r--r-- 1 bin bin 17057 Jan 20 2000 streambuf.h -rw-r--r-- 1 bin bin 2375 Jan 20 2000 strfile.h -rw-r--r-- 1 bin bin 238 Jan 20 2000 string -rw-r--r-- 1 bin bin 159 Jan 20 2000 strstream -rw-r--r-- 1 bin bin 4314 Jan 20 2000 strstream.h -rw-r--r-- 1 bin bin 1898 Jan 20 2000 tempbuf.h -rw-r--r-- 1 bin bin 1423 Jan 20 2000 tree.h -rw-r--r-- 1 bin bin 12934 Jan 20 2000 type_traits.h -rw-r--r-- 1 bin bin 1301 Jan 20 2000 utility -rw-r--r-- 1 bin bin 131 Jan 20 2000 valarray -rw-r--r-- 1 bin bin 1379 Jan 20 2000 vector -rw-r--r-- 1 bin bin 1378 Jan 20 2000 vector.h 2. Didn't notice anything with the file. 3. Grep did not find anything in this directory. 4. gcc -E src/simpledateformat.cpp -I include | grep vector In file included from src/simpledateformat.cpp:17: include/log4cxx/helpers/simpledateformat.h:22: locale: No such file or directory src/simpledateformat.cpp:19: apr_time.h: No such file or directory src/simpledateformat.cpp:20: apr_strings.h: No such file or directory src/simpledateformat.cpp:21: sstream: No such file or directory # 1 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/../../../../include/g++- 3/vector" 1 3 # 33 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/../../../../include/g++ -3/vector" 2 3 # 1 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/../../../../include/g++- 3/stl_vector.h" 1 3 # 150 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/../../../../include/g+ +-3/stl_vector.h" 3 class vector : protected _Vector_base<_Tp, _Alloc> explicit vector(const allocator_type& __a = allocator_type()) vector(size_type __n, const _Tp& __value, explicit vector(size_type __n) vector(const vector<_Tp, _Alloc>& __x) vector(_InputIterator __first, _InputIterator __last, ~vector() { destroy(_M_start, _M_finish); } vector<_Tp, _Alloc>& operator=(const vector<_Tp, _Alloc>& __x); void swap(vector<_Tp, _Alloc>& __x) { # 440 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/../../../../include/g+ +-3/stl_vector.h" 3 operator==(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) operator<(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) inline void swap(vector<_Tp, _Alloc>& __x, vector<_Tp, _Alloc>& __y) vector<_Tp,_Alloc>& vector<_Tp,_Alloc>::operator=(const vector<_Tp, _Alloc>& __x) void vector<_Tp, _Alloc>::assign(size_t __n, const value_type& __val) { vector<_Tp, _Alloc> __tmp(__n, __val, get_allocator()); void vector<_Tp, _Alloc>::_M_assign_aux(_InputIter __first, _InputIter __last, vector<_Tp, _Alloc>::_M_assign_aux(_ForwardIter __first, _ForwardIter __last, vector<_Tp, _Alloc>::_M_insert_aux(iterator __position, const _Tp& __x) vector<_Tp, _Alloc>::_M_insert_aux(iterator __position) void vector<_Tp, _Alloc>::insert(iterator __position, size_type __n, vector<_Tp, _Alloc>::_M_range_insert(iterator __pos, vector<_Tp, _Alloc>::_M_range_insert(iterator __position, # 810 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/../../../../include/g+ +-3/stl_vector.h" 3 # 34 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/../../../../include/g++ -3/vector" 2 3 # 1 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/../../../../include/g++- 3/stl_bvector.h" 1 3 class _Bvector_alloc_base { _Bvector_alloc_base(const allocator_type& __a) class _Bvector_alloc_base<_Allocator, true> { _Bvector_alloc_base(const allocator_type&) class _Bvector_base : public _Bvector_alloc_base<_Alloc, typedef _Bvector_alloc_base<_Alloc, _Bvector_base(const allocator_type& __a) : _Base(__a) {} ~_Bvector_base() { _Base::_M_deallocate(); } # 348 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/../../../../include/g+ +-3/stl_bvector.h" 3 template<class _Alloc> class vector<bool,_Alloc> : public _Bvector_base<_Alloc> typedef _Bvector_base<_Alloc> _Base; explicit vector (const allocator_type& __a = allocator_type()) vector (size_type __n, bool __value, explicit vector (size_type __n) vector (const vector & __x) : _Base(__x.get_allocator()) { vector (_InputIterator __first, _InputIterator __last, # 587 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/../../../../include/g+ +-3/stl_bvector.h" 3 ~vector () { } vector & operator=(const vector & __x) { void swap(vector & __x) { # 761 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/../../../../include/g+ +-3/stl_bvector.h" 3 typedef vector<bool, alloc> bit_vector; # 822 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/../../../../include/g+ +-3/stl_bvector.h" 3 # 35 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/../../../../include/g++ -3/vector" 2 3 typedef std::vector<PatternToken*> PatternTokenList; std::vector<std::basic_string<localechar> > names; std::vector<std::basic_string<localechar> > names; std::vector<std::basic_string<localechar> > names; std::vector<std::basic_string<localechar> > names; std::vector<std::basic_string<localechar> > names; gcc -E src/simpledateformat.cpp -I include | grep locale In file included from src/simpledateformat.cpp:17: include/log4cxx/helpers/simpledateformat.h:22: locale: No such file or directory src/simpledateformat.cpp:19: apr_time.h: No such file or directory src/simpledateformat.cpp:20: apr_strings.h: No such file or directory src/simpledateformat.cpp:21: sstream: No such file or directory SimpleDateFormat(const LogString& pattern, const Locale& local e); typedef wchar_t localechar; virtual void format(std::basic_string<localechar>& s, static void renderFacet(const Locale& locale, std::basic_ostream<localechar>& buf fer, const localechar spec); static void addToken(const localechar spec, const Locale& locale, const Locale& locale, void SimpleDateFormat::PatternToken::renderFacet(const std::locale& locale, std::basic_ostream<localechar>& buffer, const localechar spec) { std::use_facet<std::time_put<localechar> >(locale) typedef wchar_t localechar; LiteralToken(localechar ch, int count) : ch(ch), count(count) { void format(std::basic_string<localechar>& s, const apr_time_exp_t& tm, Pool& p) const { localechar ch; EraToken(int count, const std::locale& locale) { void format(std::basic_string<localechar>& s, const apr_time_exp_t& tm , Pool& p) const { void format(std::basic_string<localechar>& s, const apr_time_exp_t& tm, Pool& p) const { AbbreviatedMonthNameToken(int width, const std::locale& locale) : names( 12) { std::basic_ostringstream<localechar> buffer; renderFacet(locale, buffer, &time, std::basic_string<localechar> monthnames(buffer.str()); void format(std::basic_string<localechar>& s, const apr_time_exp_t& tm, Pool& p) const { std::vector<std::basic_string<localechar> > names; FullMonthNameToken(int width, const std::locale& locale) : names(12) { std::basic_ostringstream<localechar> buffer; renderFacet(locale, buffer, &time, std::basic_string<localechar> monthnames(buffer.str()); void format(std::basic_string<localechar>& s, const apr_time_exp_t& tm, Pool& p) const { std::vector<std::basic_string<localechar> > names; AbbreviatedDayNameToken(int width, const std::locale& locale) : names( 7) { std::basic_ostringstream<localechar> buffer; renderFacet(locale, buffer, &time, std::basic_string<localechar> daynames(buffer.str()); void format(std::basic_string<localechar>& s, const apr_time_exp_t& tm, Pool& p) const { std::vector<std::basic_string<localechar> > names; FullDayNameToken(int width, const std::locale& locale) : names(7) { std::basic_ostringstream<localechar> buffer; renderFacet(locale, buffer, &time, std::basic_string<localechar> daynames(buffer.str()); void format(std::basic_string<localechar>& s, const apr_time_exp_t& tm , Pool& p) const { std::vector<std::basic_string<localechar> > names; AMPMToken(int width, const std::locale& locale) : names(2) { std::basic_ostringstream<localechar> buffer; renderFacet(locale, buffer, &time, std::basic_string<localechar> ampm = buffer.str(); void format(std::basic_string<localechar>& s, const apr_time_exp_t& tm, Pool& p) const { std::vector<std::basic_string<localechar> > names; void format(std::basic_string<localechar>& s, std::basic_string<localechar> tzID; void format(std::basic_string<localechar>& s, const apr_time_exp_t& tm, Pool& p) const { std::basic_string<localechar> hours; std::basic_string<localechar> min; std::locale defaultLocale; SimpleDateFormat::SimpleDateFormat(const LogString& fmt, const std::locale& loca le) parsePattern(fmt, locale, pattern); void SimpleDateFormat::addToken(const localechar spec, const std::locale& locale, token = (new log4cxx::helpers::SimpleDateFormatImpl::EraToken(repeat, loca le)); token = (new log4cxx::helpers::SimpleDateFormatImpl::AbbreviatedMonthNam eToken(repeat, locale)); token = (new log4cxx::helpers::SimpleDateFormatImpl::FullMonthNameToken( repeat, locale)); token = (new log4cxx::helpers::SimpleDateFormatImpl::AbbreviatedDayNameT oken(repeat, locale)); token = (new log4cxx::helpers::SimpleDateFormatImpl::FullDayNameToken(re peat, locale)); token = (new log4cxx::helpers::SimpleDateFormatImpl::AMPMToken(repeat, loc ale)); const std::locale& locale, localechar prevChar = *iter; addToken(prevChar, repeat, locale, pattern); addToken(prevChar, repeat, locale, pattern); std::basic_string<localechar> formatted; By the way, I noticed that there is a "Locale" class defined in "locale.h". Is this an alternative if <locale> does not exist? Thanks again for the help. - Nitinan -----Original Message----- From: Curt Arnold [mailto:[EMAIL PROTECTED] Sent: Monday, May 02, 2005 1:25 PM To: Log4CXX User Subject: Re: Compile issues on solaris 2.8 On May 2, 2005, at 2:51 PM, Ananta, Nitinan wrote: > Hi, > > I am running into the following compile error on solaris 2.8 with gcc > 2.95.2. > The missing file is <locale> and is part of the Standard Template Library. If you are not getting an error on the prior include to <vector>, it would appear that the STL include files are in the include path but <locale> is not being found. The copyright dates go back to 1997 which would suggest that a GCC implementation of locale was around at the time of a 2.95.2 release in 1999. Could you report the following: 1. A listing of the files in your c++ include directory (Don't know Solaris, but it would be something like /usr/include/gcc/PLATFORM/VERSION/c++ on other Unixes). 2. Any identifying marks from the <vector> include file in that directory. 3. The output of "grep locale /usr/include/gcc/....../c++" 4. The output of cd logging-log4cxx gcc -E src/simpledateformat.cpp -I include | grep vector and gcc -E src/simpledateformat.cpp -I include | grep locale
