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

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

Автор: AlVlS
Дата сообщения: 31.12.2008 13:55
то что ты не в теме - это как бы не мои проблемы...
Автор: Victor_VG
Дата сообщения: 31.12.2008 14:24
AlVlS

Уважаемый WARP_ItSelf уже ответил. Лично мне разбираться с проблемами почему у кого-то, что-то сегодня не работает, хотя работало вчера, за многие годы практики уже надоело. Лучше, пусть если заработает, мы сможем сказать - "Вам повезло!". Так спокойнее живётся.

А что касается Технических Требований, то лучше конечно если они есть, оговорить их максимально чётко и оговорить срок их действия. А вот если гарантировать совместимость с 9x/ME/NT4, пусть и в максимально расплывчатой форме, то это означает, что любой человек пользуясь этим может требовать в том числе и через суд выполнения проектом тех функций которые он физически выполнить не может, а за их отсутствие взыскать в порядке гражданского иска практически любую сумму с авторов или консультанта. При этом на его стороне полностью будет Закон.

Я сам об этом и не думал пока не столкнулся с таким фокусом - ещё в 1987 - 1989 в составе группы я делал один важный "закрытый" проект, но ТТ и ТЗ для него Заказчик прописал очень расплывчато. Тогда наши начальники этого "не заметили" - они оба уже шли на пенсию, и им на всё было наплевать. Сейчас это всплыло, и ещё как - Заказчик подал на нашу инженерную группу судебный иск в Арбитражный суд мотивируя свои требования именно тем, что проект согласно требованиям к нему должен соответствовать его текущим технологическим и бизнес-задачам, а он им по факту не соответствует, есть заключение независимой экспертизы об этом, а срок технологической применимости проекта, оговоренный в ТТ и ТЗ заканчивается в 2015 году. Судья рассмотрев все факты прямо сказал - "Претензии Заказчика обоснованы и законны, и согласно Закону подлежат полному удовлетворению. Вы сами виноваты в том, что позволили расплывчатостью формулировок в Технических Требованиях и Техническом Задании на проект юристам Заказчика выдвинуть против Вас судебный иск и материальные претензии. Придётся Вам платить - сами виноваты...". Но такой судья попадается раз в тыщу лет, обычно суд принимает решение не объясняя реальных его причин. Советский принцип - "По внутреннему убеждению суда".

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

Автор: WARP_ItSelf
Дата сообщения: 31.12.2008 19:44
Victor_VG

Опять началась фигня какая-то.

2 all

По вопросу повторю:

Все релизные версии Far 1.75.XXXX должны работать в Windows 9x/NT, в частности Far 1.75 RC0 должен. Если не работает - пишите на официальный форум. Альфа версии собираются разработчиками индивидуально и не всегда работают в Windows 9x, поскольку новые компиляторы создают несовместимые с Windows 9x бинарные файлы.

AlVlS

Что-то ваши инициалы мне знакомы. Коли так - про все описанное вы и сами знаете. )))

P.S. А строку из шапки надо убрать, да.

Автор: Victor_VG
Дата сообщения: 31.12.2008 22:33
WARP_ItSelf

Хорошо, с этим ясно, но есть кое что, с чем вы ребята наверняка не сталкивались, а я знаком по работе - случай на mantis0000692: нельзя войти в архив ZIP. Упомянутый архив создан в UNIX методом Zip Stored, и видимо не корректно - в корне присутствует папка + - архиватор "зацепил" симлинк. И PKZip не может открыть /распаковать такой архив. Вот смотри, часть лога PKZip 6.0:

Цитата:
PKZIP: (W3) Warning! requires PKZIP version 77.8 to extract: DivFix++_v0.3123:06
/.svn/prop-base/ReadMe.txt.svn-base
PKZIP: (W3) Warning! requires PKZIP version 78.8 to extract: DivFix++_v0.31/docs
/.svn/text-base/Change.log.svn-base
PKZIP: (W3) Warning! requires PKZIP version 78.8 to extract: DivFix++_v0.31/docs
/.svn/text-base/GPL.txt.svn-base
PKZIP: (W3) Warning! requires PKZIP version 78.8 to extract: DivFix++_v0.31/docs
/.svn/text-base/ReadMe.txt.svn-base
PKZIP: (W3) Warning! requires PKZIP version 78.8 to extract: DivFix++_v0.31/docs
/Change.log
PKZIP: (W3) Warning! requires PKZIP version 78.8 to extract: DivFix++_v0.31/docs
/GPL.txt
PKZIP: (W3) Warning! requires PKZIP version 78.8 to extract: DivFix++_v0.31/docs
/ReadMe.txt
PKZIP: (W3) Warning! requires PKZIP version 78.8 to extract: DivFix++_v0.31/loca
le/cs_CZ/DivFix++.mo
PKZIP: (W3) Warning! requires PKZIP version 78.8 to extract: DivFix++_v0.31/loca
le/fr/DivFix++.mo
PKZIP: (W3) Warning! requires PKZIP version 78.8 to extract: DivFix++_v0.31/loca
le/hu/DivFix++.mo
PKZIP: (W3) Warning! requires PKZIP version 78.8 to extract: DivFix++_v0.31/loca
le/it/DivFix++.mo
PKZIP: (W3) Warning! requires PKZIP version 78.8 to extract: DivFix++_v0.31/loca
le/ja/DivFix++.mo
PKZIP: (W3) Warning! requires PKZIP version 78.8 to extract: DivFix++_v0.31/loca
le/ko/DivFix++.mo
PKZIP: (W3) Warning! requires PKZIP version 78.8 to extract: DivFix++_v0.31/loca
le/tr/DivFix++.mo

