февраля 5 2009 10:53 пп

Сборка Midnight Commander 4.6.3 на Mac OS Leopard

term_logo.png

Я активно использовал Midnight Commander в линукс десктопе, и перейдя на мак так же захотел поставить себе его, так как привык к нему. На мак есть 2 системы установки приложений, Mac Ports и Fink. В портах для мака приложения собираются из исходных кодов, в Fink же используются .deb пакеты, и все ставится в отдельную директорию, но Midnight Commander установленный из обоих источников выглядел мягко говоря убого, так как в нем не было поддержки UTF8, разъезжались таблицы, вместо руских символов было что то непонятное, не работало нормально обновление при прокрутке. Было принято решение собрать руками версию 4.6.3, которую дописал отечественный разработчик, включив туда многие полезные патчи и исправив многие мелкие, но неприятные ошибки, ну и конечно добавил туда поддержку UTF8.

И так, после небольшого вступления начнем установку самого замечательного консольного файлового менеджера.
Для нормальной сборки я рекомендую для начала установить XCODE, Mac Ports, и установить Midnight Commander из портов, а затем удалить, дабы разрешить всяческие зависимости, что бы не пришлось думать чего же не хватает в системе для корректной компиляции.
Скачаем необходимое для сборки, распакуем архивы (для скачивания я установил из портов программу wget)

Код:


wget http://www.sfr-fresh.com/cgi-bin/warex?unix/misc/slang-2.1.4.tar
wget http://ftp.gnu.org/pub/gnu/gettext/gettext-0.17.tar.gz
wget http://people.redhat-club.org/inf/mc-slavaz/source/mc-4.6.3-r504.tar.bz2
tar xf slang-2.1.4.tar
tar zxf gettext-0.17.tar.gz
tar pxf mc-4.6.3-r504.tar.bz2

Теперь перейдем к сборке

Код:


cd slang-2.1.4
./configure && make && make install
cd .. && cd gettext-0.17
./configure && make && make install
cd .. && cd mc-4.6.3-r504
LDFLAGS="-liconv" CC="gcc-4.2" ./configure --with-screen=mcslang
make && make install

Теперь можно запустить наш свежесобранный Midnight Commander, вот что получилось у меня:

mc_screen.PNG

Вот собственно и все, удачной вам компиляции, у вас все получится.




44 комментария »


