Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com
Message-ID: <428D3672.1020009@prager.ws>
Date: Thu, 19 May 2005 17:59:30 -0700
From: Bernd Prager <bernd@prager.ws>
User-Agent: Mozilla Thunderbird 1.0.2 (Windows/20050405)
MIME-Version: 1.0
Cc: cygwin@cygwin.com
Subject: gnu c++ linker errors on double processor machine
References: <SERRANO21C9FNFCYVLz0000007b@SERRANO.CAM.ARTIMI.COM> 	 <Pine.GSO.4.61.0505191327330.9233@slinky.cs.nyu.edu> <ba40711f05051914344feebed2@mail.gmail.com>
In-Reply-To: <ba40711f05051914344feebed2@mail.gmail.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Sanitizer: This message has been sanitized!
X-Sanitizer-URL: http://mailtools.anomy.net/
X-Sanitizer-Rev: $Id: Sanitizer.pm,v 1.54 2002/02/15 16:59:07 bre Exp $
X-IsSubscribed: yes

Hi everybody,

I'm experencing an odd error on a double processor machine.
The same source code compiles well on all boxes I used but on a single 
machine it fails.
It's the only 2-processor box I use. That's why I assume the problem is 
some weird concurrency issue but I'm not sure.

When I try to compile it a couple of times in a row sometimes 
compilation works, sometimes it fails and it's really abitrary.
Here's the error message:

 > make all
Building target: Tst.exe
g++ -L/usr/local/lib -L/usr/local/lib/mysql -o Tst.exe     Cfg.o Tst.o  
-lmysqlpp -lmysqlclient -lz
/usr/local/lib/libstdc++.a(tree.o)(.text$_ZSt20_Rb_tree_rotate_leftPSt18_Rb_tree_node_baseRS0_+0x0): 
In function `_ZSt20_Rb_tree_black_countPKSt18_Rb_tree_node_baseS1_':
/home/BerndPrager/gcc-3.4.3/i686-pc-cygwin/libstdc++-v3/src/../../.././libstdc++-v3/src/tree.cc:416: 
multiple definition of 
`std::_Rb_tree_rotate_left(std::_Rb_tree_node_base*, 
std::_Rb_tree_node_base*&)'
Cfg.o(.text$_ZSt20_Rb_tree_rotate_leftPSt18_Rb_tree_node_baseRS0_[std::_Rb_tree_rotate_left(std::_Rb_tree_node_base*, 
std::_Rb_tree_node_base*&)]+0x0):/usr/include/c++/3.3.3/bits/stl_construct.h: 
first defined here
/usr/local/lib/libstdc++.a(tree.o)(.text$_ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0_+0x0): 
In function `_ZSt20_Rb_tree_black_countPKSt18_Rb_tree_node_baseS1_':
/home/BerndPrager/gcc-3.4.3/i686-pc-cygwin/libstdc++-v3/src/../../.././libstdc++-v3/src/tree.cc:416: 
multiple definition of 
`std::_Rb_tree_rotate_right(std::_Rb_tree_node_base*, 
std::_Rb_tree_node_base*&)'
Cfg.o(.text$_ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0_[std::_Rb_tree_rotate_right(std::_Rb_tree_node_base*, 
std::_Rb_tree_node_base*&)]+0x0):/usr/include/c++/3.3.3/bits/stl_construct.h: 
first defined here
Cfg.o(.text$_ZNSt14__simple_allocISt13_Rb_tree_nodeISt4pairIKSsSsEESt24__default_alloc_templateILb1ELi0EEE8allocateEj[std::__simple_alloc<std::_Rb_tree_node<std::pair<std::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const, 
std::basic_string<char, std::char_traits<char>, std::allocator<char> > > 
 >, std::__default_alloc_template<true, 0> >::allocate(unsigned 
int)]+0x27): In function `_ZNKSt10_Select1stISt4pairIKSsSsEEclERKS2_':
/usr/include/c++/3.3.3/bits/stl_construct.h: undefined reference to 
`std::__default_alloc_template<true, 0>::allocate(unsigned int)'
Cfg.o(.text$_ZNSt14__simple_allocISt13_Rb_tree_nodeISt4pairIKSsSsEESt24__default_alloc_templateILb1ELi0EEE10deallocateEPS4_j[std::__simple_alloc<std::_Rb_tree_node<std::pair<std::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const, 
std::basic_string<char, std::char_traits<char>, std::allocator<char> > > 
 >, std::__default_alloc_template<true, 0> 
 >::deallocate(std::_Rb_tree_node<std::pair<std::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const, 
std::basic_string<char, std::char_traits<char>, std::allocator<char> > > 
 >*, unsigned int)]+0x23):/usr/include/c++/3.3.3/bits/stl_construct.h: 
undefined reference to `std::__default_alloc_template<true, 
0>::deallocate(void*, unsigned int)'
collect2: ld returned 1 exit status
make: *** [Tst.exe] Error 1

Is that a known issue? Some flags or cygwin variable I can set to 
prevent that?
It's a WinXP box, gcc 3.4.3, CYGWIN_NT-5.1 1.5.16(0.128/4/2).

Thanks in advane for any suggestions or help.
-- Bernd

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