Этот архив может только 7zip распаковать. Скорее всего на старой Sun OS 2.4 архивировали. Это было частой ошибкой именно данной версии при вызове tar из-за ошибки реализации одной из системных библиотек в архиве создавался внутренний симлинк без данных. На других системах OS/2, Windows, OS/390, UNIX архив не раскрывался. Так, что я бы наверное сделал так - при обнаружении такой ошибки вызвать системный распаковщик Zip - InfoZIP как я помню с такими архивами справляется.

Для удобства - отчёт 7-zip: Сбой вызывает невидимый каталог "+".

Ладно, это работа, а у всех праздник. С Новым Годом! И всего лучшего пусть все твои творческие планы реализуются без ошибок, и пусть у тебя появится много новых и хороших друзей.
Автор: Smitis
Дата сообщения: 01.01.2009 21:30
Victor_VG

Цитата:
С каких это пор WinAPI под ДОС работает?

Вот под этим ФАР в ДОСе когда-то запускался http://www.doswin32.com/

П.С. Опять ты всякую хрень писать начал?
Автор: Victor_VG
Дата сообщения: 01.01.2009 22:50
Smitis

Проверь. И убедись. Факты против тебя.
Автор: CBB
Дата сообщения: 01.01.2009 23:40
Victor_VG

http://www.multiboot.ru/win32.htm
Автор: Victor_VG
Дата сообщения: 02.01.2009 05:21
CBB

За дискету спасибо, но речь не о ней - в данном случае Smitis специально уходит от основного вопроса - PKZip не распаковывает созданный в UNIX архив Zip Stored DivFix++_v0.31-Win32.zip с установленным в заголовке полем ushort frVersion равным 778 (для созданного в DOS/Windows Zip это поле равно 10) выводя диагностические сообщения в листинге распаковки с кодами E9 (не найдены файлы) и W3 (требуется более новая версия PKZip). Вот расшифровка кода W3 из мануала (pkzipc.pdf, стр. 194):

Цитата:
The .ZIP file is corrupt or the specified file is compressed or encoded in a way that this version of PKZIP is unable to handle. A different version of PKZIP may be required to properly extract this file. Contact PKWARE for more information.

В файле указана требуемая версия libzip (UNIX). Ну, и на "закуску", расшифровка кода E9 (не найдены файлы):

Цитата:
PKZIP cannot find the file you are trying to access. For example, you might be trying to extract files from a .ZIP archive that do not exist in that archive. Verify that the file(s) you specify on the command line exactly match the file(s) in the .ZIP file. If, for example, the file in the .ZIP archive is stored with path information and you attempt to extract it, but specify the file name only, you will get the (E9) error.


И обойти данную проблему можно только распаковкой проблемных архивов в IfoZip/Rar/7Zip или средствами самой системы. Иначе надо править весь заголовок архива, т.е. нужна перепаковка или преобразование формата..
Автор: New_Mazzi
Дата сообщения: 02.01.2009 11:13
Victor_VG

Цитата:

За дискету спасибо, но речь не о ней - в данном случае Smitis специально уходит от основного вопроса - PKZip не распаковывает созданный в UNIX архив Zip Stored DivFix++_v0.31-Win32.zip с установленным в заголовке полем ushort frVersion равным

у а при чем сдесь собсвенно FAR?
Автор: Victor_VG
Дата сообщения: 02.01.2009 14:23
New_Mazzi

Прочти Мантис. Мне пользователи только переслали этот текст и попросили помочь в решении проблемы - столкнулись ещё с несколькими подобными архивами с очень важными документами.
Автор: Smitis
Дата сообщения: 02.01.2009 23:00
Victor_VG

Цитата:
За дискету спасибо, но речь не о ней - в данном случае Smitis специально уходит от основного вопроса - PKZip не распаковывает созданный в UNIX архив Zip Stored DivFix++_v0.31-Win32.zip с установленным в заголовке полем ushort frVersion равным 778

Причём сдесь нахрен pkzip? Речь про запуск ФАРа под ДОСом. Видимо, ты совсем "не в теме", как было уже сказано.
Под "хренью" же имелся ввиду твой совсем неуместный, как обычно, монолог про "Технические Требования".
Автор: Victor_VG
Дата сообщения: 03.01.2009 00:42
Smitis

При этом: mantis0000692: нельзя войти в архив - ZIP

Как я и опасался с новым zip.fmt 1.31 явление осталось - причина не в far, тут ты прав, а в заголовке архива.



А что касается "хрени", то разреши преподнести тебе небольшой новогодний подарок: подборку действующих на данный момент времени стандартов ЕСПД (Единой Системы Программной Документации): ГОСТ Р, РТМ Р и международных стандартов ISO/IEC, и заодно и напомнить, что соблюдение стандартов ISO/IEC, ГОСТ Р, РТМ является обязательным на всей территории РФ, а за их несоблюдение Федеральным законом от 27 декабря 2002 г. № 184-ФЗ «О техническом регулировании» предусмотрено привлечении к административной ответственности по части 1 статьи 19.19 КоАП РФ. Приятного изучения ЕСПД. Или готовь денежку на штрафы в судах. Там не сильно накажут - "всего то" штраф в размере от 100000 до 5000000 рублей за каждый нарушенный ГОСТ.