44 комментария to “Сборка Midnight Commander 4.6.3 на Mac OS Leopard”

  1. zbin on 14 Июл 2009 at 15:57 #

    Поделитесь mc-4.6.3-r504.tar.bz2
    Ссылка уже нерабочая.

  2. Stepanoff on 14 Июл 2009 at 18:49 #

    http://sudouser.com/mc-4.6.3-r504.tar.bz2 вот пожалуйста, забирайте 🙂

  3. zbin on 14 Июл 2009 at 22:13 #

    Преогромное спасибо, все работает.
    make install делал через sudo

  4. slava333 on 22 Июл 2009 at 23:28 #

    Не хочет собираться:

    ld: in ../vfs/samba/libsamba.a, archive has no table of contents

    Это удалось починить:
    ranlib ./vfs/samba/libsamba.a

    Но после сборки обнаружилось, что правая панель уплывет влево 🙁

    Не знаете как это починить?

  5. slava333 on 22 Июл 2009 at 23:28 #

    вот ссылка на скриншот
    http://imageshost.ru/links/04df45093e459235d10e7cf48668562b

  6. Stepanoff on 23 Июл 2009 at 06:58 #

    Это скриншот удаленого входа, или запущенного mc в окне? Если удаленного то могут иногда такие артефакты. Сменой кодировки обычно решается.

  7. Stepanoff on 23 Июл 2009 at 07:01 #

    Да, у вас на скрине английский командер, видимо из портов, или не 4.6.3 русский. С ними везде проблема. что локально, что удаленно. Ставьте тот что по ссылке в комментарии, с ним проблем нет, будет как на скриншоте в статье.

  8. slava333 on 23 Июл 2009 at 12:46 #

    Это локальный mc в окне iTerm, в Terminal.app — так же выгядит.

    Так как ссылка на people.redhat-club.org битая, я скачивал с http://sudouser.com/mc-4.6.3-r504.tar.bz2

    Дальше все по инструкции, может вы не тот файл у себя выложили? У вас есть уже собранные бинарники?

  9. slava333 on 23 Июл 2009 at 12:52 #

    И была ли у вас трабла с libsamba.a ?

  10. Stepanoff on 23 Июл 2009 at 19:22 #

    Проблем при сборке не было, но если вы ставили до этого другой mc из портов или fink то вполне он так и остался старым. Я собирал из этого архива, мой скриншот можно посмотреть выше, в посте.

  11. slava333 on 24 Июл 2009 at 00:56 #

    Я удалил все старые версии mc стандартными средствами fink.

    Или mc так не удаляется полностью и нужно что-то удалить вручную? Что именно?

    Спасибо

  12. Stepanoff on 24 Июл 2009 at 06:48 #

    Вместо финка лучше поставить порты, так правильнее будет, да и софта в портах больше.

  13. slava333 on 29 Июл 2009 at 02:15 #

    Порты тоже есть, из них коммандер тоже ставил и сносил его, перед установкой выложенного здесь.

    Можете выложить архив с тем, что получилось в директории с сорцами после того как make собрал mc (бинарники, obj-файлы и т.д.)? Хочу разобраться, почему у меня криво работает.

    Спасибо

  14. Stepanoff on 29 Июл 2009 at 07:01 #

    http://sudouser.com/mc-4.6.3-r504-with_make.tar.gz вот, пожалуйста. Бинарники в директории src. Пролема с libsamba.a была, странно, на 10.5.6 не было ее, сейчас стоит 10.5.7.

  15. chieko on 19 Авг 2009 at 17:05 #

    у меня вылазиет след. ошибка
    Undefined symbols:
    «_iconv_open», referenced from:
    __nl_init_domain_conv in libintl.a(loadmsgcat.o)
    __nl_init_domain_conv in libintl.a(loadmsgcat.o)
    «_iconv_close», referenced from:
    __nl_free_domain_conv in libintl.a(loadmsgcat.o)
    «_iconv», referenced from:
    __nl_find_msg in libintl.a(dcigettext.o)
    ld: symbol(s) not found
    Не могу понять в чем проблема, libiconv и gettext установлены в портах

  16. chieko on 19 Авг 2009 at 20:01 #

    Поставил macports из svn и mc собрался =)

  17. meniam on 01 Сен 2009 at 14:24 #

    chieko просто нужно было собрать libiconv 1.3.1
    http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz

  18. zbin on 07 Окт 2009 at 14:53 #

    помогите побороть проблемы с отображением кириллицы, вот такой файл:

    -rw-r—r— 1 admin staff 89075 Sep 11 12:22 Архив чертежей.numbers

    выглядит вот так:

    http://img-fotki.yandex.ru/get/3805/zbin.0/0_37e21_f96ff4b0_XL.jpg

  19. Stepanoff on 07 Окт 2009 at 15:03 #

    MC скачивали по ссылке в коментариях? Какая версия системы, какой язык основной? Он у вас английский стоит, видимо без полной поддержки UTF8

  20. zbin on 07 Окт 2009 at 15:36 #

    видимо…
    скачивал да по ссылке, версия 10.5.6, основной язык ставил Русский, пересобирал mc — не помогает.

  21. Stepanoff on 07 Окт 2009 at 15:41 #

    До этого не ставился ли MС из портов или fink’a? Если да, то надо сначала удалить старый, затем собирать новый. Я на системе 10.6 собирал MC с официального сайта, версия 4.7.0-pre2, сейчас вышла 4.7.0-pre3, не думаю что есть разница. Работает с русскими названиями. Ссылка на сайт http://www.midnight-commander.org/

  22. ctrld on 17 Окт 2009 at 18:57 #

    Мне кажется, что нужно использовать не mcslang, а slang. У меня русские буквы начали нормально отображаться именно со slang

  23. ctrld on 19 Окт 2009 at 13:23 #

    Я описал процесс, базируясь на Вашей статье, у себя в блоге:
    http://theapplegeek.ru/archives/1180

  24. plastilin on 30 Ноя 2010 at 03:18 #

    При сборке выдает ошибку

    Undefined symbols:
    «_libintl_setlocale», referenced from:
    _main in main.o
    ld: symbol(s) not found
    collect2: ld returned 1 exit status
    make[3]: *** [mc] Error 1
    make[2]: *** [all-recursive] Error 1
    make[1]: *** [all-recursive] Error 1
    make: *** [all] Error 2

    Куда копать?

  25. Максим Степанов on 30 Ноя 2010 at 10:00 #

    Зависимости все стоят? Версия системы какая?

  26. plastilin on 30 Ноя 2010 at 12:52 #

    Все сделал по инструкции. ОС Snow Leopard 10.6.5

  27. plastilin on 30 Ноя 2010 at 13:00 #

    MacPorts 1.9.2, XCode 3.2.4

  28. Максим Степанов on 30 Ноя 2010 at 13:01 #

    Статья называется Сборка Midnight Commander 4.6.3 на Mac OS Leopard, и в названии нет слова Snow.
    Попробуйте собрать последнюю версию MC, у меня собиралась на snow leo.

  29. plastilin on 30 Ноя 2010 at 13:12 #

    Последняя версия собирается. Но проблема в отображении русских символов.

  30. Максим Степанов on 30 Ноя 2010 at 13:14 #

    Зависимости руками собирали, или из портов? MC из портов не ставился до этого?

  31. plastilin on 30 Ноя 2010 at 13:55 #

    Из портов.

  32. Максим Степанов on 30 Ноя 2010 at 13:59 #

    Ставьте как описано в статье, только с последней версией MC с офсайта.

  33. plastilin on 30 Ноя 2010 at 14:18 #

    сейчас попробую.

  34. plastilin on 01 Дек 2010 at 14:15 #

    sudo -s
    port install mc

    port uninstall mc

    Дано:

    gettext-0.18
    libiconv-1.9.2
    slang-2.2.2
    mc-4.7.0.10

    (./configure && make && make install && make clean)

    Собралось без ошибок

    Интерфейс англоязычный, вместо русских символов в названии директорий и файлов — знаки вопросов

    Захожу в mc-4.7.0.10 (make uninstall)

    LDFLAGS=»-liconv» CC=»gcc-4.2″ ./configure —with-screen=mcslang

    Имею в итоге:


    configure: error: Value of the screen library is incorrect

  35. Максим Степанов on 01 Дек 2010 at 14:19 #

    Зависимости и сам мс надо ставить руками, а то что из портов удалить.

  36. plastilin on 01 Дек 2010 at 14:30 #

    Цитата: Для нормальной сборки я рекомендую для начала установить XCODE, Mac Ports, и установить Midnight Commander из портов, а затем удалить, дабы разрешить всяческие зависимости, что бы не пришлось думать чего же не хватает в системе для корректной компиляции.

    И? вы теперь предлагаете сделать:

    port -f uninstall installed

  37. Максим Степанов on 01 Дек 2010 at 14:38 #

    Удалить MC из портов, поставить зависимости руками поверх тех что из портов, собрать МС.

  38. plastilin on 01 Дек 2010 at 15:21 #

    port uninstall mc ?

    А как зависимости просмотреть?

  39. Максим Степанов on 01 Дек 2010 at 15:45 #

    Хватает тех что описаны в статье.

  40. plastilin on 01 Дек 2010 at 17:16 #

    Все оказалось намного проще http://sites.google.com/site/tsybulin/files/MidnightCommander.pkg

  41. plastilin on 01 Дек 2010 at 17:26 #

    GNU Midnight Commander, версия 4.7.0-pre4
    Виртуальная файловая система: tarfs, extfs, cpiofs, ftpfs, fish
    Со встроенным редактором
    С установленной в системе библиотекой S-Lang с базой данных terminfo
    C поддержкой внутренней командной оболочки
    С поддержкой фоновых операций
    С поддержкой мыши в xterm
    С поддержкой интернационализации
    С поддержкой многих кодировок
    Data types: char 8 int 32 long 64 void * 64 off_t 64 ecs_char 8

  42. Максим Степанов on 01 Дек 2010 at 17:36 #

    потрясающе…

  43. MacOS X HelpDesk или мой набор для Mac on 26 Авг 2011 at 18:23 #

    […] Commander (скачать) […]

  44. Исправление некорректного отображения русских букв в Midnight Commander под Mac OS X | The Apple Geek on 19 Сен 2014 at 16:34 #

    […] подсказанной мне @ex3m (он проблему решил по ней) «Сборка Midnight Commander 4.6.3 на Mac OS Leopard«, но при использовании рекомендованного «Screen […]

Trackback URI | Comments RSS

Leave a Reply

You must be logged in to post a comment.


« | »



Server load average: 0.08, 0.03, 0.01
Server uptime: 448 days, 6:07
Your IP is: 54.224.210.130.