считайте за ап

расскажу байку как я надумал перенести /usr на другой винт. тру было бы сделать раздел и маунтить все туда, но переразбивать винт не хотелось. скопировал значит и сделал символическую ссылку. получилось так: /usr -> /mnt/ext/usr
до первого emerge --update --deep world все шло нормально, вдруг какая то фигня не линкуется с libm, убеждая меня что libm.a собрана без -fPIC
то что линковаться должно с динамической библиотекой я как то проипал. вытянул ебилдом сырцы, начал смотреть мэйкфайлы, собрал glibc и в логах нашол, что в процессе компилится libm_pic.a и вней все объектные файлы уже с -fPIC ну подумаешь, скопировал этот архив в /usr/lib64, софтина собралась, но следующая спотыкнулась с той же проблемой, но уже на другой либе. подозрение закралось, что я сделал что то не так

на багтрекере намекали, что линковаться все же должно с динамическими библиотеками. наконец ума хватило глянуть в /usr/lib64 и посмотреть на злосчастную libm.so ну и соответственно обнаружилось что это символическая ссылка, причем относительная вида ../../lib64 ну и с переносом usr на /mnt/ext все похерилось. пересобрал емерджем глибц, ума нормальные ссылки выставить инсталлеру не хватило. пофиксил испорченные ссылки ручками.
после очередного sync обновился гном до 2.30, начал все собирать. конченый, убогий, нах не нужный evolution ( который причем тянется за гномом в депендсисах и флага чтобы его послать нах я так и не нашол ) собирался три часа, причем 95 процентов времени хавал libtool, который ругался варнингами, что либа переместилась. делал он это для каждого файла, который линковался а потом тупил по 30 секунд что то там исчя. ldconfig и правка ld.so.conf не помогли с этим. решил почитать про этот libtool и как он работает. обнаружил 9658 строк кода на баше
вобщем пока писал винт переразибился и форматнулся в ext4