Ingvarr Zhmakin wrote: > Доброе утро. > > > > === > > > virssmaa.o: In function `std::string::_Rep::_M_refdata()': > > > virssmaa.o(.text+0x3680): multiple definition of > > > `std::string::_Rep::_M_refdata()' > > > BasicDomain.o(.text+0x1900): first defined here > > > collect2: ld returned 1 exit status > > > === > > > Замечено: оба цепепешника, из которых эти объектники сделаны, включают > > > <string>. > > Сделай минимальный исходник, на котором проявляется баг и запости его сюда. > Хорошо, кину. > > > А также расскажи, какие у тебя версии g++ и libstdc++ (точно, а не "3.0") и > > откуда ты их взял. Скорее > > всего, твоя проблема решается апгрейдом STL (libstdc++). > Всё взято с ftp.*.debian.org: > === > ii cpp-3.0 3.0-0pre010403 The GNU C preprocessor. > ii cpp-3.0-doc 3.0-0pre010403 Documentation for the GNU C preprocessor (cp > ii fastjar 3.0-0pre010403 Jar creation utility > ii fixincludes 3.0-0pre010403 Fix header files > ii g++-3.0 3.0-0pre010403 The GNU C++ compiler. > ii gcc-3.0 3.0-0pre010403 The GNU C compiler. > ii gcc-3.0-base 3.0-0pre010403 The GNU compiler collection (base package). > ii gcc-3.0-doc 3.0-0pre010403 Documentation for the GNU compilers (gcc, go > ii libgcc300 3.0-0pre010403 Shared libgcc. > ii libstdc++3.0 3.0-0pre010403 The GNU stdc++ library version 3 > ii libstdc++3.0-d 3.0-0pre010403 The GNU stdc++ library version 3 (developmen > ii libstdc++3.0-d 3.0-0pre010403 The GNU stdc++ library version 3 (documentat > ii protoize 3.0-0pre010403 Create/remove ANSI prototypes from C code > === > Только вот насчет того, что это решается апгрейдом... > Я ж говорю -- с Каи (вылизанной версией, с которой все их примеры > компилировались на ура) было похожее. > Это какое-то глобальное явление -- невосприятие линкером объектников...
Хм, странно у меня с этой версией все ОК линковалось. Я надеюсь, ты пользуешься веткой woody, раз у тебя такие версии gcc и STL? А может тебе binutils проапгрейдить? Можно попробовать проапгрейдить GCC до версии pre010801 из нестабильной ветки (при помощи wget+dpkg (или можно еще как-то не добавляя нестабильную ветку в apt-sources?)). Вообще, та версия которая у тебя (pre010403) у меня половину исходников не компилировала, которые 2.95 переваривал (internal compiler error был). А версия pre010727 вообще не работала. А вот pre010801 (вчера поставил) вроде получше будет. Еще можно попробовать проапгрейдить libc6 (это скорее всего ничего не даст, но gcc почему-то от нее зависит). Еще можно поставить gcc и STL релизные из .tar.bz2 c ftp://gcc.gnu.org. Еще можно пользоваться таким известным фокусом (хотя, скорее всего тоже не поможет, так как этот баг только на двух (и больше) файлах проявляется): #ifndef STRING_INCLUDED #define STRING_INCLUDED #include <string> #endif А может у тебя там какие-то хитрые ключики для линкера стоят?

