Имею странную ситуацию с компиляцией "своего" проекта. [pv@builder-p8 DBServer-PostgreSQL]$ make /bin/sh ../../libtool --tag=CXX --mode=link g++ -I/usr/include/pgsql -g -O2 -funsigned-char -std=c++11 -g -D_GNU_SOURCE -D__x86_64__ -D__linux__ -D__OSVERSION__=2 -I/usr/include/libxml2 -I/usr/include/sigc++-2.0 -I/usr/lib64/sigc++-2.0/include -D_GNU_SOURCE -I../../include -Wnon-virtual-dtor -Woverloaded-virtual -Woverflow -D_GLIBCXX_USE_NANOSLEEP -lomniORB4 -lomnithread -lxml2 -lsigc-2.0 -pthread -lccgnu2 -ldl -lrt -lpthread -o uniset2-pgsql-dbserver uniset2_pgsql_dbserver-main.o libUniSet2-pgsql.la ../../lib/libUniSet2.la -lpqxx libtool: link: g++ -I/usr/include/pgsql -g -O2 -funsigned-char -std=c++11 -g -D_GNU_SOURCE -D__x86_64__ -D__linux__ -D__OSVERSION__=2 -I/usr/include/libxml2 -I/usr/include/sigc++-2.0 -I/usr/lib64/sigc++-2.0/include -D_GNU_SOURCE -I../../include -Wnon-virtual-dtor -Woverloaded-virtual -Woverflow -D_GLIBCXX_USE_NANOSLEEP -pthread -o .libs/uniset2-pgsql-dbserver uniset2_pgsql_dbserver-main.o -lomniORB4 -lomnithread -lxml2 -lsigc-2.0 -lccgnu2 -ldl -lrt -lpthread ./.libs/libUniSet2-pgsql.so ../../lib/.libs/libUniSet2.so -lpqxx -pthread -Wl,-rpath -Wl,/usr/local/lib ./.libs/libUniSet2-pgsql.so: undefined reference to `pqxx::dbtransaction::fullname(std::string const&, std::string const&)' ./.libs/libUniSet2-pgsql.so: undefined reference to `pqxx::internal::throw_null_conversion(std::string const&)' ./.libs/libUniSet2-pgsql.so: undefined reference to `pqxx::transaction_base::exec(std::string const&, std::string const&)' ./.libs/libUniSet2-pgsql.so: undefined reference to `pqxx::basic_transaction::basic_transaction(pqxx::connection_base&, std::string const&, pqxx::readwrite_policy)' ./.libs/libUniSet2-pgsql.so: undefined reference to `pqxx::connectionpolicy::connectionpolicy(std::string const&)' collect2: error: ld returned 1 exit status make: *** [uniset2-pgsql-dbserver] Ошибка 1 При том, что на p7 собирается и на сизифе собирается. Проблема только на p8. [pv@builder-p8 DBServer-PostgreSQL]$ rpm -qa | grep libpqxx libpqxx-4.0.1-alt1_6 libpqxx-devel-4.0.1-alt1_6
В Сизифе у меня # rpm -qa | grep libpqxx libpqxx-devel-3.2-alt2_0.6.1 libpqxx-3.2-alt2_0.6.1 В p7 # rpm -qa | grep libpqxx libpqxx-3.2-alt1_0.4 libpqxx-devel-3.2-alt1_0.4
Выяснил, что Сизиф свой я просто видимо давно не обновлял, так что в репозиториях (Сизифа) лежит: libpqxx-4.0.1-alt1_6 libpqxx-devel-4.0.1-alt1_6 P.S. Но я пока не рискнул обновлять, чтобы не поломать себе проект. Если требуется проверка, сообщите, обновлю (откачусь потом в крайнем случае)
Уточнение: Проверил на Сизифе (32,64) нормально собирается без ошибок. Версия при этом [pv@builder64 ~]$ rpm -qa | grep libpqxx libpqxx-devel-4.0.1-alt1_6 libpqxx-4.0.1-alt1_6 Так что похоже на некорректные пакеты (может копировали из Сизифа а не собирали) в p8.
Когда соберётся, подключите и проверьте. #166194 BUILDING #1 [locked] [test-only] p8 copy=boost
А как посмотреть статус?
(В ответ на комментарий №5) > А как посмотреть статус? Зайти на http://git.altlinux.org, ввести в поле 166194 и нажать Enter. Оно собрано, можете проверять: apt-repo add 166194 apt-get update apt-get dist-upgrade
хорошо..попробую P.S. смущает только, что это задание про boost, а моя проблема вроде на boost не завязана никак.
(В ответ на комментарий №7) > хорошо..попробую > > P.S. смущает только, что это задание про boost, а моя проблема вроде > на boost не завязана никак. Попробуйте найти другое решение.
Выяснил(и) примерно следующее (попытка объяснения): В p8 по умолчанию идёт gcc-c++-4.7. В Сизифе gcc5-c++ Возможно что libpxx копировался из Сизифа, а не пересобирался. Из-за этого и возникает ошибка. С boost в систему установился gcc5, мы сделали select-gcc 5 и с ним нормально собирается. Вообщем получается какой-то конфликт при сборке по умолчанию gcc-4.7 и библиотекой (видимо собранной gcc5) libpqxx. Как-то так. Возможно в p8 существуют тогда и другие конфликты для пакетов копируемых из Сизифа.
(In reply to comment #9) > Выяснил(и) примерно следующее (попытка объяснения): > > В p8 по умолчанию идёт gcc-c++-4.7. Нет, в p8 по умолчанию gcc5. В обновлённых с p7 gcc автоматически не обновляется и остаётся 4.7.
Хорошо. Тогда видимо можно закрывать этот баг.
На всякий хочу обратить внимание, что какая-то проблема "подводных стуков" существует. У нас действительно p7 обновлённый до p8. Стали собирать другую библиотеку (и как я понимаю столкнулись с той же неясной проблемой). Пакет собрался нормально, но при попытке его установить сюда же где он собран (!), получаем ошибку: osliboscillograph-gtkmm: Требует: libglibmm-2.4.so.1()(64bit) (>= set:oiZB0ZnLkli2KHcUMub4dgtHliMG1qaJSPdMGMgNVmqaRch0QhH42ufyzPpDVonlZwj4ZH1EfIcM2vK9wy2yrlartvtYZjbgZpuaG1uWZAKwZJLk1gGOgVh4lyam4)
NOTABUG
На всякий оставлю для истории: Проблема решается (по крайней мере нам помогло): - установкой gcc5-c++ - установкой automake_1.14 Т.к. они при переезде p7 --> p8 сами не обновляются, а видимо несовместимы с либами (или devel-пакетами) в p8.