From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.1) Gecko/20021003 Description of problem: After updating to glibc-2.3.2, static linking is broken: g++ -Wall -I ../../src/fixed -I ../../src/float -O3 -ffast-math -fstrict-aliasing -m3dnow -ggdb -march=athlon-xp -mcpu=athlon-xp -fprofile-arcs -D_GNU_SOURCE -Wp,-MMD,.d/Test34.d -o Test34 Test34.o -L. -liTest -lpopt -lcephes -lfftw -static Test34.o: In function `boost::detail::shared_count::shared_count[in-charge]<std::basic_ofstream<char, std::char_traits<char> >*, boost::checked_deleter<std::basic_ofstream<char, std::char_traits<char> > > >(std::basic_ofstream<char, std::char_traits<char> >*, boost::checked_deleter<std::basic_ofstream<char, std::char_traits<char> > >)': /usr/include/c++/3.2/iostream:62: undefined reference to `pthread_mutex_init' Test34.o: In function `boost::detail::sp_counted_base_impl<std::basic_ofstream<char, std::char_traits<char> >*, boost::checked_deleter<std::basic_ofstream<char, std::char_traits<char> > > >::~sp_counted_base_impl [in-charge]()': /usr/include/c++/3.2/iostream:62: undefined reference to `pthread_mutex_destroy' Test34.o: In function `boost::detail::sp_counted_base_impl<std::basic_ofstream<char, std::char_traits<char> >*, boost::checked_deleter<std::basic_ofstream<char, std::char_traits<char> > > >::~sp_counted_base_impl [in-charge deleting]()': /usr/include/c++/3.2/iostream:62: undefined reference to `pthread_mutex_destroy' Test34.o: In function `boost::detail::sp_counted_base::~sp_counted_base [in-charge]()': /usr/include/c++/3.2/iostream:62: undefined reference to `pthread_mutex_destroy' Test34.o: In function `boost::detail::sp_counted_base::~sp_counted_base [in-charge deleting]()': /usr/include/c++/3.2/iostream:62: undefined reference to `pthread_mutex_destroy' collect2: ld returned 1 exit status make: *** [Test34] Error 1 Version-Release number of selected component (if applicable): glibc-2.3.2-4.80 How reproducible: Always Steps to Reproduce: 1.make 2. 3. Additional info:
My code does not use threads
That looks like boost is broken (or whatever uses pthread_* functions without making them #pragma weak and using only conditionally (as does e.g. libstdc++). Can you find out what exactly uses them without making them weak?
This is a bug in boost. It has non-weak references to the thread functions in libboost_filesystem.a. Note that not all references are non-weak: U pthread_mutex_destroy U pthread_mutex_init w pthread_mutex_lock w pthread_mutex_unlock Reassigning.
Note that FC1 and FC2 are no longer supported even by Fedora Legacy. Please install a still supported version and retest. If this still occurs on FC3 or FC4 and is a security issue, please reopen and assign to that version and Fedora Legacy. If it still occurs on FC5 or FC6, please reopen and assign to the correct version.