P.S.

Не знание Закона не освобождает от его исполнения, а ГОСТ Р пока ещё не отменённый Закон. Напомнить о ГОСТ ты меня заставил сам - достал ты меня своими провокациями. Смени способ общения.
Автор: Smitis
Дата сообщения: 03.01.2009 01:53
Victor_VG

Цитата:
достал ты меня своими провокациями

Я смотрю, ты любитель стрелки переводить.
Какое ЭТО (ГОСТы, твои сломанные винчестеры, суды с кем-то и пр.) имеет отношение к ФАРу?!
В конце то концов, имей совесть, заканчивай с оффтопом.
Автор: CBB
Дата сообщения: 03.01.2009 02:02
Victor_VG

Цитата:
Как я и опасался с новым zip.fmt 1.31 явление осталось - причина не в far, тут ты прав, а в заголовке архива.

С zip.fmt отсюда - http://farmanager.com/nightly/multiarc175.2503.b185.x86.7z у меня проблемы нет.

Добавлено:
Не, все же есть. Листинг уже показывает, но файлы все еще не распаковывает
Автор: Victor_VG
Дата сообщения: 03.01.2009 02:35
CBB

Версия форматки 1.31? У меня и собранная в GCC 1.30 листинг выводила, а при распаковке на каждый файл pkunzip ругался - W3, и в конце Е9. Именно потому я и сделал вывод, что Far в данном случае не причём, он свою часть алгоритма отрабатывает правильно, и став искать причину, в итоге нашёл её. Сейчас думаю как её полностью устранить с использованием связки MultiArc + Zip.fmt. Разве что одна мысль есть, хотя и "сырая" - частично перенести работу с форматом Zip в Custom.ini - только операции распаковки, тестирования, удаления файлов из архива и использовать для них тот же 7-Zip/InfoZip например...
Автор: zg
Дата сообщения: 03.01.2009 02:52
CBB

Цитата:
Листинг уже показывает, но файлы все еще не распаковывает
мультиарк сам файлы не распаковывает.
Автор: CBB
Дата сообщения: 03.01.2009 03:09
Victor_VG

Цитата:
и использовать для них тот же 7-Zip/InfoZip например...

Легко. В плагине 7z есть reg-файл, выкинуть из него все, что не касается zip, и запустить. Указанной проблемы после этого нет, но чем-то мне раньше работа с zip через 7z не нравилась, вот только не могу вспомнить чем.

Добавлено:
zg

Цитата:
мультиарк сам файлы не распаковывает.

Да, это я стормозил.
Автор: Victor_VG
Дата сообщения: 03.01.2009 03:28
zg

Не спорю, просто может сделать что типа такого алгоритма:

распаковка/тестирование/удаление -> проверяем код возврата архиватора в stderr;
если получили W3, вызываем или системный распаковщик, либо, если стоит 7Zip его, и ждём завершения вызванного процесса;
иначе используем установленный обработчик формата Zip.

Как думаешь, реально так решить задачу?

CBB

Стоит - 7-Zip Alternative build 7. А не нравится в 7-Zip то, что он не удаляет файлы из архива, и пересылка у него для Zip не работает.
Автор: CBB
Дата сообщения: 03.01.2009 10:48
Victor_VG

Цитата:
что он не удаляет файлы из архива, и пересылка у него для Zip не работает.

Удаление работает, а перенос - да, это именно то, что не нравилось.
Автор: Victor_VG
Дата сообщения: 03.01.2009 12:35
CBB

Наверное я к нему (7Zip) излишне придирчив...
Автор: Docent1
Дата сообщения: 04.01.2009 00:57
Victor_VG
Я тебе советую перейти на NewArc (он недавно обновился и хорошо собирается gcc). Я себе навесил хоткеи (типа shiftF1 shiftF1 == down down .. ctrldown - открытие списка архиваторов и т.п.). Он более подходит под UNIX). Там, наример, модуль targz.module который открывает tar/gz, никаких проблем с zip-архивами.
Автор: Victor_VG
Дата сообщения: 04.01.2009 03:47
Docent1

Поглядим. Я как раз перебрал себе gcc. Есть повод попробовать на 716-ом билде. Оба обновились - и 1.75.2504 и 2.0.716. А проблема с zip связана целиком с его заголовком. Я уже писал, что Far тут не при чём - архиватор считывает поле ushort frVersion и не верно его трактует. Ребята тут бессильны. Разве только изменить версию libzip в нём.
Автор: Victor_VG
Дата сообщения: 07.01.2009 05:24
Интересно, где тут собака порылась:

Цитата:
$make -f makefile_gcc WIDE=1 COMMON=../common
.....
NetClass.cpp: In constructor 'NetBrowser::NetBrowser()':
NetClass.cpp:181: warning: dereferencing type-punned pointer will break strict-aliasing rules
NetClass.cpp: In member function 'void NetBrowser::GetOpenPluginInfo(OpenPluginInfo*)':
NetClass.cpp:750: warning: dereferencing type-punned pointer will break strict-aliasing rules
.....
linking final.32W.gcc/Network.dll

