Category: it

QT и динамически связывамые библиотеки в Linux

Если в QT при компиляции появилась ошибка "undefined reference to symbol 'dlclose@@GLIBC_2.2.5'" (и вместе с ним "/lib64/libdl.so.2:-1: ошибка: error adding symbols: DSO missing from command line"), значит надо в дополнительные параметры сборки (qmake) внести строку "LIBS+=-ldl".

А ещё QT иногда после очередного обновления системы вдруг решает, что проект перенесён с другого компьютера, и стирает всё, что вы там в эти дополнительные параметры внесли. Поэтому их надо сохранять. Отдельно.

Компилирование в Qt Creator на ODROID XU3 программ, использующих FFMPEG

(Как компилировать сам Qt Creator на ODROID XU3 читайте здесь)

Столкнулся тут с проблемой компилирования на ODROID XU3 программ, использующих библиотеку FFMPEG. Если не устанавливать на ODROID FFMPEG-библиотеку, то естественно, ничего не компилируется. Если эту библиотеку установить, то почти всё компилируется до этапа линкования собственно с библиотекой, с выдачей вот таких сообщений об ошибках:

undefined reference to `av_frame_free'
undefined reference to `avformat_alloc_output_context2'


При этом сообщений о том, что не найдена та или иная библиотека не выдаётся, то есть вроде как библиотека есть, но в ней таких функций нет.

Сначала я подумал было, что я как-то неправильно скомпилировал сами библиотеки, и это, возможно, так и было, поскольку я поначалу использовал просто команды ./configure, make и потом make install. Однако если дать команду ffmpeg на моём ноутбуке или на подстольном компьютере, то я получал вот такой примерно вывод:

Collapse )

Qt 5.4 + Qt Creator 3.3 на ODROID XU3

Прикупил тут я себе маленький компьютер. Без корпуса весит 48 граммов, жрёт 10 Ватт (20-ти ваттный источник питания, чтобы питать USB-флэшки и прочую мелочь), имеет на борту Arm-овский процессор с 4-мя ядрами Cortex™-A15 и 4-мя ядрами Cortex™-A7, плюс ещё шесть ядер GPU (Mali-T628 MP6). 2 Гигабайта оперативы (для Линукса более чем достаточно). Шесть портов USB (4 USB-2 + 2 USB-3), Ethernet, выход HDMI (на монитор), звуковой выход, вместо HDD микро-SD-карта. Практически полноценный комп, только слабая видюха, которая, тем не менее, поддерживает OpenCL. Для мобильных систем типа маленького робота просто идеальный вариант. По вычислительной мощности ЦП на уровне хорошего домашнего компа (восемь ядер как-никак). И 48 грамм (без проводов и блока питания :)).



Collapse )

Компонента V7Plus : Ошибка инициализации XML Parser (1С 7.7)

Или как починить MSXML-парсер.

Притащила одна бухгалтерша ноутбук с установленной на нём программой 1С версии 7.7. В этой старой 1С-ке не формировались бухгалтерские отчёты, при этом 1С-ка выдавала следующее сообщение об ошибке: "Компонента V7Plus : Ошибка инициализации XML Parser".

Перед этим она мне звонила, спрашивала, не знаю ли я как решить эту проблему, и я не знал, но был готов попробовать. Однако её шеф решил позвать 1С-ников. По словам бухгалтерши к ней поочереди приходили трое специалистов по 1С, но с мёртвой точки дело не сдвинулось. Пришла моя очередь :).

Я с такой проблемой никогда не сталкивался, и начал с найденных в интернете рекомендаций переустановить msxml-парсеры. Не знаю, почему, но везде, где рассматривалась эта проблема (из тех мест, что я нашёл), "знающие" люди говорили, что седьмая 1С-ка работает только с третьей версией xml-парсера, поэтому они рекомендовали удалить четвёртый и более новые, а третий переустановить. Кое где предлагали переустановить и третий и четвёртый парсер. Я это, конечно, всё попробовал, но это не помогло. По следам в системе я обнаружил, что это всё перепробовал не только я.

Collapse )

504 Gateway Time-out -- nginx/1.1.19

