[gcc/GNU make 3.79.1] linker errors while generating dependencies
-----------------------------------------------------------------

                 Key: STDCXX-521
                 URL: https://issues.apache.org/jira/browse/STDCXX-521
             Project: C++ Standard Library
          Issue Type: Bug
          Components: Build
    Affects Versions: 4.2
         Environment: gcc with GNU make 3.79.1 on Red Has Advanced Server 3 
Update 8
            Reporter: Martin Sebor
            Priority: Critical


Builds on Red Has Advanced Server 3 Update 8 (using GNU make 3.79.1 rather than 
3.80) are generating lots of noise while making dependencies. Looks like the 
compiler -M option isn't being passed to the compiler driver as it should. I 
suspect it's a make bug since we're not seeing these errors with GNU make 3.80.

$ make -Cexamples .depend/accumulate.d
make: Entering directory `/build/sebor/stdcxx-gcc-3.2.3_56-15s/examples'
generating dependencies for $(TOPDIR)/examples/manual/accumulate.cpp
gcc  -I/amd/devco/sebor/stdcxx/include/ansi -D_RWSTDDEBUG   -pthread 
-I/amd/devco/sebor/stdcxx/include 
-I/build/sebor/stdcxx-gcc-3.2.3_56-15s/include 
-I/amd/devco/sebor/stdcxx/examples/include  -pedantic -nostdinc++ -g  -m32 -W 
-Wall -Wcast-qual -Winline -Wshadow -Wwrite-strings -Wno-long-long -Wcast-align 
 /amd/devco/sebor/stdcxx/examples/manual/accumulate.cpp
/tmp/ccNn0zBp.o(.text+0x124): In function `void std::vector<int, 
std::allocator<int> >::_C_insert_range<__rw::__rw_debug_iter<std::vector<int, 
std::allocator<int> >, int*, int*> >(__rw::__rw_debug_iter<std::vector<int, 
std::allocator<int> >, int*, int*>, __rw::__rw_debug_iter<std::vector<int, 
std::allocator<int> >, int*, int*>, __rw::__rw_debug_iter<std::vector<int, 
std::allocator<int> >, int*, int*>, std::forward_iterator_tag)':
/amd/devco/sebor/stdcxx/include/vector.cc:451: undefined reference to 
`std::cout'
/tmp/ccNn0zBp.o(.text+0x184):/amd/devco/sebor/stdcxx/include/vector.cc:454: 
undefined reference to `std::cout'
/tmp/ccNn0zBp.o(.text+0x18c):/amd/devco/sebor/stdcxx/include/vector.cc:640: 
undefined reference to `std::basic_ostream<char, std::char_traits<char> 
>::operator<<(int)'
/tmp/ccNn0zBp.o(.text+0x1c7):/amd/devco/sebor/stdcxx/include/vector.cc:651: 
undefined reference to `std::cout'
/tmp/ccNn0zBp.o(.text+0x1e1):/amd/devco/sebor/stdcxx/include/vector.cc:461: 
undefined reference to `std::basic_ostream<char, std::char_traits<char> 
>::operator<<(unsigned int)'
/tmp/ccNn0zBp.o(.text+0x202):/amd/devco/sebor/stdcxx/include/vector.cc:654: 
undefined reference to `std::basic_ostream<char, std::char_traits<char> 
>::operator<<(int)'
/tmp/ccNn0zBp.o(.text+0x223):/amd/devco/sebor/stdcxx/include/vector.cc:461: 
undefined reference to `std::basic_ostream<char, std::char_traits<char> 
>::operator<<(int)'
/tmp/ccNn0zBp.o(.text+0x233):/amd/devco/sebor/stdcxx/include/vector.cc:671: 
undefined reference to `std::basic_ostream<char, std::char_traits<char> 
>::operator<<(std::basic_ostream<char, std::char_traits<char> >& 
(*)(std::basic_ostream<char, std::char_traits<char> >&))'
/tmp/ccNn0zBp.o(.text+0x297): In function 
`__static_initialization_and_destruction_0':
/amd/devco/sebor/stdcxx/include/vector.cc:679: undefined reference to 
`std::ios_base::Init::Init()'
/tmp/ccNn0zBp.o(.text+0x2c8): In function `__tcf_0':
/amd/devco/sebor/stdcxx/include/vector.cc:685: undefined reference to 
`std::ios_base::Init::~Init()'
/tmp/ccNn0zBp.o(.gnu.linkonce.t._ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc+0x3f):
 In function `std::basic_ostream<char, std::char_traits<char> >& 
std::operator<< <std::char_traits<char> >(std::basic_ostream<char, 
std::char_traits<char> >&, char const*)':
/amd/devco/sebor/stdcxx/include/rw/_specialized.h:74: undefined reference to 
`std::basic_ostream<char, std::char_traits<char> >& __rw::__rw_insert<char, 
std::char_traits<char>, char>(std::basic_ostream<char, std::char_traits<char> 
>&, char const*, int, int)'
/tmp/ccNn0zBp.o(.gnu.linkonce.t._ZN4__rw15__rw_debug_iterISt6vectorIiSaIiEEPiS4_EppEv+0x35):
 In function `__rw::__rw_debug_iter<std::vector<int, std::allocator<int> >, 
int*, int*>::operator++()':
/amd/devco/sebor/stdcxx/include/vector:175: undefined reference to 
`__rw::__rw_assert_fail(char const*, char const*, int, char const*)'
/tmp/ccNn0zBp.o(.gnu.linkonce.t._ZNK4__rw15__rw_debug_iterISt6vectorIiSaIiEEPiS4_EdeEv+0x37):
 In function `__rw::__rw_debug_iter<std::vector<int, std::allocator<int> >, 
int*, int*>::operator*() const':
/amd/devco/sebor/stdcxx/include/vector:175: undefined reference to 
`__rw::__rw_assert_fail(char const*, char const*, int, char const*)'
/tmp/ccNn0zBp.o(.gnu.linkonce.t._ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_+0x1f):
 In function `std::basic_ostream<char, std::char_traits<char> >& 
std::endl<char, std::char_traits<char> >(std::basic_ostream<char, 
std::char_traits<char> >&)':
/amd/devco/sebor/stdcxx/include/numeric:59: undefined reference to 
`std::basic_ios<char, std::char_traits<char> >::widen(char) const'
/tmp/ccNn0zBp.o(.gnu.linkonce.t._ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_+0x31):/amd/devco/sebor/stdcxx/include/numeric:58:
 undefined reference to `std::basic_ostream<char, std::char_traits<char> 
>::put(char)'
/tmp/ccNn0zBp.o(.gnu.linkonce.t._ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_+0x39):
 In function `std::basic_ostream<char, std::char_traits<char> >& 
