?

Log in

No account? Create an account

Заповедник репрессивной психиатрии

Угар
metaclass
Как понять, что надо идти спать?
Очень просто: делаешь скриншот QtCreator в линуксе в виртуальной машине, открываешь его, а затем начинаешь тупо щелкать на нем в меню и удивляться - а чего это оно не реагирует.

фиг там спать с этими вашими линуксами
metaclass
А вот скажите мне, как в линуксе ищутся shared object, то бишь библиотеки?
Не могу понять, как получается, что там где я собрал Qt креатором проект, он работает, а на другом дебиане - нет. Пишет, что не может загрузить libQtSql.so.4

ldd выдает отличающиется списки используемых либ:

libQtSql.so.4 => not found
libQtGui.so.4 => not found
libQtNetwork.so.4 => not found
libQtCore.so.4 => not found


libQtSql.so.4 => /home/user/qtsdk-2009.02/qt/lib/libQtSql.so.4 (0xb7ebe000)
libQtGui.so.4 => /home/user/qtsdk-2009.02/qt/lib/libQtGui.so.4 (0xb74a4000)
libQtNetwork.so.4 => /home/user/qtsdk-2009.02/qt/lib/libQtNetwork.so.4 (0xb7178000)
libQtCore.so.4 => /home/user/qtsdk-2009.02/qt/lib/libQtCore.so.4 (0xb6f25000)

По аналогии с вендой - скопировал нужные либы в папку к проге - фиг, все равно не видит :)


Установка qt либ из репозитория не помогла - ldd теперь их видит, но прога не работает - версия либ (4.2) раньше той на которой я прогу собирал (4.5)

В натуре придется LD_LIBRARY_PATH править, хотя везде написано что это антигуманно. Или еще как-нибудь заставлять лоадер либы рядом с приложением искать.

А вот если я захочу вместо Qt4.2 поставить Qt4.5, сломается что нибудь в системе или нет? И как это сделать, не поломав голову менеджеру пакетов?

Конская жопа
metaclass
Прикрутил скрипт для запуска, чтобы Qt приложение видело свои либы, как написано тут http://doc.trolltech.com/4.4/deployment-x11.html
Теперь падает с segmentation fault :)

Ухухухуху
metaclass
"Брось утку в воду и надейся что она поплывет". Действует исключительно на утках, которые инстинктивно знают как плавать, а так же на начинающих линупсоидах, умеющих пользоваться гуглом и man(и то с трудом-с).

Либы поставил в /usr/lib, ldconfig, оказывается, перебивает линки на последнюю текущую версию. Забавная идея, но требует веры в то, что в новых версиях либ бинарный API только расширяется.
Теперь требует libc.so.6 (GLIBC_2.4). Что-то руками ставить оное мне совершенно не хочется, как бы не поломать нахрен полсистемы.

PS: таки чтобы отвязать приложение от новой glibc, нужно пересобрать QT с опцией QT_NO_INOTIFY, и убрать еще там откуда-то опцию stack-protector. Жаль, сейчас нету времени толком разбираться с пересборкой QT и прочей ересью. configure утверждает, что при пересборке make поместит бинарники не туда, куда их поставил инсталлер qtsqk, так что в дебри пока не полезу.

Скринсейвер дебиана
metaclass
Скринсейвер дебиана, где плавают вот эти картинки, мне однозначно напоминает бочку с дождевой водой, в которой заводятся странные маленькие животины, которые выглядят такими же скрученными спиралями и плавают точно также, резко раскручиваясь и дергаясь, когда их пугаешь.

Показательные выступления на льду.
metaclass
Но надо сказать, что последние пляски с Qt, glibc и дебианами, а так же закономерная реакция линукс-френдленты на описание оного хорошо демонстрируют почему с софтом под линукс все так "хорошо".
Софт для end-юзеров и прочие приземленные вещи далеко не всегда пишут отмороженные гики с десятилетним опытом решения бессмысленных безумных проблем. Достаточно походить по форумам по .NET например - там огромное количество вопросов, показывающих, что в ИТ работает много _начинающих_ людей. И вот оным начинающим развлечения, подобные тому, чем я занимался вчера - совершенно ни к чему. Не должен обобщенный "программист кульных прог для бухгалтерии Вася Пупкин" сразу разбираться в тонкостях библиотек, порядка их поиска, версий компиляторов и прочей хреновине. Это должно идти потом, когда софт уже заработал, был продан и надо его улучшать, выпускать новую версию и есть на этот бабки, полученные от продажи первой версии.

Я так понимаю, не всем очевидна конечная цель работы: "написать софт, внедрить клиентам, получить бабки". И что чем меньше времени уйдет на это - тем больше бабок в единицу времени получится. И что время на "чтение гугла и манов", "пересборку QT", "изучение тонкостей поиска shared objects" - это все кем-то должно оплачиваться. Я не знаю, по моему, видеть во всем в первую очередь бизнес-смысл и енд-юзеров - достаточно полезная вещь, хорошо вправляет мозги и компенсирует техно-гиковские перегибы.

Не говоря уже о факапах вроде "приехали показывать софт тендерной комиссии, а там НИЧЕГО не запустилось, потому что линукс не той системы" - такое вообще недопустимо, между прочим.