Уже третий день ЖЖ для меня практически недоступен. Иногда удаётся зайти на свою страничку или даже в ленту друзей и к ЖЖ-друзьям, однако при попытке получить доступ к записям, объединённым под каким-либо тегом, в большинстве своём ЖЖ зависает, и после пары минут ожидания я получаю сообщение "504 Gateway Time-out -- nginx/1.1.19".

Надо заметить, что такая ошибка может выдаваться только со стороны сервера.

После ошибки в течении некоторого времени (несколько минут, десять-двадцать минут - когда как) ЖЖ больше недоступно ни при каких условиях. После этого доступ восстанавливается, но только если не лезть ни в какие дебри, а смотреть только новые записи.

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

При этом по крайней мере у одной ЖЖ-подруги всё работает прекрасно (по её утверждению).
Попробовал зайти с телефона по сотовой сети - открыл свою ленту друзей, кликнул на "предыдущие 10" и получил ошибку 503 (синенькая такая страничка ЖЖ "Vanish Error", где написано, что это временные трудности).

Имею предположение, что проблема заключается в том, что в ЖЖ глючит алгоритм распределения нагрузки по серверам. Или сами сервера.

На моё обращение  ответили только часов через 30.

При доступе ко всем другим сайтам я не испытываю абсолютно никаких проблем.

ЗЫ:

служба поддержки попросила сделать пинг до их сервиса и трассировку. Пинг 192, а вот трассировка примечательная:

 7  mow-b4-link.telia.net (80.239.195.65)  23.564 ms   22.349 ms   21.140 ms
 8  s-bb4-link.telia.net (213.155.130.140)  24.781 ms   24.869 ms   24.722 ms
 9  kbn-bb2-link.telia.net (213.155.130.51)  50.821 ms   49.612 ms   48.571 ms
10  nyk-bb2-link.telia.net (80.91.247.119)  125.642 ms   125.605 ms   125.563 ms
11  ash-bb4-link.telia.net (80.91.245.98)  132.248 ms   132.183 ms   132.193 ms
12  ash-b2-link.telia.net (213.155.133.229)  131.033 ms   130.860 ms   130.978 ms
13  defensenet-ic-302032-ash-b2.c.telia.net (62.115.32.2)  131.839 ms   131.811 ms   131.795 ms
14  * * *
15  null.defense.net (69.163.124.90)  192.459 ms   192.321 ms   192.393 ms
16  sip.services.livejournal.com (208.93.0.193)  1112.530 ms   1111.439 ms   1110.353 ms

До null.defense.net всё нормально, а потом резкий скачок времени прохода пакетов до практически неприемлемых значений.

defense.net, кстати, это сервис, призванный защищать сайты от DDoS-атак. То есть до него всё в порядке, а за ним - полный беспредел. Я вот думаю, может это defense.net всё портит? Ну посмотрим, что скажут технические поддержальщики.

ЗЫ: продолжение здесь.

Skype как инструмент зачистки

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

Причина проста: ненавистная мной компания Microsoft изменила его код таким образом, что б он не работал на по-прежнему широко распространённой версии Windows XP. В Скайпе же по умолчанию стоит опция "Обновлять автоматически". Поэтому после очередного автоматического обновления Skype начинает выдавать фатальную ошибку. При этом уже с пару лет как дистрибутив Cкайпа не выдаётся, а с официального сайта можно скачать только маленький инсталлятор, который сам уже всё устанавливает, скачивая по сети. Поэтому предыдущую версию Скайпа взять негде. Соответственно,  выход для владельцев XP есть только один: после отмирания Скайпа, когда ещё можно откатиться без последствий в виде влияния на другие программы, надо откатить систему (если включена опция восстановления системы), после чего можно выключить автоматическое обновление в настройках Скайпа и жить себе спокойно со своим стареньким виндовозом на своём стареньком компе.

Многие люди меня удивляют тем, что после появления проблем они как-то с этими проблемами продолжают жить, ничего не предпринимая неделями, а то и месяцами.

Я так понимаю, компания Microsoft делает всё от неё зависящее для того, что бы сделать жизнь людей, пользующихся старым виндовозом, невыносимой, что бы заставить их купить новую версию Windows-8. В данном случае это такая зачистка от старой винды с помощью Скайпа. Заодно они таким образом монетизируют владение убыточным, причём сильно убыточным Скайпом.