std::endl<char, std::char_traits<char> >(std::basic_ostream<char, 
std::char_traits<char> >&)':
/amd/devco/sebor/stdcxx/include/rw/_iterbase.h:449: undefined reference to 
`std::basic_ostream<char, std::char_traits<char> >::flush()'
/tmp/ccNn0zBp.o(.gnu.linkonce.t._ZNSt6vectorIiSaIiEE10_C_destroyEN4__rw15__rw_debug_iterIS1_PiS4_EE+0x53):
 In function `std::vector<int, std::allocator<int> 
>::_C_destroy(__rw::__rw_debug_iter<std::vector<int, std::allocator<int> >, 
int*, int*>)':
/amd/devco/sebor/stdcxx/include/vector.cc:80: undefined reference to 
`__rw::__rw_assert_fail(char const*, char const*, int, char const*)'
/tmp/ccNn0zBp.o(.gnu.linkonce.t._ZNSaIiE10deallocateEPij+0x1c): In function 
`std::allocator<int>::deallocate(int*, unsigned int)':
/amd/devco/sebor/stdcxx/include/rw/_iterbase.h:331: undefined reference to 
`__rw::__rw_deallocate(void*, unsigned int, int)'
/tmp/ccNn0zBp.o(.gnu.linkonce.t._ZNSt6vectorIiSaIiEE9_C_assignIPKiEEvT_S5_Pv+0x3e):
 In function `void std::vector<int, std::allocator<int> >::_C_assign<int 
const*>(int const*, int const*, void*)':
/amd/devco/sebor/stdcxx/include/rw/_specialized.h:74: undefined reference to 
`__rw::__rw_assert_fail(char const*, char const*, int, char const*)'
/tmp/ccNn0zBp.o(.gnu.linkonce.t._ZNK4__rw15__rw_debug_iterISt6vectorIiSaIiEEPiS4_EmiIS4_EEiRKNS0_IS3_T_S4_EE+0x3f):
 In function `int __rw::__rw_debug_iter<std::vector<int, std::allocator<int> >, 
int*, int*>::operator-<int*>(__rw::__rw_debug_iter<std::vector<int, 
std::allocator<int> >, int*, int*> const&) const':
/amd/devco/sebor/stdcxx/include/rw/_specialized.h:74: undefined reference to 
`__rw::__rw_assert_fail(char const*, char const*, int, char const*)'
/tmp/ccNn0zBp.o(.gnu.linkonce.t._ZNSaIiE7destroyEPi+0x2c): In function 
`std::allocator<int>::destroy(int*)':
/amd/devco/sebor/stdcxx/include/rw/_iterbase.h:347: undefined reference to 
`__rw::__rw_assert_fail(char const*, char const*, int, char const*)'
/tmp/ccNn0zBp.o(.gnu.linkonce.t._ZNSt6vectorIiSaIiEE15_C_assign_rangeIPKiEEvT_S5_St20forward_iterator_tag+0x46):
 In function `void std::vector<int, std::allocator<int> >::_C_assign_range<int 