Ругаемся, но собираем, про MultiArc скромно молчу - от варнингов рябит в глазах, но собирается. Причина на 90% одинакова - не поставлены скобки, неверные типы данных. Оставшиеся 10% - часто отсутствие определений функций или их синтаксические ошибки.
Одну пакость прибил - wget не все исходники тащит. Скачал, добавил в компилер svn-клиент но не знаю как залогонить его на репозиторий? Убедился что значительная часть багов сборки - от модификации "по дороге" - на серверах и в качалках. В тарбалле все-таки спокойнее - качается как банарка, а текстовые файлы часто портят. Пример - MultiArc/libpcre/pcre.h вместо его кода для 2430 получал содержимое pcre++.h - у провайдера прокся "чудит". Хорошо хоть старый код был.

На всякий случай написал "страховку от ошибок" farbuild.cmd, но нужен GNU Make-3.81 или правьте его код: make -> mingw32-make. Работать будет, но может и криво.

Цитата:
@echo off
@echo Far Manager 2.0 builder
@echo =======================
@echo Please, run this file onsvn/trunk/trunk or some folder! This batch file is
@echo use the relative folders structure on UNC notation!
@echo This script is build Far Manager and some plugins using GNU GCC/MinGW
@echo Please, remover remark of plugin's Compare and EMenu if this plugins
@echo can builded and work's correctly.
@echo Press any key for start build
@pause
else wget -r -np -k -p -x -nH -c http://www.farmanager.com/svn/trunk/
@pause
@echo Please, updates header's for ANSI build use latest
@echo http://www.farmanager.com/nightly.php build version 1.75 - just unpack
@echo all files on Headers.c sub folder in to svn/trunk/plugins/common/ascii
@echo and overwrite existing files, then continue build...
start http://www.farmanager.com/nightly.php
@pause
make -C svn/trunk/unicode_far -f makefile_gcc WIDE=1 COMMON=../plugins/common
cp -f svn/trunk/unicode_far/Include/*.hpp svn/trunk/plugins/common/unicode
make -C svn/trunk/plugins/common/crt -f makefile_lib_gcc
make -C svn/trunk/plugins/align -f makefile_gcc WIDE=1 COMMON=../common
make -C svn/trunk/plugins/autowrap -f makefile_gcc WIDE=1 COMMON=../common
make -C svn/trunk/plugins/brackets -f makefile_gcc WIDE=1 COMMON=../common
make -C svn/trunk/plugins/compare -f makefile_gcc WIDE=1 COMMON=../common
make -C svn/trunk/plugins/drawline -f makefile_gcc WIDE=1 COMMON=../common
make -C svn/trunk/plugins/editcase -f makefile_gcc WIDE=1 COMMON=../common
rem make -C svn/trunk/plugins/emenu -f makefile_gcc WIDE=1 COMMON=../common
make -C svn/trunk/plugins/farcmds -f makefile_gcc WIDE=1 COMMON=../common
make -C svn/trunk/plugins/filecase -f makefile_gcc WIDE=1 COMMON=../common
make -C svn/trunk/plugins/ftp -f makefile_gcc COMMON=../common
make -C svn/trunk/plugins/hlfviewer -f makefile_gcc WIDE=1 COMMON=../common
make -C svn/trunk/plugins/macroview -f makefile_gcc WIDE=1 COMMON=../common
make -C svn/trunk/plugins/multiarc -f makefile_gcc_libpcre COMMON=../common
make -C svn/trunk/plugins/multiarc -f makefile_gcc COMMON=../common
make -C svn/trunk/plugins/network -f makefile_gcc WIDE=1 COMMON=../common
make -C svn/trunk/plugins/proclist -f makefile_gcc WIDE=1 COMMON=../common
make -C svn/trunk/plugins/tmppanel -f makefile_gcc WIDE=1 COMMON=../common
@echo === Compiled ===
md Far\Addons\Headers.c Far\plugins Far\plugins\compare Far\plugins\editor 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
@echo Finish
@pause
@echo Far Manager and plugins is build finished. Use any file manager for
@echo copy files to distantion dir exclude obj folder's.
@pause

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

P.S.

Компилятор переделал, добавил в него SVN клиента и Perl 5.6.1. Вот последний и заставил сменить команду mkdir на системную md. gcc-4.3.2-x86.7z - компилятор gcc. Инструкции по установке и настройке внутри, как и документация. В планах подключить к нему PL/1 - на этом языке можно многое написать.
Автор: KillianRB
Дата сообщения: 07.01.2009 19:46
Господа, а может кто-нибудь кинуть линком на 64битную версию 1,75RC0 со всеми стандартными плагинами?
На оффсайте вижу только х86 ссылки.
Автор: Smitis
Дата сообщения: 07.01.2009 23:51
Victor_VG

Цитата:
Скачал, добавил в компилер svn-клиент но не знаю как залогонить его на репозиторий?

svn co http://farmanager.com/svn/trunk fardev
Автор: Victor_VG
Дата сообщения: 08.01.2009 02:45
Smitis

Спасибо огромное! А то мне надоело ругань в логах видеть.
Автор: Victor_VG
Дата сообщения: 09.01.2009 19:36
Ребят, кто поопытнее гляньте - может надо что исправить в исходниках?
[more=На это gcc ругается при сборке Far.exe]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[/more], [more=на это при сборке плугина Brackets]In file included from Brackets.cpp:26:
BrackMix.cpp: In function 'int ShowMenu(int)':
BrackMix.cpp:45: warning: missing braces around initializer for 'FarMenuItem'[/more], [more=Этот список формируется при сборке ProcList]Proclist.cpp: In function 'void dynamic_bind()':
Proclist.cpp:121: warning: dereferencing type-punned pointer will break strict-aliasing rules
Proclist.cpp:123: warning: dereferencing type-punned pointer will break strict-aliasing rules
Proclist.cpp:125: warning: dereferencing type-punned pointer will break strict-aliasing rules
Proclist.cpp:127: warning: dereferencing type-punned pointer will break strict-aliasing rules
Proclist.cpp:129: warning: dereferencing type-punned pointer will break strict-aliasing rules
Proclist.cpp:133: warning: dereferencing type-punned pointer will break strict-aliasing rules
Proclist.cpp:137: warning: dereferencing type-punned pointer will break strict-aliasing rules
Proclist.cpp:139: warning: dereferencing type-punned pointer will break strict-aliasing rules
Proclist.cpp:141: warning: dereferencing type-punned pointer will break strict-aliasing rules
Proclist.cpp:143: warning: dereferencing type-punned pointer will break strict-aliasing rules
Proclist.cpp:145: warning: dereferencing type-punned pointer will break strict-aliasing rules
Proclist.cpp:149: warning: dereferencing type-punned pointer will break strict-aliasing rules
Proclist.cpp:153: warning: dereferencing type-punned pointer will break strict-aliasing rules
handles.cpp: In function 'bool GOODSTATUS(DWORD)':
handles.cpp:144: warning: comparison between signed and unsigned integer expressions
handles.cpp: In function 'bool PrintNameByType(void*, WORD, void*, PerfThread*)':
handles.cpp:297: warning: deprecated conversion from string constant to 'TCHAR*'
handles.cpp:300: warning: deprecated conversion from string constant to 'TCHAR*'
handles.cpp:305: warning: deprecated conversion from string constant to 'TCHAR*'
handles.cpp:307: warning: deprecated conversion from string constant to 'TCHAR*'
handles.cpp:308: warning: deprecated conversion from string constant to 'TCHAR*'
handles.cpp: In function 'wchar_t* GetUserAccountID()':
handles.cpp:512: warning: deprecated conversion from string constant to 'wchar_t*'
Pcfg.cpp: In function 'int Config()':
Pcfg.cpp:56: warning: deprecated conversion from string constant to 'TCHAR*'
Pcfg.cpp:56: warning: deprecated conversion from string constant to 'TCHAR*'
Pcfg.cpp:56: warning: deprecated conversion from string constant to 'TCHAR*'
Pclass.cpp: In member function 'void Plist::GetOpenPluginInfo(OpenPluginInfo*)':
Pclass.cpp:342: warning: deprecated conversion from string constant to 'wchar_t*'
Pclass.cpp:342: warning: deprecated conversion from string constant to 'wchar_t*'
Pclass.cpp:342: warning: deprecated conversion from string constant to 'wchar_t*'
Pclass.cpp:342: warning: deprecated conversion from string constant to 'wchar_t*'
Pclass.cpp:342: warning: deprecated conversion from string constant to 'wchar_t*'
Pclass.cpp:342: warning: deprecated conversion from string constant to 'wchar_t*'
Pclass.cpp:342: warning: deprecated conversion from string constant to 'wchar_t*'
Pclass.cpp:342: warning: deprecated conversion from string constant to 'wchar_t*'
Pclass.cpp:342: warning: deprecated conversion from string constant to 'wchar_t*'
Pclass.cpp: In function 'BOOL EnumWndProc(HWND__*, LPARAM)':
Pclass.cpp:361: warning: suggest parentheses around && within ||
Pclass.cpp: In member function 'int Plist::GetFindData(PluginPanelItem*&, int&, int)':
Pclass.cpp:393: warning: deprecated conversion from string constant to 'TCHAR*'
Pclass.cpp:413: warning: deprecated conversion from string constant to 'TCHAR*'
Pclass.cpp: In member function 'int Plist::GetFiles(PluginPanelItem*, int, int, const wchar_t**, int, _Opt&)':
Pclass.cpp:642: warning: dereferencing type-punned pointer will break strict-aliasing rules
Pclass.cpp: In member function 'bool Plist::Connect(const TCHAR*, const TCHAR*, const TCHAR*)':
Pclass.cpp:955: warning: deprecated conversion from string constant to 'WCHAR*'
Pclass.cpp: In member function 'int Plist::ProcessKey(int, unsigned int)':
Pclass.cpp:1016: warning: suggest parentheses around && within ||
Pclass.cpp:1056: warning: missing braces around initializer for 'InitDialogItem'
Pclass.cpp:1119: warning: deprecated conversion from string constant to 'TCHAR*'
Pclass.cpp:1119: warning: deprecated conversion from string constant to 'TCHAR*'
Pclass.cpp:1119: warning: deprecated conversion from string constant to 'TCHAR*'
Pclass.cpp:1255: warning: suggest parentheses around && within ||
Pclass.cpp:1446: warning: comparison between signed and unsigned integer expressions
perfthread.cpp:34: warning: deprecated conversion from string constant to 'TCHAR*'
perfthread.cpp:34: warning: deprecated conversion from string constant to 'TCHAR*'
perfthread.cpp:34: warning: deprecated conversion from string constant to 'TCHAR*'
perfthread.cpp:34: warning: deprecated conversion from string constant to 'TCHAR*'
perfthread.cpp:34: warning: deprecated conversion from string constant to 'TCHAR*'
perfthread.cpp:34: warning: deprecated conversion from string constant to 'TCHAR*'
perfthread.cpp:34: warning: deprecated conversion from string constant to 'TCHAR*'
perfthread.cpp:34: warning: deprecated conversion from string constant to 'TCHAR*'
perfthread.cpp:34: warning: deprecated conversion from string constant to 'TCHAR*'
perfthread.cpp:34: warning: deprecated conversion from string constant to 'TCHAR*'
perfthread.cpp:34: warning: deprecated conversion from string constant to 'TCHAR*'
perfthread.cpp:34: warning: deprecated conversion from string constant to 'TCHAR*'
perfthread.cpp:34: warning: deprecated conversion from string constant to 'TCHAR*'
perfthread.cpp:34: warning: deprecated conversion from string constant to 'TCHAR*'
perfthread.cpp:34: warning: deprecated conversion from string constant to 'TCHAR*'
perfthread.cpp:34: warning: deprecated conversion from string constant to 'TCHAR*'
perfthread.cpp:34: warning: deprecated conversion from string constant to 'TCHAR*'
perfthread.cpp:34: warning: deprecated conversion from string constant to 'TCHAR*'
perfthread.cpp:34: warning: deprecated conversion from string constant to 'TCHAR*'
perfthread.cpp:34: warning: deprecated conversion from string constant to 'TCHAR*'
perfthread.cpp:34: warning: deprecated conversion from string constant to 'TCHAR*'
perfthread.cpp:34: warning: deprecated conversion from string constant to 'TCHAR*'
perfthread.cpp: In member function 'ProcessPerfData* PerfThread::GetProcessData(DWORD, DWORD) const':
perfthread.cpp:169: warning: suggest parentheses around && within ||
PlistNT.cpp: In function 'BOOL GetListNT(PluginPanelItem*&, int&, PerfThread&)':
PlistNT.cpp:326: warning: dereferencing type-punned pointer will break strict-aliasing rules
PlistNT.cpp:326: warning: dereferencing type-punned pointer will break strict-aliasing rules
PlistNT.cpp: In function 'void GetOpenProcessDataNT(void*, TCHAR*, DWORD, TCHAR*, DWORD, TCHAR*, DWORD, TCHAR**, wchar_t**)':
PlistNT.cpp:362: warning: missing braces around initializer for 'LIST_ENTRY'
PlistNT.cpp: In function 'void DumpNTCounters(void*, PerfThread&, DWORD, DWORD)':
PlistNT.cpp:584: warning: dereferencing type-punned pointer will break strict-aliasing rules
PlistNT.cpp:600: warning: dereferencing type-punned pointer will break strict-aliasing rules
PlistNT.cpp:600: warning: dereferencing type-punned pointer will break strict-aliasing rules[/more], а вот этот [more=при сборке Network]NetClass.cpp: In constructor 'NetBrowser::NetBrowser()':
NetClass.cpp:181: warning: dereferencing type-punned pointer will break strict-aliasing rules
NetClass.cpp: In member function 'void NetBrowser::GetOpenPluginInfo(OpenPluginInfo*)':
NetClass.cpp:750: warning: dereferencing type-punned pointer will break strict-aliasing rules[/more]/ Multiarc так же собирается с большим количеством сообщений об ошибках и предупреждений. К сожалению, я не смог перехватить весь лог сборки - буфера консоли не хватило, а запустить сборку под sh с ходу не догадался. Потому и не могу помочь в устранении, если они есть ошибок в multiarc с ходу. Но, следующий лог постараюсь весь перехватить. Думаю, что он будет полезен.

Ещё одна проблема связаная как я считаю с MultiArc, наблюдается при использовании плугина Compare. Её проявление как мне кажется связано именно с MultiArc: входим в архив 7-Zip с подкаталогами на одной панели, в архив rar с подкаталогами на другой. Выбираем два подкаталога, и даём команду сравнения - всё, получили [more=исключение в приложении: far.exe c0000005 (нарушение прав доступа)]eax=ffffffff ebx=00000000 ecx=00cc0438 edx=00c713a8 esi=00000000 edi=00000000
eip=00000000 esp=0022f468 ebp=00000000 iopl=0 nv up ei pl nz na pe nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000202

*** ERROR: Module load completed but symbols could not be loaded for C:\Program Files\Far20\far.exe
функция: <nosymbols>
No prior disassembly possible
:
00000000 ?? ???
00000002 ?? ???
00000004 ?? ???
00000006 ?? ???
00000008 ?? ???
0000000a ?? ???
0000000c ?? ???
0000000e ?? ???
СБОЙ -> :
00000000 ?? ???
Error 0x00000001
00000002 ?? ???
00000004 ?? ???
00000006 ?? ???
00000008 ?? ???
0000000a ?? ???
0000000c ?? ???
0000000e ?? ???
00000010 ?? ???
00000012 ?? ???
00000014 ?? ???

*----> Обратная трассировка стека <----*
WARNING: Stack unwind information not available. Following frames may be wrong.
ChildEBP RetAddr Args to Child
0022f464 00000000 00000000 00000000 00000000 0x0

*----> Копия необработанного стека <----*
000000000022f468 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ................
000000000022f478 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ................
000000000022f488 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ................
000000000022f498 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ................
000000000022f4a8 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ................
000000000022f4b8 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ................
000000000022f4c8 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ................
000000000022f4d8 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ................
000000000022f4e8 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ................
000000000022f4f8 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ................
000000000022f508 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ................
000000000022f518 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ................
000000000022f528 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ................
000000000022f538 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ................
000000000022f548 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ................
000000000022f558 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ................
000000000022f568 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ................
000000000022f578 00 00 00 00 01 00 00 00 - 88 7a c8 00 60 1c ca 00 .........z..`...
000000000022f588 ff ff ff ff 00 00 00 00 - 1d 00 00 00 1d 00 00 00 ................
000000000022f598 03 00 00 00 01 00 00 00 - 0f 00 00 00 08 00 00 00 ................[/more]

Поймать процесс системным отладчиком удалось только один раз, несмотря на все усилия. Обычно процесс завершается аварийно до срабатывания брекпойнтов. Лично я предполагаю, что в таком случае MultiaArc не верно передаёт данные через плугин API и затирает часть кода Far.exe, что и приводит к исключению. Собранный разработчиками плугин Compare равно как и собранный в GCC такой же плугин до сборки Fra 2.0.700 проблемы не вызывал. При этом, если использовать только стандартные плугины вроде не сбоит, а если тот набор каким пользуюсь я - на сравнении не успеваешь отследить причину аварийного завершения процесса. Вот и думаю - может вместе удаться отловить причину данного явления и устранить её, дабы потом у людей не вылезало?
Автор: Raimon
Дата сообщения: 10.01.2009 20:49
Господа, как перенести настройки FAR из ХР в Висту???
Автор: Victor_VG
Дата сообщения: 10.01.2009 22:49
Дошли руки написать скрипт для автосборки в gcc. Цель уменьшение вероятности ошибок оператора и облегчить труд разработчиков - скрипт сам отработает нужные команды и сам использует команды UNIX для перемещения результатов в каталог с готовой сборкой, а затем почистит мусор - диски-то не резиновые.
[more=Пользуйтесь - у меня имя скрипта farbld.cmd:]
@echo off
@echo Far Manager 2.0 builder
@echo =======================
@echo Please, see this notes. This script is use the relative folders structure on UNC notation.
@echo This script is build Far Manager and some plugins using GNU GCC/MinGW compiller
@echo Please, remove remark of plugin's Compare and EMenu if this plugins is can builds and work's correctly.
@echo Press any key for start SVN check for source code update.
@pause
svn co http://farmanager.com/svn/trunk %TEMP%\fardev
@pause
@echo Please, updates header's for ANSI build use latest
@echo http://www.farmanager.com/nightly.php build version 1.75 - just unpack
@echo all files on Headers.c sub folder in to plugins/common/ascii
@echo and overwrite existing files, then continue build...
@echo off
start http://www.farmanager.com/nightly.php
@pause
make -C fardev/unicode_far -f makefile_gcc WIDE=1 COMMON=../plugins/common
cp -f fardev/unicode_far/Include/*.hpp fardev/plugins/common/unicode
make -C fardev/plugins/common/crt -f makefile_lib_gcc
make -C fardev/plugins/align -f makefile_gcc WIDE=1 COMMON=../common
make -C fardev/plugins/autowrap -f makefile_gcc WIDE=1 COMMON=../common
make -C fardev/plugins/brackets -f makefile_gcc WIDE=1 COMMON=../common
make -C fardev/plugins/compare -f makefile_gcc WIDE=1 COMMON=../common
make -C fardev/plugins/drawline -f makefile_gcc WIDE=1 COMMON=../common
make -C fardev/plugins/editcase -f makefile_gcc WIDE=1 COMMON=../common
rem make -C fardev/plugins/emenu -f makefile_gcc WIDE=1 COMMON=../common
make -C fardev/plugins/farcmds -f makefile_gcc WIDE=1 COMMON=../common
make -C fardev/plugins/filecase -f makefile_gcc WIDE=1 COMMON=../common
make -C fardev/plugins/ftp -f makefile_gcc COMMON=../common
make -C fardev/plugins/hlfviewer -f makefile_gcc WIDE=1 COMMON=../common
make -C fardev/plugins/macroview -f makefile_gcc WIDE=1 COMMON=../common
make -C fardev/plugins/multiarc -f makefile_gcc_libpcre COMMON=../common
make -C fardev/plugins/multiarc -f makefile_gcc COMMON=../common
make -C fardev/plugins/network -f makefile_gcc WIDE=1 COMMON=../common
make -C fardev/plugins/proclist -f makefile_gcc WIDE=1 COMMON=../common
make -C fardev/plugins/tmppanel -f makefile_gcc WIDE=1 COMMON=../common
cd %TEMP%
cd %TEMP%\fardev
mkdir Far\Addons\Headers.c Far\Addons\Headers.p Far\plugins Far\plugins\compare Far\plugins\editor 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
cp -f unicode_far/Include/*.hpp Far/Addons/Headers.c
cp -f unicode_far/Include/*.pas Far/Addons/Headers.p
cp -f plugins/align/changelog Far/plugins/compare
cp -f plugins/autowrap/changelog Far/plugins/editor/align
cp -f plugins/brackets/changelog Far/plugins/editor/autowrap
cp -f plugins/compare/changelog Far/plugins/editor/brackets
cp -f plugins/drawline/changelog Far/plugins/editor/drawline
cp -f plugins/editcase/changelog Far/plugins/editor/editcase
cp -f plugins/emenu/changelog Far/plugins/editor/hlfviewer
cp -f plugins/farcmds/changelog Far/plugins/editor/macroview
cp -f plugins/filecase/changelog Far/plugins/emenu
cp -f plugins/ftp/changelog Far/plugins/farcmds
cp -f plugins/hlfviewer/changelog Far/plugins/filecase
cp -f plugins/macroview/changelog Far/plugins/ftp
cp -f plugins/multiarc/changelog Far/plugins/multiarc
cp -f plugins/multiarc/custom.ini Far/plugins/multiarc/Formats
cp -f plugins/network/changelog Far/plugins/network
cp -f plugins/proclist/changelog Far/plugins/proclist
cp -f plugins/tmppanel/changelog Far/plugins/tmppanel
cp -f plugins/changelog plugins Far/plugins
cp -f unicode_far/changelog Far
rm -fR unicode_far/GCC/obj
rm -fR plugins/align/final.32W.gcc/obj
rm -fR plugins/autowrap/final.32W.gcc/obj
rm -fR plugins/brackets/final.32W.gcc/obj
rm -fR plugins/compare/final.32W.gcc/obj
rm -fR plugins/drawline/final.32W.gcc/obj
rm -fR plugins/editcase/final.32W.gcc/obj
rm -fR plugins/emenu/final.32W.gcc/obj
rm -fR plugins/farcmds/final.32W.gcc/obj
rm -fR plugins/filecase/final.32W.gcc/obj
rm -fR plugins/ftp/final.32.gcc/obj
rm -fR plugins/hlfviewer/final.32W.gcc/obj
rm -fR plugins/macroview/final.32W.gcc/obj
rm -fR plugins/multiarc/final.32.gcc/obj
rm -fR plugins/network/final.32W.gcc/obj
rm -fR plugins/proclist/final.32W.gcc/obj
rm -fR plugins/tmppanel/final.32W.gcc/obj
mv -f -t Far unicode_far/GCC/*
mv -f -t Far/plugins/editor/align plugins/align/final.32W.gcc/*
mv -f -t Far/plugins/editor/autowrap plugins/autowrap/final.32W.gcc/*
mv -f -t Far/plugins/editor/brackets plugins/brackets/final.32W.gcc/*
mv -f -t Far/plugins/compare plugins/compare/final.32W.gcc/*
mv -f -t Far/plugins/editor/drawline plugins/drawline/final.32W.gcc/*
mv -f -t Far/plugins/editor/editcase plugins/editcase/final.32W.gcc/*
mv -f -t Far/plugins/emenu plugins/emenu/final.32W.gcc/*
mv -f -t Far/plugins/farcmds plugins/farcmds/final.32W.gcc/*
mv -f -t Far/plugins/filecase plugins/filecase/final.32W.gcc/*
mv -f -t Far/plugins/ftp plugins/ftp/final.32.gcc/*
mv -f -t Far/plugins/editor/hlfviewer plugins/hlfviewer/final.32W.gcc/*
mv -f -t Far/plugins/editor/macroview plugins/macroview/final.32W.gcc/*
mv -f -t Far/plugins/multiarc plugins/multiarc/final.32.gcc/*
mv -f -t Far/plugins/network plugins/network/final.32W.gcc/*
mv -f -t Far/plugins/proclist plugins/proclist/final.32W.gcc/*
mv -f -t Far/plugins/tmppanel plugins/tmppanel/final.32W.gcc/*
rm -fR unicode_far/GCC
rm -fR plugins/align/final.32W.gcc
rm -fR plugins/autowrap/final.32W.gcc
rm -fR plugins/brackets/final.32W.gcc
rm -fR plugins/compare/final.32W.gcc
rm -fR plugins/drawline/final.32W.gcc
rm -fR plugins/editcase/final.32W.gcc
rm -fR plugins/emenu/final.32W.gcc
rm -fR plugins/farcmds/final.32W.gcc
rm -fR plugins/filecase/final.32W.gcc
rm -fR plugins/ftp/final.32.gcc
rm -fR plugins/hlfviewer/final.32W.gcc
rm -fR plugins/macroview/final.32W.gcc
rm -fR plugins/multiarc/final.32.gcc
rm -fR plugins/network/final.32W.gcc
rm -fR plugins/proclist/final.32W.gcc
rm -fR plugins/tmppanel/final.32W.gcc
rm -fR unicode_far/GCC
rm -fR unicode_far/Include
make -f makefile_gcc clean
@echo -= Finish =-
@echo Far Manager and plugins is build finished and moved to %TEMP%\fardev\Far dir.
@pause[/more]
Компилятору почти сделал установку, чуть позже будет. Хочу немного доделать пару мест. Развернётся примерно на 305 Мб, пакет установки около 46 Мб. Сделано с той же целью - уменьшить влияние человеческой ошибки.


Автор: KapralBel
Дата сообщения: 10.01.2009 23:08
Raimon
1. SaveSettings.bat
2. FarSave1.reg + FarSave2.reg
3. RestoreSettings.bat

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778

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


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