//========================
Добавление: вообще-то, я что-то начал вспоминать, что однажды что-то похожее со скайпом уже было, и тоже после обновления, но тогда мне как-то удавалось заставить его работать после полного удаления Скайпа с последующим удалением всех папок, которые к нему относились (там оставался какой-то мусор), и установкой Скайпа заново вчистую. В этот раз на тех виндузах, на которых он отрубился, я эту манипуляцию попробовать забыл. Возможно, прошло бы (простое удаление с последующей установкой не помогало). Ну ладно, если ещё кто обратится - поэкспериментирую и отпишу, если получится. Ещё, вероятно, зависит от того, какой сервис-пак стоит на виндовозе. Многие пользуют SP-2, но я видел программы (в том числе антивирусы), которые впрямую требовали SP-3. А может быть, от версии какого-нибудь дот-нет зависит. Сам Skype, к сожалению, ничего толком не говорит.

Создание коммерческих продуктов на QT

К своему удивлению обнаружил, что оказывается, для того, чтобы иметь право создавать коммерческое программное обеспечение на QT, совсем не обязательно оплачивать коммерческую лицензию на сам QT. Лицензия LGPL, под которой распространяется этот продукт, позволяет создавать и распространять своё коммерческое ПО при условии, что библиотеки QT цепляются динамически, и что в QT или в его библиотеки не вносилось никаких изменений.

Collapse )

Вот думаю теперь: может чего коммерческого забубенить? QT ведь умеет и для Винды компилять.

Realtek rtl8723ae в Linux

Столкнулся я с этой железкой когда ставил Линукс товарищу на ноутбук Toshiba Satellite C870-DNW. В тот день ему очень хотелось получить работающий ноутбук побыстрее, поскольку он пообещал дочке, что в субботу у неё уже будет новый комп взамен сгоревшего старого. Дочку ему расстраивать не хотелось, и я его понимаю.

К тому же он товарищ очень занятый, работает практически без выходных, и зарулить к нему на несколько часов, что бы разобраться с этой железкой, было не вполне удобно. А я давно хотел купить себе большой мощный ноутбук, что бы можно было запускать на нём OpenCL-евские программы, ну и заниматься там программированием по этой теме при желании. Но вот каждый раз я отговаривал себя от этой мысли, убеждая себя, что такой ноутбук не является для меня жизненно необходимой вещью. Экономил, короче. А тут я подумал: а не купить ли мне ноутбук как у товарища, и убить этим двух зайцев? С одной стороны я поимею наконец железку, которую давно хочу, хоть она мне и не так нужна, но хочется, а с другой стороны у меня будет возможность спокойно, не беспокоя никого, не спеша не торопясь, как говорится, разобраться с этим WiFi rtl8723ae в Linux - заставить его работать у себя, а тогда можно будет спокойно за пять минут решить эту проблему у товарища, которому я Линукса поставил. Заодно повышу свой уровень в Линуксе.Collapse )
В общем, кое-какой опыт в работе с ядрами и драйверами Линукса я по ходу дела получил. И большой мощный ноутбук у меня теперь есть, с экраном 1600х900. На нём OpenCL может работать. Можно поехать с ним куда-нибудь в Крым хоть на всё лето, и сидеть писать свои программы между походами на море.

Использование Linux для интернет-банкинга

Вчера у одной клиентки оживлял комп под управлением Windows и случайно обнаружил, что она пользуется удалённым доступом к банковским услугам через систему iBank2.RU. В чём фишка? Этот iBank2.RU умеет работать и с Линуксом и с Mac-OS, предоставляя доступ к большой куче разных банков. И к 1С у этих iBank2.RU тоже есть примочка, позволяющая прямо из 1С отправлять платёжки в банк.

Лично меня это радует.

1С из под Линукса работает прекрасно, если удаётся заставить её видеть ключ защиты программы. Сетевые версии 1С уже давно поддерживают Линукс, причём официально, а вот с локальными версиями проблема - они только с платной примочкой к Линуксу ключи видят. Но есть надежда, что эту неприятность сообщество Линукс в скором времени преодолеет.

Ещё бы отчёты в налоговую можно было бы из Linux отправлять, и тогда Windows стал бы вообще не нужен.

Я очень жду этого счастливого часа. Буду бухгалтеров на Линукс пересаживать.