Ru-Board.club
← Вернуться в раздел «Программы»

» Плагины и настройки FAR часть 2

Автор: Victor_VG
Дата сообщения: 23.12.2008 11:22
Не могу никак собрать в gcc плугины. Сам Far.exe собирается в несколько минут, а плугины не получается. Может кто глянет лог компилятора?
[more=gcc-4.3.2 лог]compiling memcpy.cpp
compiling memcmp.cpp
compiling memicmp.cpp
compiling memmove.cpp
compiling strpbrk.cpp
compiling strstr.cpp
compiling strchr.cpp
compiling strcpy.cpp
compiling strcspn.cpp
compiling strdup.cpp
compiling stricmp.cpp
compiling strncat.cpp
compiling strncmp.cpp
compiling strncpy.cpp
compiling strrchr.cpp
compiling strtok.cpp
compiling strtol.cpp
strtol.cpp: In function `long unsigned int strtoxl(const TCHAR*, TCHAR**, int, int)':
strtol.cpp:99: warning: integer overflow in expression
strtol.cpp:104: warning: integer overflow in expression
compiling i64toa.cpp
compiling delete.cpp
compiling delete_array.cpp
compiling free.cpp
compiling malloc.cpp
compiling calloc.cpp
compiling new.cpp
compiling new_array.cpp
compiling realloc.cpp
compiling i64toa.cpp
compiling memset.cpp
compiling memcpy.cpp
compiling strchr.cpp
compiling strcpy.cpp
compiling strdup.cpp
compiling stricmp.cpp
compiling strncat.cpp
compiling strncmp.cpp
compiling strncpy.cpp
compiling strrchr.cpp
compiling strstr.cpp
compiling strtok.cpp
compiling strtol.cpp
strtol.cpp: In function `long unsigned int strtoxl(const TCHAR*, TCHAR**, int, int)':
strtol.cpp:99: warning: integer overflow in expression
strtol.cpp:104: warning: integer overflow in expression
linking ../libCRT.a
mingw32-make.EXE[1]: Leaving directory `J:/Temp/7/7/farw-svn/www.farmanager.com/svn/trunk/plugins/common/CRT'
===========align
mingw32-make.EXE[1]: Entering directory `J:/Temp/7/7/farw-svn/www.farmanager.com/svn/trunk/plugins/align'
making depends for Align.cpp
mingw32-make.EXE[1]: Leaving directory `J:/Temp/7/7/farw-svn/www.farmanager.com/svn/trunk/plugins/align'
mingw32-make.EXE[1]: Entering directory `J:/Temp/7/7/farw-svn/www.farmanager.com/svn/trunk/plugins/align'
compiling Align.cpp
compiling Align.rc
windres: Align.rc:8: syntax error
mingw32-make.EXE[1]: *** [final.32.gcc/obj/Align.res.o] Error 1
mingw32-make.EXE[1]: Leaving directory `J:/Temp/7/7/farw-svn/www.farmanager.com/svn/trunk/plugins/align'
mingw32-make.EXE: *** [align] Error 2[/more]
Сам компилятор собран и настроен по инструкции отсюда. Любые иные проекты собираются, а плугины как заколдованные, нет. Не могу понять что причина этого явления и как его устранить. Буду благодарен за помощь.

Из последнего, может кому и пригодится: Far Manager 2.0 Alpha 1 Build 687 с пакетом стандартных плугинов и без установки. Сам Far.exe я собирал в gcc-4.3.2, а плугины взял готовые отсюда благо их исходники за эти дни не изменились, и от 2.0.684 к 2.0.687 они подходят. Как я понял, изменился только номер версии Far API в заголовочных файлах, но не их содержимое.

P.S.

Вот тут возникло у меня предположение: что синтаксическая ошибка вызывается различием в именах стандартных функций компиляторов - т.е. исходники написаны для MS VS, и gcc не может правильно их интерпретировать. Т.е. их надо модифицировать для него. Хотелось бы получить от разработчиков ответ о правильности данного предположения.
Автор: Sav
Дата сообщения: 23.12.2008 18:12
Сделал очередную попытку перейти на Far2, поставил 686 билд и, похоже она станет успешной. Главные проблемы решены так: редактирование utf-8 файлов заработало в этих билдах, на место мультиарка пришел 7-Zip Alternative, вместо SmartBS использую макрос "$IF(len(trim(Editor.Value))==0 && Editor.CurPos>3) BS BS BS $End BS" на bs в редакторе. Для полного счастья еще б кто собрал плуг ecmpl для 686, знаю что он очень популярен...
Автор: zg
Дата сообщения: 23.12.2008 20:19
Victor_VG

Цитата:
Может кто глянет лог компилятора?
binutils старые.
Sav

Цитата:
Для полного счастья еще б кто собрал плуг ecmpl для 686
есть же инструкция на офф форуме как собирать.

Автор: anryk
Дата сообщения: 24.12.2008 09:16
объясните, зачем в новых версиях убрали из фильтра файлов (Ctrl+I) сброс по Enter ?
теперь только по Shift+Backspace
Автор: Victor_VG
Дата сообщения: 24.12.2008 14:11
zg

Т.е. если я тебя правильно понял, то надо брать вот это binutils-2.19.tar.gz (Current Release: GNU binutils-2.19 Notes (2008-12-12 10:41))? Большое спасибо за подсказку, чуть позже попробую.

P.S.

Достал меня "покойный" Фуджик - плату контроллера перепаял на добрых 3/4, бэды (793 штуки) - кого убрал, кого заремапил. Большую часть данных я с него снял, но Win на нём с ходу летит в BSoD, приходится в Hex тащить из MFT в BSD. В итоге 6 Гб из 6,2 Гб вытащил. А имена иных файлов - пусть сама хозяйка разбирается - один чёрт они все кривые, да ещё все файлы с потоками... Что мог я сделал, всё равно винту дорога в помойку. Неделю на её диссертацию потратил, но её вытащил целиком, до бита. Теперь пусть учёный совет её вопросы задаёт. Надеюсь, что "чёрных шаров" не будет, и её "остепенят" кандидатом наук перед пенсией.
Автор: Smitis
Дата сообщения: 25.12.2008 11:07
Victor_VG

Цитата:
P.S.

Достал меня "покойный" Фуджик - плату контроллера перепаял на добрых 3/4, бэды (793 штуки) - кого убрал, кого заремапил. Большую часть данных я с него снял, но Win на нём с ходу летит в BSoD, приходится в Hex тащить из MFT в BSD. В итоге 6 Гб из 6,2 Гб вытащил. А имена иных файлов - пусть сама хозяйка разбирается - один чёрт они все кривые, да ещё все файлы с потоками... Что мог я сделал, всё равно винту дорога в помойку. Неделю на её диссертацию потратил, но её вытащил целиком, до бита. Теперь пусть учёный совет её вопросы задаёт. Надеюсь, что "чёрных шаров" не будет, и её "остепенят" кандидатом наук перед пенсией.


Опять ты за своё? Нахрена ты это всё здесь пишешь? Словесный понос, который никак не остановить? Или просто нет денег на психотерапевта?
Автор: Mishko o
Дата сообщения: 25.12.2008 22:33
Как в far-е сделать так, чтобы файл, при нажатии заданного сочетания клавиш, открывался например в дримвейвере?
Автор: LeaF_AVF
Дата сообщения: 25.12.2008 23:19
Mishko o
F9 -> Команды -> Ассоциации файлов -> F1
Автор: Victor_VG
Дата сообщения: 26.12.2008 01:40
zg

Я пробовал брать binutils-2.18.50-20071123.tar.gz, binutils-2.18.50-20080109.tar.gz, binutils-2.18.50-20080109-2.tar.gz, binutils-2.19.tar.gz - явление осталось - far.exe компилится, плугины начинают собираться, ошибки в ресурсах и вылет с кодом 2 по windres. Может я что-то неверно сделал? Честно говоря я уже запутался какая версия windres нужна и где её найти.

Smitis

Разделом ошибся - это сюда.
Автор: Victor_VG
Дата сообщения: 26.12.2008 12:46
На SVN уже 2.0.694 и опять то же явление - Far.exe собирается, пусть с варнингами, с сообщениями об устарелости компиллера, но собирается, а плугины не хотят. binutils перепробовал все что есть по очередному кругу. Компилер gcc-4.3.2. Никак не удаётся разобраться что именно мешает. Кто может подсказать? Если поможет разобраться в причинах листинг ls могу сделать с любым уровнем подробности.
Автор: Smitis
Дата сообщения: 26.12.2008 23:35
Victor_VG

Цитата:
Разделом ошибся - это сюда

Стрелки не переводи, это как раз тебе туда, ты же флеймишь.

П.С.
Через gcc (mingw) всё отлично собирается. И 3-ей версий и 4-ой.
Автор: Victor_VG
Дата сообщения: 27.12.2008 02:33
Smitis

Да, Far.exe собирается, а плугины - не хотят. Хотя 699 собрался с "руганью", сейчас 700 посмотрю.
Уф-ф-ф, вроде нашёл и прибил причину сбоев компиляции - в системе стоял MinGW 3.4.5, а я о нём не знал - отец для себя видно ставил и забыл сказать. Он то и вызывал всё эти "чудеса" прячась в /System Volum Information/Restore Point/. А подключался он в систему из-за ошибки в его деинсталлере - этот гад не всё за собой подчистил.

И для тестирования - far2.0.700-gcc.rar вроде должна требовать меньше памяти чем VS сборка. Собрана в gcc-4.3.2.

P.S.

Раз пошла такая пьянка - чем ты EMenu собирал? Мэйка для gcc там нет, я написал свой - обломился. Если у тебя есть - поделись пожалуйста.
Автор: Smitis
Дата сообщения: 27.12.2008 20:45
Victor_VG

Цитата:
Раз пошла такая пьянка - чем ты EMenu собирал? Мэйка для gcc там нет, я написал свой - обломился. Если у тебя есть - поделись пожалуйста.

Мэйка у меня нет. А чем VC не устраивает?
Автор: Widok
Дата сообщения: 28.12.2008 14:39
Victor_VG

Цитата:
Достал меня "покойный"


к данной теме не относится.
Автор: Victor_VG
Дата сообщения: 28.12.2008 14:54
Smitis

Пытался минимизировать расход ОЗУ. В итоге сейчас gcc перебрал - сам намудрил, 700-я на compare вылетала с ошибкой памяти. Попробую 705-ю собрать. Во всяком случае как показали измерения gcc вариант требует в несколько раз меньшего объёма ОЗУ чем VS, да и DLL не надо искать. Есть и шанс запустить на кривых системах без сбоев.
Автор: murkovich
Дата сообщения: 28.12.2008 16:59
А кто знает, почему "ночные сборки" уже почти полтора месяца не обновляются?
Автор: Victor_VG
Дата сообщения: 28.12.2008 20:42
murkovich

Кто тебе такое сказал? Только что с SVN скомпилил Far Manager 2.0 Alpha 1 Build 707, ASCII версия - 1.75 RC0 Build 2498. А вот тебе и страница Ночные сборки. Для контроля смотри changelog. Компилил в GCC-4.3.2 рабочий комплект. В архиве: gcc-4.3.2, ActivePerl-5.10 (необходим для компилятора), инструкция по установке. Умеет: C/C++, Fortran-90/2003, Ada, CVS.
Автор: murkovich
Дата сообщения: 28.12.2008 21:35
Victor_VG
Я про линк в шапке (http://farmanager.rainforce.org/nightly/) спрашивал. Тот, по видимому, уже не актуален.

Спасибо за новый линк!
Автор: Victor_VG
Дата сообщения: 28.12.2008 22:10
murkovich

Этот? Ребята давно уже сменили площадку, и там сейчас уже 708-я лежит, тяну с SVN, а я только 707-ю успел скомпилить. Бери мой пакет gcc и пользуйся - его программы памяти требуют в несколько меньше, чем собранные в MS VS, имею возможность сравнить.
Автор: CrOm83
Дата сообщения: 29.12.2008 07:26
ага, шапочку-то и обновить немешало. начиная с того, что 1.8 сменить на 2.0, и заканчивая фиксом ссылок
Автор: Victor_VG
Дата сообщения: 29.12.2008 15:43
CrOm83

Поправил ссылки и дописал отличия версий - может бессмысленных вопросов станет поменьше?
Автор: CBB
Дата сообщения: 29.12.2008 19:30
Victor_VG

Цитата:
более старые версии плагинов могут заработать в более новом FAR, но наоборот - необязательно.

ИМХО "могут" и так уже означает "необязательно"
Автор: Victor_VG
Дата сообщения: 30.12.2008 00:18
На всякий случай (а вдруг команды забуду?) накидал для себя [more=инструкцию по сборке "ночнушек":]Сборка Far Manager 2.0 из исходников средствами GCC-4.3.2

Последовательность сборки:

1) Выполняем команду для скачивания исходников:

wget -r -np -k -p -x --no-check-certificate --strict-comments -nH -c http://www.farmanager.com/svn/trunk/

или команду их обновления:

wget -r -np -k -p -x -nc --no-check-certificate --strict-comments -nH -c http://www.farmanager.com/svn/trunk/

или используем пакетный файл cvscl.cmd с параметрами:

%1 - каталог-приёмник, %2 URL сервера-источника, u | U - задаёт
режим обновления если указано U, иначе скачивается всё подряд.
Линки в HTML файлах будут автоматически преобразованы в локальные.

2) Скачиваем с http://www.farmanager.com/nightly.php последнюю "ночнушку"
версии 1.75 если там есть обновление по сравнению с имеющейся у нас
версией (проверяем по changelog) и распаковываем из неё только подкаталог
Headers.c , остальное нам не нужно.

2) Заменяем в plugins/common/ascii файлы *.hpp на те, что находятся
в каталоге Headers.c и приступаем к сборке.

3) Собираем сам Far.exe командой:

mingw32-make -f makefile WIDE=1 COMMON=../../common

4) Выполняем команду:

cp -f Include/*.hpp ../plugins/common/unicode

5) Cобираем из common/CRT библиотеку libCRT.a командой:

mingw32-make -f makefile_lib_gcc

6) Собираем UNICODE плугины align, autowrap, brackets, compare,
drawline, editcase, farcmds, filecase, hlfviewer, macroview,
network, proclist, tmppanel командой:

mingw32-make -f makefile WIDE=1 COMMON=../common

7) В plugins/multiarc для сборки библиотеки libPCRE.a выполняем команду:

mingw32-make -f makefile_gcc_libpcre COMMON=../common

8) Плугины multiarc, ftp собираются командой:

mingw32-make -f makefile_gcc COMMON=../common

при этом, команда сборки libPCRE.a выполнится повторно.

9) Создаём в удобном месте структуру каталогов командой:

mkdir -p Far/Addons/Headers.c Far/plugins/compare Far/plugins/edit Far/plugins/editor/align Far/plugins/editor/autowrap Far/plugins/editor/brackets Far/plugins/editor/drawline Far/plugins/editor/editcase Far/plugins/editor/hlfviewer Far/plugins/editor/macroview Far/plugins/emenu Far/plugins/farcmds Far/plugins/filecase Far/plugins/ftp Far/plugins/multiarc Far/plugins/network Far/plugins/proclist Far/plugins/tmppanel

10) Копируем в неё файлы changlog из каталогов исходников unicode_far
и plugins в соответствии с именами плугинов.

11) Копируем в каталог Far/Addons/Header.c файлы farcolor.hpp,
farkeys.hpp, plugin.hpp из каталога plugins/common/unicode .

12) Копируем в каталог Far содержимое каталога unicode_far/GCC кроме
каталога obj - его можно сразу стирать любым удобным способом.

13) Ту же операцию повторяем для собранных плугинов, но из каталогов
plugins/<имя_плугина>final.32W.gcc и для multiarc, ftp из каталогов
plugins/<имя_плугина>final.32.gcc соответствующих плугинов.
Естественно, файлы копируем в подкаталоги <имя_плугина> каталога
plugins. Каталоги obj нам снова не требуются.

ПРИЛОЖЕНИЕ:

Код пакетного файла cvscl.cmd:

@echo off
IF EXIST %1 GOTO m1 ELSE mkdir %1
:m1
cd %1
IF /I %3==U GOTO m2 ELSE GOTO m3
:m2
wget -r -np -k -p -x -nc --no-check-certificate --strict-comments -nH -c %2
GOTO m4
:m3
wget -r -np -k -p -x --no-check-certificate --strict-comments -nH -c %2
:m4[/more], ну и батник для работы с Wget вместо SVN (рассчитан на Wget 1.11.4 с поддержкой SSL):

Код: @echo off
IF EXIST %1 (goto lbla) ELSE (mkdir %1)
:lbla
cd %1
IF /I U EQU %3 (goto m2) ELSE (goto m3)
:m2
wget -r -np -k -p -x -nc --no-check-certificate --strict-comments -nH -c %2
GOTO :EOF
:m3
wget -r -np -k -p -x --no-check-certificate --strict-comments -nH -c %2
Автор: AlVlS
Дата сообщения: 31.12.2008 09:55
> 5) Начиная со сборки 1.71.24хх ASCII Far больше не работает на старых системах
> Windows 9x/ME/NT4.

Это с какого перепугу взято?
Автор: WARP_ItSelf
Дата сообщения: 31.12.2008 10:32
AlVlS

Неизвестно. Просто зачастую билды 1.75.ХХХХ собираются VC9, который создает бинарные файлы, несовместимые с Windows 9x. Однако финальная версия должна себе работать в 9х, никто этой совместимости пока не отменял.

Far 2.0 действительно требует Windows 2000 как минимум. Желающие допиливать его под NT4 делают это самостоятельно.
Автор: Victor_VG
Дата сообщения: 31.12.2008 10:39
AlVlS

Посмотри на сайте. Дефолтный компилятор MS VC++ 2008 создаёт программы для Windows 5 (параметр Subsystem Version в PE заголовке программы по умолчанию имеет значение 5). И этот факт проверяет системный загрузчик, и не запускает программу на старых системах. Так более понятно? Лично я для себя пользуюсь gcc-4.3.2, но мне он более привычен - это дефолтный компилятор BSD UNIX, и потому мне он удобен, хотя не всё удаётся им собрать. Те же makefile для него имеют иную структуру. Сравни их для lcc, Watcom, gcc/MinGW, MS VC++, Intel, IBM и увидишь разницу. Например дефолтный компилятор в PC-BSD 7 (FreeBSD 7.1) - gcc-4.2.1, а тот же gcc-4.4.0 ставится как MinGW/gcc-4.4.0. У самого он так стоит.

И вот пример (File_id.diz от Far Manager 2.0 Build 712):

Цитата:
FAR Manager v2.0 alpha 1 build 712
for Windows 2000/XP/2003/Vista/2008

Text mode file and archive manager
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Long file names support
- Reparse point support
- User defined view modes
- File descriptions and highlighting
- User menu, file associations
- FTP client, network browser
- Print Manager
- Task list and control

Contacts
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Internet distribution:

1. http://www.farmanager.com
2. http://www.rarlab.com
3. http://plugring.farmanager.com/

Please post your comments and bug
reports in the forums:

http://enforum.farmanager.com/
http://forum.farmanager.com/

Хотя, не отрицаю, в принципе можно указать компилятору создавать код с поддержкой и старых систем. Вопрос только в том что из функций WinAPI там реализовано.
Автор: AlVlS
Дата сообщения: 31.12.2008 10:53
тот который компилил Валя, т.е. 2470 грузится и в ДОС.
последующие собранные Алексом работают в 9х
ПС. разумеется речь про 1,7
Автор: Victor_VG
Дата сообщения: 31.12.2008 12:24
AlVlS


Цитата:
тот который компилил Валя, т.е. 2470 грузится и в .
последующие собранные Алексом работают в 9х
ПС. разумеется речь про 1,7


Друг мой, Вы часом не ошиблись? Может сначала как минимум прочтете что-то типа господина Фигрнова "IBM PC для чайников"? С каких это пор WinAPI под ДОС работает? Простите, но мне Ваши слова не понятны. Вы добросовестно ошиблись: консоль Windows - это окно CMD/CCMD и хотя он и реализует команды управления похожие на команд MS DOS, но DOS не является по своей природе. Попробуйте запустить любую программу для Windows не из её консоли либо графической оболочки. а под настоящим DOS состоящим всего из трёх основных элементов - загрузчика IBMIO.SYS (IO.SYS), ядра IBMDOS.SYS (MSDOS.SYS) и командного процессора COMMAND.COM и посмотреть что именно Вам будет выведено на экран. И тут я Вас понимаю так - либо Вы действительно ошиблись, и готовы признать, что не верно выразились, либо, если Вы продолжаете настаивать на своём - простите у меня очень много работы, и я к сожалению не могу Вам помочь в разъяснении банальных вещей, особенно если Вы упорно будете настаивать на своём утверждении, и может быть если у меня появится свободное время мы сможем поговорить об отличиях разных операционных систем друг от друга... А игры типа "подмена понятий" - "пусть сменю цифирку, авось прокатит" с мной не проходят, и более того как явление мне абсолютно не интересны.

Sorry, и с Новым Годом!
Автор: AlVlS
Дата сообщения: 31.12.2008 12:31
>Друг мой, Вы часом не ошиблись?
нет.

Добавлено:
> 5) Начиная со сборки 1.71.24хх ASCII Far больше не работает на старых системах
> Windows 9x/ME/NT4.
а ЭТО необходимо убрать.
Автор: Victor_VG
Дата сообщения: 31.12.2008 13:29
AlVlS

В таком случае пусть разработчики ядра Far Manager дадут точное разъяснение - в данном случае они лучше других знают ограничения программы. А до тех пор я лично ничего менять не собираюсь, более того Ваши слова:

Цитата:
>Друг мой, Вы часом не ошиблись?
нет.

Добавлено:
> 5) Начиная со сборки 1.71.24хх ASCII Far больше не работает на старых системах
> Windows 9x/ME/NT4.
а ЭТО необходимо убрать.

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

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778

Предыдущая тема: Notebook Hardware Control


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.