LINUX.ORG.RU
ФорумTalks

Чудесные традиции виндовс-программистов

 ,


0

1

Запонадобилась мне программка antiplagiat, а тут автор вывалил версию под линукс. В архиве находятся: бинарник, зависимые библиотеки и шелл-скрипт, который разбирается с LD_LIBRARY_PATH. Все бы ничего, да только библиотеки эти - строго стандартные куски Qt. Автор заботливо положил их в кучу, вдруг их нет у пользователя. А вот иксы почему-то не приложил.

Программа не запускается: Cannot mix incompatible Qt library.

Автор заботливо положил их в кучу, вдруг их нет у пользователя.

Всё правильно сделал.

geekless ★★
()

Программа не запускается: Cannot mix incompatible Qt library.

С R-Studio 2 такая же фигня, а первая версия нормально работает.

RussianNeuroMancer ★★★★★
()
Ответ на: комментарий от marvin_yorke

Там регистрироваться надо и потом общаться с автором, а тут можно просто ЧСВ почесать и с ЧГУ пойти на обед.

abraziv_whiskey ★★★★★
() автор топика
Ответ на: комментарий от geekless

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

abraziv_whiskey ★★★★★
() автор топика

значит, каких-то кусочков Qt не доложил

Harald ★★★★★
()

Автор заботливо положил их в кучу, вдруг их нет у пользователя.

Шутки шутками, а новых библиотек в некоторых версиях дистрибутива может и не быть.

Deleted
()
Ответ на: комментарий от Deleted

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

abraziv_whiskey ★★★★★
() автор топика

Всё правильно сделал. Благодаря этому, программа пробудет в рабочем состоянии дольше, чем если бы она использовала библиотеки из дистра. Только он в данном случае что-то положить забыл. А вообще ему следовало бы собрать статически лучше.

firestarter ★★★☆
()
Ответ на: комментарий от firestarter

Я чото п. Он не забыл положить, просто библиотека не видится по указанному пути. ldd видит на этом же месте все остальные библиотеки. Шайтан, однако!

abraziv_whiskey ★★★★★
() автор топика
Ответ на: комментарий от abraziv_whiskey

Скорее всего просто взял версию с дистра, где собирал.

Deleted
()
Ответ на: комментарий от Deleted
ldd EtxtAntiplagiat 
        linux-gate.so.1 =>  (0xf771b000)
        libQtWebKit.so.4 => not found
        libQtTest.so.4 => /usr/lib/libQtTest.so.4 (0xf76ce000)
 дальше все библиотеки видит
ls -f
..               libQtTest.so.4      libQtXml.so.4  QT_LIB          qmltooling        libQtGui.so.4      .             accessible       codecs
graphicssystems  EtxtAntiplagiat.sh  bearer         libQtCore.so.4  libQtWebKit.so.4  libQtNetwork.so.4  imageformats  EtxtAntiplagiat
abraziv_whiskey ★★★★★
() автор топика
Последнее исправление: abraziv_whiskey (всего исправлений: 1)
Ответ на: комментарий от abraziv_whiskey

Не, я тебе про библиотеки, от которых он зависит. Qt либы могут зависеть друг от друга.

Deleted
()
Ответ на: комментарий от Deleted

Да вроде все на месте. Нотфаундов не обнаружено и все связи, содержащие буквы Qt, ведут в текущий каталог, где лежит это добро.

abraziv_whiskey ★★★★★
() автор топика
Ответ на: комментарий от abraziv_whiskey

Упс, оно 32битное. А оно потом лезет подгружать gstreamer (libgstapp). Мне лень сейчас собирать 32битный gstreamer. Так что сорри.

DELIRIUM ☆☆☆☆☆
()
Ответ на: комментарий от firestarter

Благодаря этому, программа пробудет в рабочем состоянии дольше...

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

alpha ★★★★★
()
Ответ на: комментарий от alpha

АААААААААА!!!

Установил родной системный qtwebkit.i686, и оно заработало! Ей вообще не нужны эти заботливо приложенные библиотеки!

abraziv_whiskey ★★★★★
() автор топика
Ответ на: комментарий от firestarter

Всё правильно сделал. Благодаря этому, программа пробудет в рабочем состоянии дольше, чем если бы она использовала библиотеки из дистра.

Благодаря этому программа в нерабочем состоянии изначально.

tailgunner ★★★★★
()
Ответ на: АААААААААА!!! от abraziv_whiskey

Установил родной системный qtwebkit.i686, и оно заработало!

ничего, к следующей версии автор осилит статическую линковку...

Anonymous ★★★★★
()

Автор заботливо положил их в кучу, вдруг их нет у пользователя.

Всё правильно сделал. Если ты продвинутый пользователь, то можешь использовать библиотеки из своего дистра, автор же позаботился о том, чтобы программа работала в большинстве дистров в не зависимости от того, что там за зоопарк установлен.

UVV ★★★★★
()
Ответ на: комментарий от UVV

Правильно - это если собрать пакет и указать зависимости. Но он даже неправильно сделал неправильно. Может, отправить его на DailyWTF?

abraziv_whiskey ★★★★★
() автор топика
Последнее исправление: abraziv_whiskey (всего исправлений: 1)
Ответ на: комментарий от Anonymous

