Bug 5008

Summary: Cannot rebuild libhw-0.1.1-alt1 with gcc3.2.1 and boost-devel-1.29.0-alt1 due multiple compilation errors
Product: Sisyphus Reporter: evseev <evseev>
Component: libhwAssignee: Denis Smirnov <mithraen>
Status: CLOSED WONTFIX QA Contact: qa-sisyphus
Severity: enhancement    
Priority: P1    
Version: unstable   
Hardware: all   
OS: Linux   
URL: http://ilya-evseev.narod.ru/misc/libhw-rebuild.txt

Description evseev 2004-08-18 00:46:57 MSD
Versions of software I use:
gcc3.2-3.2.1-alt2
gcc3.2-c++-3.2.1-alt2
libgcc3.2-3.2.1-alt2
gcc-common-1.2.1-alt2
libstdc++2.96-2.96-alt3
libstdc++3.2-3.2.1-alt2
libstdc++3.2-devel-3.2.1-alt2
boost-devel-1.29.0-alt1

Steps to Reproduce:
1. Install vanilla ALM22 from CD
2. Update it using APT from ftp://updates.altlinux.com.
3. apt-get install gcc3.2 boost-devel
4. rpmbuild --rebuild libhw-0.1.1-alt1.src.rpm
Actual Results:  
Installing libhw-0.1.1-alt1.src.rpm
Executing(%prep): /bin/sh -e /home/evseev/tmp/rpm-tmp.91144
+ umask 022

...

c++ -pipe -Wall -Os -fexpensive-optimizations -march=i586 -mcpu=i686 -fPIC 
-Werror -pedantic -I../include -c str_utils.cc -o str_utils.o
cc1plus: warnings being treated as errors
/usr/include/boost/type_traits/detail/cv_traits_impl.hpp: In instantiation of 
`boost::detail::cv_traits_imp<char (*)(char, const std::locale&)>':
/usr/include/boost/type_traits/remove_cv.hpp:28:   instantiated from `boost::
remove_cv<char ()(char, const std::locale&)>'
/usr/include/boost/lambda/detail/arity_code.hpp:54:   instantiated from `boost::
lambda::get_arity<char (&)(char, const std::locale&)>'
/usr/include/boost/lambda/detail/arity_code.hpp:84:   instantiated from `boost::
lambda::get_tuple_arity<boost::tuples::tuple<char (&)(char, const std::locale&), 
const boost::lambda::lambda_functor<boost::lambda::placeholder<1> >, const std::
locale, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::
null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::
null_type, boost::tuples::null_type> >'
/usr/include/boost/lambda/detail/arity_code.hpp:72:   instantiated from `boost::
lambda::detail::get_arity_<boost::lambda::lambda_functor_base<boost::lambda::
action<3, boost::lambda::function_action<3, char> >, boost::tuples::tuple<char 
(&)(char, const std::locale&), const boost::lambda::lambda_functor<boost::
lambda::placeholder<1> >, const std::locale, boost::tuples::null_type, boost::
tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::
tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> > >'
/usr/include/boost/lambda/detail/arity_code.hpp:54:   instantiated from `boost::
lambda::get_arity<boost::lambda::lambda_functor_base<boost::lambda::action<3, 
boost::lambda::function_action<3, char> >, boost::tuples::tuple<char (&)(char, 
const std::locale&), const boost::lambda::lambda_functor<boost::lambda::
placeholder<1> >, const std::locale, boost::tuples::null_type, boost::tuples::
null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::
null_type, boost::tuples::null_type, boost::tuples::null_type> > >'
/usr/include/boost/lambda/detail/lambda_functors.hpp:120:   instantiated from 
`boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda:
:action<3, boost::lambda::function_action<3, char> >, boost::tuples::tuple<char 
(&)(char, const std::locale&), const boost::lambda::lambda_functor<boost::
lambda::placeholder<1> >, const std::locale, boost::tuples::null_type, boost::
tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::
tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> > >'
str_utils.cc:18:   instantiated from here
/usr/include/boost/type_traits/detail/cv_traits_impl.hpp:52: warning: ignoring 
`volatile' qualifiers on `char ()(char, const std::locale&)'
/usr/include/boost/type_traits/detail/cv_traits_impl.hpp:53: warning: ignoring 
`volatile' qualifiers on `char ()(char, const std::locale&)'
/usr/include/boost/type_traits/detail/cv_traits_impl.hpp:51: warning: ignoring 
`volatile' qualifiers on `char ()(char, const std::locale&)'
/usr/include/boost/type_traits/detail/cv_traits_impl.hpp:51: warning: ignoring 
`volatile' qualifiers on `char ()(char, const std::locale&)'
/usr/include/boost/type_traits/detail/cv_traits_impl.hpp:54: warning: ignoring 
`volatile' qualifiers on `char ()(char, const std::locale&)'
make[1]: *** [str_utils.o] Error 1
make[1]: Leaving directory `/home/evseev/RPM/BUILD/libhw-0.1.1/src'
make[1]: Entering directory `/home/evseev/RPM/BUILD/libhw-0.1.1/tools'
c++ -pipe -Wall -Os -fexpensive-optimizations -march=i586 -mcpu=i686 -fPIC 
-Werror -pedantic -I../include -c pciscan.cc -o pciscan.o
gcc pciscan.o  -L../src/ -lhw -o pciscan
pciscan.o: In function `main':
pciscan.o(.text+0x49): undefined reference to `std::basic_string<char, std::
char_traits<char>, std::allocator<char> >::_S_empty_rep_storage'
pciscan.o(.text+0x79): undefined reference to `std::basic_string<char, std::
char_traits<char>, std::allocator<char> >::basic_string[in-charge](char const*, 
std::allocator<char> const&)'
pciscan.o(.text+0x7f): undefined reference to `std::basic_string<char, std::
char_traits<char>, std::allocator<char> >::_S_empty_rep_storage'
pciscan.o: In function `.L321':
pciscan.o(.text+0x123): undefined reference to `std::basic_string<char, std::
char_traits<char>, std::allocator<char> >::assign(char const*, unsigned)'
pciscan.o: In function `.L217':

...

../src//libhw.a(hwdb.o): In function `std::basic_string<char, std::
char_traits<char>, std::allocator<char> >* std::vector<std::basic_string<char, 
std::char_traits<char>, std::allocator<char> >, std::allocator<std::
basic_string<char, std::char_traits<char>, std::allocator<char> > > >::
_M_allocate_and_copy<__gnu_cxx::__normal_iterator<std::basic_string<char, std::
char_traits<char>, std::allocator<char> > const*, std::vector<std::
basic_string<char, std::char_traits<char>, std::allocator<char> >, std::
allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > 
> > > >(unsigned, __gnu_cxx::__normal_iterator<std::basic_string<char, std::
char_traits<char>, std::allocator<char> > const*, std::vector<std::
basic_string<char, std::char_traits<char>, std::allocator<char> >, std::
allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > 
> > >, __gnu_cxx::__normal_iterator<std::basic_string<char, std::
char_traits<char>, std::allocator<char> > const*, std::vector<std::
basic_string<char, std::char_traits<char>, std::allocator<char> >, std::
allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > 
> > >)':
hwdb.o(.gnu.linkonce.t.
_ZNSt6vectorISsSaISsEE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPKSs
S1_EEEEPSsjT_S9_+0x21): undefined reference to `std::
__default_alloc_template<(bool)1, (int)0>::allocate(unsigned)'
hwdb.o(.gnu.linkonce.t.
_ZNSt6vectorISsSaISsEE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPKSs
S1_EEEEPSsjT_S9_+0x3e): undefined reference to `__cxa_begin_catch'
hwdb.o(.gnu.linkonce.t.
_ZNSt6vectorISsSaISsEE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPKSs
S1_EEEEPSsjT_S9_+0x52): undefined reference to `std::
__default_alloc_template<(bool)1, (int)0>::deallocate(void*, unsigned)'
hwdb.o(.gnu.linkonce.t.
_ZNSt6vectorISsSaISsEE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPKSs
S1_EEEEPSsjT_S9_+0x59): undefined reference to `__cxa_rethrow'
hwdb.o(.gnu.linkonce.t.
_ZNSt6vectorISsSaISsEE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPKSs
S1_EEEEPSsjT_S9_+0x60): undefined reference to `__cxa_end_catch'
collect2: ld returned 1 exit status
make[1]: *** [pciscan] Error 1
make[1]: Leaving directory `/home/evseev/RPM/BUILD/libhw-0.1.1/tools'
make: *** [subdirs] Error 2
error: Bad exit status from /home/evseev/tmp/rpm-tmp.22513 (%build)


