Analitycs

Показаны сообщения с ярлыком MacOS. Показать все сообщения
Показаны сообщения с ярлыком MacOS. Показать все сообщения

понедельник, 31 октября 2011 г.

33

Сабж, собственно.

Вроде недавно 16 отмечал, а уже 33 - и галактика до сих пор полностью не захвачена, к сожалению.

Ну хоть Apertur'у сегодня обновили - к фотографиям своим достучался. Почти праздник ;-)

суббота, 22 октября 2011 г.

Немного о сборке программ с dylib в MacOS

Узнать, какие зависимости у файла к библиотекам

$ otool -L yourFile

На примере злополучной библиотеки MySQL для Qt

$ otool -L /Developer/Applications/Qt/plugins/sqldrivers/libqsqlmysql.dylib
/Developer/Applications/Qt/plugins/sqldrivers/libqsqlmysql.dylib:
 libqsqlmysql.dylib (compatibility version 0.0.0, current version 0.0.0)
 /opt/local/lib/mysql5/mysql/libmysqlclient_r.16.dylib (compatibility version 17.0.0, current version 17.0.0)
 QtSql.framework/Versions/4/QtSql (compatibility version 4.6.0, current version 4.6.2)
 QtCore.framework/Versions/4/QtCore (compatibility version 4.6.0, current version 4.6.2)
 /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.9.0)
 /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 438.0.0)
 /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.11)

Включить показ динамически загружаемых библиотек runtime

# export DYLD_PRINT_LIBRARIES=1

В результате

$ nano dylib.log
dyld: loaded: /usr/bin/nano
dyld: loaded: /usr/lib/libncurses.5.4.dylib
dyld: loaded: /usr/lib/libSystem.B.dylib
dyld: loaded: /usr/lib/system/libmathCommon.A.dylib

Потом, разумеется, не забываем выключить в 0.

Изменить путь линкуемой библиотеки

$ install_name_tool -change /Developer/Applications/Qt/plugins/sqldrivers/libqsqlmysql.dylib @executable_path/libqsqlmysql.dylib ./dist/MyApp.app/Contents/MacOS/MyApp



Спасибо MikhailEdoshin

среда, 19 октября 2011 г.

Aperture 3.2 падает после обновления случайным образом

Нет, определенно -  после моего отъезда Apple распоясалась - сегодня очередное подтверждение.

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

На форуме Apple уже 6 страниц гневных посланий и баг идентифицировали - если у вас старая машина с CoreDuo (не Core2Duo - это первые серии машин с Intel, 2006 год) и RAW файлы - вы почти обречены.

Пока единственный вариант - НЕ ОБНОВЛЯТЬСЯ на 3.2, оставаясь на Aperture 3.1.3

 - либо уже если поторопились и обновились - то спасет только восстановление из бекапа TimeMachine. Но при мысле о восстановлении 25 Гб лично мне как-то становится грустно.

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

Нет, Apple определенно уже не торт...  "Грусть-печаль" (с) ;-( 

понедельник, 17 октября 2011 г.

py2app собирает .app с Qt4 без MySQL (libqsqlmysql.dylib)

Все чудесатей и чудесатей - сказала Алиса.
Все чудестраньше и чудестраньше

Мало того что, в Qt4 по умолчанию отсутствует поддержка MySQL - приходится докомпилировать  плагин из исходников, так еще и выяснилось, что при сборке .app пакета приложения py2app честно включает туда библиотеки Qt,  но забывает положить ее же plugins.

Лечение

$ macdeployqt ./dist/YourSuperPuperApplication.app


После непродолжительной ругани в консоли в .app появляется папка PlugIns - обратите внимание на большую I в центре названия.

Но разумеется - папка sqldrivers там не появилась (это было бы слишком просто ;-) ), приходится докопировать "ручками".


$ cp -R /Developer/Applications/Qt/plugins/sqldrivers ./distYourSuperPuperApplication.app/Content/PlugIns/

После чего приложение вроде бы подхватило MySQL и попыталось взлететь... но, к сожалению -  грохнулось на взлёте по другой причине.

Но это, уже как говорится - другая история... ;-)

Одно не понимаю - толи лыжи не едут, то ли я... чего то не понимаю - почему такие сложности на каждом шагу? ЧЯДН?

locate/updatedb в MacOS

Когда постоянно переключаешься между системами - их мелкие различия (такие, как отличия в сервисах и командах) начинают безумно раздражать.

Например, всегда раздражает не работающий locate/updatedb в MacOS по умолчанию "из коробки.

Но если locate дает явную подсказку - чего и как запускать, чтобы заработало, до updatedb - просто отсутствует как класс.

# updatedn
sh: updatedb: command not found

Лечение

# sudo ln -s /usr/libexec/locate.updatedb /usr/bin/updatedb

# sudo updatedb
И теперь наслаждаемся нормально работающим locate. ;-)

Найдено тут

воскресенье, 16 октября 2011 г.

Как обновить MacPorts на MacOS X?

Вкратце - для тех кто не знаком, представляю MacPorts - система полноценных портов для красноглазиков любителей true-unix-way в MacOs.

Собственно - после их установки работаем как с обычным FreeBSD

# /opt/local/bin/port install py2app

Время от времени нужно делать обновление самих портов

# /opt/local/bin/port selfupdate

Но самый страшный вопрос - это как обновить MacPorts?

Отвечаю... примерно так



# port upgrade outdated

И можно идти курить, есть, спать... и все такое прочее ;-)

суббота, 15 октября 2011 г.

Python py2app: AttributeError: 'module' object has no attribute 'TickCount'

Симптомы