ничего, к следующей версии автор осилит статическую линковку...

Сомневаюсь, что у автора куплена лицензия Qt.

UVV ★★★★★
()
Ответ на: комментарий от abraziv_whiskey

Правильно - это если собрать пакет и указать зависимости.

В моём дистре нет зависимостей, к примеру, - раз.
Автор не хочет делать дополнительную работу, собирая пакет под каждый дистр, - два.
Можешь сам сходить поднабраться опыта, прежде чем жаловаться на такой подход. Такой подход к распространению приложений с закрытым кодом самый оптимальный и менее затратный, имхо.

UVV ★★★★★
()
Ответ на: комментарий от abraziv_whiskey

Правильно - это если собрать пакет и указать зависимости

Ещё пример. Автор использует в своём приложении что-то специфичное из Qt 4.8.x например, а в твоём дистре только 4.7.x доступна. Твои действия?

UVV ★★★★★
()
Ответ на: комментарий от UVV

Автор использовал 4.8 еще до того, как это стало мейнстримом? Ну и кто он после этого?

А в данном конрктном случае, он отстает по версиям от меня, например.

abraziv_whiskey ★★★★★
() автор топика
Последнее исправление: abraziv_whiskey (всего исправлений: 1)
Ответ на: комментарий от abraziv_whiskey

А в данном конрктном случае, он отстает по версиям от меня, например.

Т.е. в данном конкретном случае, ты подразумевашь, что ты единственный клиент автора? Советую посмотреть шире и представить, что у него есть ещё пользователи не с самыми новыми дистрами.

UVV ★★★★★
()
Ответ на: комментарий от abraziv_whiskey

Автор использовал 4.8 еще до того, как это стало мейнстримом? Ну и кто он после этого?

Он продвинутый разработчик, заботящийся о своём приложении. В 4.8 было исправлено много багов, по сравнения с 4.7.

UVV ★★★★★
()
Ответ на: комментарий от UVV

А еще у меня есть один компьютер с мандривой 2009. Не вру. Так там программа жалуется на устаревший глибц, но я же ее в этом не виню, тут я сам виноват.

abraziv_whiskey ★★★★★
() автор топика
Последнее исправление: abraziv_whiskey (всего исправлений: 1)
Ответ на: комментарий от UVV

В моём дистре нет зависимостей, к примеру, - раз.

Интересно, что за дистр такой, где все собрано статически

dexpl ★★★★★
()
Ответ на: комментарий от abraziv_whiskey

Ну он приложил библиотеки, но бинарник же на них не обращает внимания!

Тебе ж сказали уже, ну оттестировал плохо, ошибка в скрипте значит. Со всяким бывает, приходит с опытом.

UVV ★★★★★
()
Ответ на: комментарий от dexpl

Интересно, что за дистр такой, где все собрано статически

Зависимости есть, в пакетном менеджере - нет. Дистр - Slackware.

UVV ★★★★★
()
Ответ на: комментарий от UVV

Зависимости есть, в пакетном менеджере - нет. Дистр - Slackware.

Я так и думал

dexpl ★★★★★
()
Ответ на: комментарий от UVV

Ну и заявит мне пакетный менеджер, что у меня пока нет нужной версии библиотек. Простым языком. Я пойду и подключу транк или еще какой ультранестабильный реп и поставлю-таки. А автор, получив несколько отзывов о необходимости быть в рамках приличия относительно версий не будет бежать впереди всей планеты. Короче, разница в культуре распространения софта мешает спокойно жить.

abraziv_whiskey ★★★★★
() автор топика
Ответ на: комментарий от abraziv_whiskey

Ну и заявит мне пакетный менеджер, что у меня пока нет нужной версии библиотек. Простым языком. Я пойду и подключу транк или еще какой ультранестабильный реп и поставлю-таки. А автор, получив несколько отзывов о необходимости быть в рамках приличия относительно версий не будет бежать впереди всей планеты.

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

UVV ★★★★★
()
Ответ на: комментарий от UVV

Можешь сам сходить поднабраться опыта, прежде чем жаловаться на такой подход. Такой подход к распространению приложений с закрытым кодом самый оптимальный и менее затратный, имхо.

может есть смысл открыть код, и не заниматься хренью?

В моём дистре нет зависимостей, к примеру, - раз.

так не бывает.

drBatty ★★
()
Ответ на: комментарий от alpha

Такой же метод работает с Trine из Humble Bundle, к слову.

И shank и еще кучи их игр от них, и нескольких ide (komodo, к примеру).
И что приятно - каждый раз _работает_ и не вызывает вопросов.

Spirit_of_Stallman ★★★
()
Ответ на: комментарий от UVV

Автор использует в своём приложении что-то специфичное из Qt 4.8.x например, а в твоём дистре только 4.7.x доступна. Твои действия?

толку-то? Всё равно не взлетит, пока 4.8 не поставят.

drBatty ★★
()
Ответ на: комментарий от tailgunner

Благодаря этому программа в нерабочем состоянии изначально.

Вендопрограммисты только осваивают волнующий мир линупса. Освоят, наделают тулзов - будет все изначально в рабочем состоянии.
ЗЫ
Тестирование правда своих поделий врятли освоят, но тем не менее, прогресс...

kernel ★★☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.