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 :-)
Master 2.2 не поддерживается этой библиотекой.
(In reply to comment #1) > Master 2.2 не поддерживается этой библиотекой. 1) что конкретно в M22 ей не нравится? только версия boost? а какая нравится? 2) можно ли это явно прописать в спеке? 3) возможен ли бэкпорт? Утилита из libhw (procpci, кажется) вызывается при сборке hotplug, хотя его спек и не содержит зависимости на libhw. В результате hotplug собирается, но уверенности, что он будет работать правильно, нет. А это значит, что у меня не будет USB. Или мне придётся обновлять сырыми пакетами из Сизифуса пол-системы.
Я не рекомендую использовать новый hotplug и libhw на master 2.2. Последствия не предсказуемы. В связи с этим я поставлю в следующей сборке hotplug Conflict на что-то из Master 2.2. Если Вам очень хочется что бы работал новый hotplug на Master 2.2 (только непонятно - а зачем, ибо его можно использовать _только_ в новой среде ?), то в любом случае придется тащить половину Sisyphus.
непоправимо