После запуска собранного с помощью py2app пакета для MacOS на другой машине получаем падение с ошибкой

AttributeError: 'module' object has no attribute 'TickCount'

Лечение

В файле setup.py отключить argv_emulation, то есть - поставить в False

APP = ['MyApp.py']
OPTIONS = { 
   'argv_emulation': False,
   ...
}

setup(
    app=APP,
    options={'py2app': OPTIONS},
    setup_requires=['py2app'],
)


Подробности тут

суббота, 8 октября 2011 г.

Ошибка - Невозможно подключиться к базе данных QMYSQL (Mac, Python, Qt)

Симптомы

При запуске Qt приложения с MySQL ошибка "Невозможно подключиться к базе данных QMYSQL".

Причина

Отсутствие драйвера MySQL "из коробки" в каких-то вариантах Qt. Почему-то по умолчанию включают только SQLite.

Как лечить?

Скомпилировать драйвер самостоятельно, для чего умные люди написали вот такой скриптик.

Разумеется, не забываем поправить необходимую версию Qt и проверить, чтобы в путях не было пробелов. (У меня в username есть пробел, из-за чего время от времени ловлю различные проблемы с компиляторами)

PyQT на MacOS - Error: Unable to create the C++ code.

При сборке PyQt на MacOS вот по этому мануалу на команде

python configure.py

упорно вылезает ошибка

Error: Unable to create the C++ code.

Решение оказалось простым, как грабли - в пути до исходников не должно быть пробелов.

Теперь сижу, курю - жду пока соберется. ;-)

пятница, 7 октября 2011 г.

3 дня отсутствия = iPhone(+), Steve Jobs(-)

Стоит только уехать на три дня как начинаются авралы
  • iPhone выпускают такой неполноценный, который, "панимаешь" (с) умеет звонить и работать, а не умеет думать за пользователя и причёсывать его собачку, заодно массажируя дистанционно соседа. Ну, короче - какашка, а не телефон.
  • Потом Стив Джобс помирает...
Они что там, совсем нюх потеряли и расслабились? Опять звонить, ругаться?

Ну а если серьезно - просто оставлю это тут.

вторник, 23 августа 2011 г.

Подборка программ, используемых на Mac

На самом-то деле, используемых программ на MacOS не так уж и много - все сильно зависит от задач

Музыка

iTunes - ну без этого никак

Клиент Last.fm

на старом ноутбуке использую более "легкую" альтернативу - iTunes - eCoute

Song Sergeant - наводит порядок в библиотеке iTunes

Видео

Стандартный QuickTime, кодеки Perian, VLC

Фотографии, просмотрщики графики

Мой выбор однозначен - Aperture. Либо альтернатива, кому нужна - Adobe Lightroom.

Как быстрый конвертатор - иногда использую Xee, но понял, что последнее время все реже...

Photoshop - кудыж без него

iWatermark - для накладываний копирайтов на фото для сайта в неограниченных количествах.

Офис

NeoOffice - версия OpenOffice, заточенная под GUI Mac, без дополнительных настроек.

Стоит еще iWork - но используется гораздо реже. Хотя последнее время стал понимать, что чаще всего использую GoogleDocks ;-)

Scrivener - для больших текстов - книжки писал в нем.

Браузеры, Интернет

Safari, Firefox - как инструмент web-разработки и Chrome. Opera - не перевариваю органически еще с давних времен.

Качальщик - SpeedDownloader

uTorrent - ну понятно ;-)

Little Snitch - отличный firewall

Разработка

Coda - первоклассная программа для поддержки сайтов

Eclipse+PyDev - ну понятно, Python - наше все

Zend Studio + Zend Server - для более серьезного дебага PHP

TextMate - быстрый текстовый редактор

MacFusion - подключение удаленных файловых систем.

MacPorts - для "красноглазиковых" задач - чего-нибудь собрать-откомпилировать

Paralles Desktop дома и VirtualBox на работе - для разных виртуалок

CyberDuck - утка для (s)FTP серверов.

Versions - первоклассный клиент SVN.  True Mac way.

Базы данных

Navicat - один из лучших клиентов для разных баз данных, есть Lite - бесплатная версия

IM

Жена использует Adium, я уже много лет без ICQ, ну и Skype разумеется

Разное

Evernote и Dropbox - ну тут все понятно

CleanMyMac - чистилка места

Growl - система нотификаций для программ. Вообще я не понял, почему до сих пор не часть операционки

KeyCue - полезна на начальных стадиях работы с маком - показывает все горячие клавиши текущего приложения

Вот вообщем-то и все основные программы - на мой взгляд, софта на Mac гораздо меньше, но он гораздо качественней сделан, чем на Windows... Так что муки выбора постигают нас гораздо реже.

понедельник, 1 августа 2011 г.

Как поставить wget на MacOS X?

Берем архивчик wget вот отсюда. Копируем на Desktop (если понимаете что вообще тут происходит ;-) - то в любую удобную папку). Дальше в консоли
cd Desktop/wget
sudo cp wget /usr/local/bin/
sudo cp wget.1 /usr/local/share/man/man1
sudo cp wgetrc /usr/local/etc
Понятно, что wget - папка в которую вы разархивировали - а если стоит SpeedDownload, который автоматических расжимает архив - то папка будет wget_1.11.4 Автор оригинала опустил этот момент.

По материалам

пятница, 29 июля 2011 г.

Как переключиться на другую версию Python в MacOS?

При установленных портах
sudo port select --set python python24
 Соответственно, версия питона - та, которая установлена и нужна в данных момент. Тем не менее - могут быть проблемы и лучше все-таки использовать виртуалки.