RPM build errors:
    Bad exit status from /home/evseev/tmp/rpm-tmp.22513 (%build)


Expected Results:  
Binary RPM :-)
Comment 1 Anton Farygin 2004-08-20 09:28:19 MSD
Master 2.2 не поддерживается этой библиотекой.
Comment 2 evseev 2004-08-20 23:47:40 MSD
(In reply to comment #1)
> Master 2.2 не поддерживается этой библиотекой.

1) что конкретно в M22 ей не нравится? только версия boost? а какая нравится?
2) можно ли это явно прописать в спеке?
3) возможен ли бэкпорт?

Утилита из libhw (procpci, кажется) вызывается при сборке hotplug, хотя его спек 
и не содержит зависимости на libhw. В результате hotplug собирается, но 
уверенности, что он будет работать правильно, нет. А это значит, что у меня не 
будет USB. Или мне придётся обновлять сырыми пакетами из Сизифуса пол-системы.
Comment 3 Anton Farygin 2004-09-06 14:35:36 MSD
Я не рекомендую использовать новый hotplug и libhw на master 2.2. Последствия не
предсказуемы.

В связи с этим я поставлю в следующей сборке hotplug Conflict на что-то из
Master 2.2.

Если Вам очень хочется что бы работал новый hotplug на Master 2.2 (только
непонятно - а зачем, ибо его можно использовать _только_ в новой среде ?), то в
любом случае придется тащить половину Sisyphus.
Comment 4 Anton Farygin 2005-02-09 17:06:12 MSK
непоправимо