const*>(int const*, int const*, std::forward_iterator_tag)':
/amd/devco/sebor/stdcxx/include/vector:583: undefined reference to 
`__rw::__rw_assert_fail(char const*, char const*, int, char const*)'
/tmp/ccNn0zBp.o(.gnu.linkonce.t._ZNSt6vectorIiSaIiEE7reserveEj+0x44): In 
function `std::vector<int, std::allocator<int> >::reserve(unsigned int)':
/amd/devco/sebor/stdcxx/include/ostream:410: undefined reference to 
`__rw::__rw_throw(int, ...)'
/tmp/ccNn0zBp.o(.gnu.linkonce.t._ZNSt6vectorIiSaIiEE12_C_push_backERKi+0x34): 
In function `std::vector<int, std::allocator<int> >::_C_push_back(int const&)':
/amd/devco/sebor/stdcxx/include/rw/_allocator.h:173: undefined reference to 
`__rw::__rw_assert_fail(char const*, char const*, int, char const*)'
/tmp/ccNn0zBp.o(.gnu.linkonce.t._ZNSt6vectorIiSaIiEE5eraseEN4__rw15__rw_debug_iterIS1_PiS4_EES5_+0x41):
 In function `std::vector<int, std::allocator<int> 
>::erase(__rw::__rw_debug_iter<std::vector<int, std::allocator<int> >, int*, 
int*>, __rw::__rw_debug_iter<std::vector<int, std::allocator<int> >, int*, 
int*>)':
/amd/devco/sebor/stdcxx/include/ostream:464: undefined reference to 
`__rw::__rw_assert_fail(char const*, char const*, int, char const*)'
/tmp/ccNn0zBp.o(.gnu.linkonce.t._ZNSt6vectorIiSaIiEE5eraseEN4__rw15__rw_debug_iterIS1_PiS4_EES5_+0x92):
 In function `void std::vector<int, std::allocator<int> 
>::_C_insert_range<__rw::__rw_debug_iter<std::vector<int, std::allocator<int> 
>, int*, int*> >(__rw::__rw_debug_iter<std::vector<int, std::allocator<int> >, 
int*, int*>, __rw::__rw_debug_iter<std::vector<int, std::allocator<int> >, 
int*, int*>, __rw::__rw_debug_iter<std::vector<int, std::allocator<int> >, 
int*, int*>, std::forward_iterator_tag)':
/amd/devco/sebor/stdcxx/include/vector.cc:137: undefined reference to 
`__rw::__rw_assert_fail(char const*, char const*, int, char const*)'
/tmp/ccNn0zBp.o(.gnu.linkonce.t._ZNSt6vectorIiSaIiEE14_C_unsafe_swapERS1_+0x67):
 In function `std::vector<int, std::allocator<int> 
>::_C_unsafe_swap(std::vector<int, std::allocator<int> >&)':
/amd/devco/sebor/stdcxx/include/vector:376: undefined reference to 
`__rw::__rw_assert_fail(char const*, char const*, int, char const*)'
/tmp/ccNn0zBp.o(.gnu.linkonce.t._ZNSt6vectorIiSaIiEE14_C_unsafe_swapERS1_+0xf4):
 In function `void std::vector<int, std::allocator<int> 
>::_C_insert_range<__rw::__rw_debug_iter<std::vector<int, std::allocator<int> 
>, int*, int*> >(__rw::__rw_debug_iter<std::vector<int, std::allocator<int> >, 
int*, int*>, __rw::__rw_debug_iter<std::vector<int, std::allocator<int> >, 
int*, int*>, __rw::__rw_debug_iter<std::vector<int, std::allocator<int> >, 
int*, int*>, std::forward_iterator_tag)':
/amd/devco/sebor/stdcxx/include/vector.cc:442: undefined reference to 
`__rw::__rw_assert_fail(char const*, char const*, int, char const*)'
/tmp/ccNn0zBp.o(.gnu.linkonce.t._ZSt4copyIN4__rw15__rw_debug_iterISt6vectorIiSaIiEEPiS5_EES6_ET0_T_S8_S7_+0x3f):/amd/devco/sebor/stdcxx/include/rw/_specialized.h:74:
 more undefined references to `__rw::__rw_assert_fail(char const*, char const*, 
int, char const*)' follow
/tmp/ccNn0zBp.o(.gnu.linkonce.t._ZNSaIiE8allocateEjPKv+0x18): In function 
`std::allocator<int>::allocate(unsigned int, void const*)':
/amd/devco/sebor/stdcxx/include/rw/_iterbase.h:470: undefined reference to 
`__rw::__rw_allocate(unsigned int, int)'
/tmp/ccNn0zBp.o(.gnu.linkonce.t._ZNSt6vectorIiSaIiEE15_C_insert_rangeIPKiEEvN4__rw15__rw_debug_iterIS1_PiS7_EET_S9_St20forward_iterator_tag+0x5d):
 In function `void std::vector<int, std::allocator<int> >::_C_insert_range<int 
const*>(__rw::__rw_debug_iter<std::vector<int, std::allocator<int> >, int*, 
int*>, int const*, int const*, std::forward_iterator_tag)':
/amd/devco/sebor/stdcxx/include/rw/_algobase.h:95: undefined reference to 
`__rw::__rw_assert_fail(char const*, char const*, int, char const*)'
/tmp/ccNn0zBp.o(.gnu.linkonce.t._ZNSt6vectorIiSaIiEE15_C_insert_rangeIPKiEEvN4__rw15__rw_debug_iterIS1_PiS7_EET_S9_St20forward_iterator_tag+0x99):
 In function `void std::vector<int, std::allocator<int> 
>::_C_insert_range<__rw::__rw_debug_iter<std::vector<int, std::allocator<int> 
>, int*, int*> >(__rw::__rw_debug_iter<std::vector<int, std::allocator<int> >, 
int*, int*>, __rw::__rw_debug_iter<std::vector<int, std::allocator<int> >, 
int*, int*>, __rw::__rw_debug_iter<std::vector<int, std::allocator<int> >, 
int*, int*>, std::forward_iterator_tag)':
/amd/devco/sebor/stdcxx/include/vector:585: undefined reference to 
`__rw::__rw_assert_fail(char const*, char const*, int, char const*)'
/tmp/ccNn0zBp.o(.gnu.linkonce.t._ZNSt6vectorIiSaIiEE15_C_insert_rangeIPKiEEvN4__rw15__rw_debug_iterIS1_PiS7_EET_S9_St20forward_iterator_tag+0x182):
 In function `void std::vector<int, std::allocator<int> 
>::_C_insert_range<__rw::__rw_debug_iter<std::vector<int, std::allocator<int> 
>, int*, int*> >(__rw::__rw_debug_iter<std::vector<int, std::allocator<int> >, 
int*, int*>, __rw::__rw_debug_iter<std::vector<int, std::allocator<int> >, 
int*, int*>, __rw::__rw_debug_iter<std::vector<int, std::allocator<int> >, 
int*, int*>, std::forward_iterator_tag)':
/amd/devco/sebor/stdcxx/include/vector.cc:140: undefined reference to 
`__rw::__rw_assert_fail(char const*, char const*, int, char const*)'
/tmp/ccNn0zBp.o(.gnu.linkonce.t._ZNSt6vectorIiSaIiEE9_C_assignIN4__rw15__rw_debug_iterIS1_PiS5_EEEEvT_S7_Pv+0x3f):
 In function `void std::vector<int, std::allocator<int> 
>::_C_assign<__rw::__rw_debug_iter<std::vector<int, std::allocator<int> >, 
int*, int*> >(__rw::__rw_debug_iter<std::vector<int, std::allocator<int> >, 
int*, int*>, __rw::__rw_debug_iter<std::vector<int, std::allocator<int> >, 
int*, int*>, void*)':
/amd/devco/sebor/stdcxx/include/rw/_specialized.h:74: undefined reference to 
`__rw::__rw_assert_fail(char const*, char const*, int, char const*)'
/tmp/ccNn0zBp.o(.gnu.linkonce.t._ZSt4copyIPKiPiET0_T_S4_S3_+0x3e): In function 
`int* std::copy<int const*, int*>(int const*, int const*, int*)':
/amd/devco/sebor/stdcxx/include/rw/_specialized.h:74: undefined reference to 
`__rw::__rw_assert_fail(char const*, char const*, int, char const*)'
/tmp/ccNn0zBp.o(.gnu.linkonce.t._ZNSt6vectorIiSaIiEE15_C_assign_rangeIN4__rw15__rw_debug_iterIS1_PiS5_EEEEvT_S7_St20forward_iterator_tag+0x46):/amd/devco/sebor/stdcxx/include/vector:583:
 more undefined references to `__rw::__rw_assert_fail(char const*, char const*, 
int, char const*)' follow
/tmp/ccNn0zBp.o(.gnu.linkonce.t._ZNSt11char_traitsIcE6lengthEPKc+0xd): In 
function `std::char_traits<char>::length(char const*)':
/amd/devco/sebor/stdcxx/include/rw/_iterbase.h:344: undefined reference to 
`__rw::__rw_strlen(char const*)'
/tmp/ccNn0zBp.o(.eh_frame+0x12):/amd/devco/sebor/stdcxx/include/vector:317: 
undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
make: Leaving directory `/build/sebor/stdcxx-gcc-3.2.3_56-15s/examples'


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

Reply via email to