Детектив: не запускается XPD

Автор mclac, 25 Нояб. 2011 в 17:43

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

mevial

Цитата: DarthGray от 02 Дек. 2011 в 11:23
Никто не говорит о неадекватности. просто это не выход
Мы пытаемся найти ПРОСТОЕ решение, что бы XPD запускалась сразу после установки на ЛЮБОЙ винде
Скопировать файлы конечно очень сложно и неповторяемо(а я то думал, что наши бухгалтерши это освоить никак не могут, дурами их считал). Несомненно запускать процессмонитор, настраивать фильтры(которых там больше чем в файлмоне), отыскивать нужные строки(я читерствовал и искал через less и фильтровал через awk) это более простое решение.  :D
Вот почитайте http://msdn.microsoft.com/ru-ru/library/7d83bc18.aspx, в принципе посмотрев в те каталоги, что я указал становится понятно почему именно там библиотеки ищутся в первую очередь. Так что моё решение более общее и более корректное по отношению к другим программам, из-за которых вы не можете запустить xpd. Ну найдёте вы конфликтующую библиотеку, ну удалите её, ну запустите xpd, а потом окажется, что что-то другое не работает. А у другого человека другая библиотека, и что ему делать? Ну или вбивайте пути к вашим dll в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs, можно даже reg забабахать, только один ставит в c:\python27, другой в c:\Program Files\python27, а третий вообще на диск z:, так что никакой универсальности. Да и результат будет точно таким же как и с удалением "неправильной" dll.
Хотя ладно, созрел другой способ претендующий на универсальность, попробуйте вот этот вариант xpd.

DarthGray

Цитата: mevial от 02 Дек. 2011 в 15:19
Скопировать файлы конечно очень сложно и неповторяемо(а я то думал, что наши бухгалтерши это освоить никак не могут, дурами их считал). Несомненно запускать процессмонитор, настраивать фильтры(которых там больше чем в файлмоне), отыскивать нужные строки(я читерствовал и искал через less и фильтровал через awk) это более простое решение.  :D

Дык это поиск задницы. а он всегда сложный
А решение должно быть простым

Цитата: mevial от 02 Дек. 2011 в 15:19
Хотя ладно, созрел другой способ претендующий на универсальность, попробуйте вот этот вариант xpd.

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

zap

Воот, с логами теперь гораздо проще гадать на кофейной гуще :D

Что сразу нашлось - в каталоге C:\Windows\System32 у Вас лежит некий zlib1.dll, дублирующий C:\Program Files\Python27\Lib\site-packages\gtk-2.0\runtime\bin\zlib1.dll

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

Ещё я вижу у Вас стоит Касперский. А на тех машинах, где XPD работает он у Вас установлен?
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

mevial

#39
А логов-то я и не заметил. :(
Копирование C:\Program Files\Python27\Lib\site-packages\gtk-2.0\runtime\bin\zlib1.dll в C:\Program Files\Python27\Lib\site-packages\gtk-2.0\gtk\zlib1.dll решило бы проблему. Кстати удивлён, что у вас папка с xpd идёт в поиске после папки windows/system32, видимо не такая уж у вас винда старая, у меня старше.

илс

#40
Цитата: zap от 02 Дек. 2011 в 16:23

Что сразу нашлось - в каталоге C:\Windows\System32 у Вас лежит некий zlib1.dll, дублирующий C:\Program Files\Python27\Lib\site-packages\gtk-2.0\runtime\bin\zlib1.dll

Попробуйте его временно оттуда куда-нибудь перенести. Не исключено, что он скомпилирован не с теми опциями, другим компилятором, он не той версии итд.
Zap - Вы Гений!

для начала, я запустил поиск на своей машине и нашел след. варианты данной библиотеки:

см. картинку 1

Потом удалил из директории C:\Windows\ злополучную библиотеку,  запустил xpd и О Чудо, все заработало  :bq: :ay: :br:

см. картинку 2

Жаль рука сломана, проверить результат не смогу,... в деле  :)



mevial

Ждём отчётов что же сломалось после удаления библиотеки.  :D Всё-таки я описывал чем этот метод плох.

zap

Не могу не потроллить.

В linux я бы просто написанл "rpm -qf c:/windows/system32/zlib1.dll" и он бы мне сразу сказал, частью какого пакета этот файл является :D
Ну или "apt-get -S c:/windows/system32/zlib1.dll" в Убунте.

А в Windows меня часто бесит эта хроническая его неспособность определить чей за файл, не говоря уж о более продвинутых функциях.
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

mevial

Цитата: zap от 03 Дек. 2011 в 02:32
Не могу не потроллить.

В linux я бы просто написанл "rpm -qf c:/windows/system32/zlib1.dll" и он бы мне сразу сказал, частью какого пакета этот файл является :D
Ну или "apt-get -S c:/windows/system32/zlib1.dll" в Убунте.

А в Windows меня часто бесит эта хроническая его неспособность определить чей за файл, не говоря уж о более продвинутых функциях.

В gentoo equery belongs zlib1.dll :)
Для винды есть сторонние утилиты, которые сканируют софт и все зависимости, обычно часть всяких чистилок реестров.

zap

Это всё муляж, как можно сканировать когда там инсталляторы все вразнобой, с разными форматами хранения uninstall info, некоторые даже не все файлы туда вписывают, в результате после деинсталляции остаются мусорные файлы.
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

mevial

Цитата: zap от 04 Дек. 2011 в 04:58
Это всё муляж, как можно сканировать когда там инсталляторы все вразнобой, с разными форматами хранения uninstall info, некоторые даже не все файлы туда вписывают, в результате после деинсталляции остаются мусорные файлы.

Не муляж, порой порты в генте так намудрят, что половина перестаёт работать, а revdep-rebuild, который сканирует все исполняемые файлы и библиотеки на предмет запуска других библиотек(ну потом конечно у портов спрашивает где найти либу) находит повреждённые зависимости и говорит, что надо переставить, чтобы заработало. Так же и в винде сканеры пашут, перекапывают все exe и dll. Единственное, они не смогут сказать где взять потерянную dll и какой версии она должна быть, но её название выявляют.

zap

Так мы говорим о разном тогда. Я не говорю о построении дерева зависимостей exe от dll через таблицу импортов екзешника. Я говорю об общесистемной базе данных всех файлов и пакетов в системе (не find :af:). То есть, буквально, на любой файл в системе, включая конфиги, картинки и прочую муть, исключая пользовательские.

Гента это гента, "закат солнца вручную". В системах, где пакеты проходят хотя бы минимальное предварительное тестирование, битые зависимости можно создать только устанавливая левые пакеты с --force. Да и в любом случае, запросы к базе установленных файлов всё равно при этом работают.
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

mevial

Цитата: zap от 05 Дек. 2011 в 01:24
Так мы говорим о разном тогда. Я не говорю о зависимостях exe от dll через таблицу импортов екзешника. Я говорю об общесистемной базе данных всех файлов в системе. То есть, буквально, на любой файл в системе, включая конфиги, картинки и прочую муть.

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

zap

Я практически никогда не ставлю программы через make install. Всегда можно найти SRPM (хоть и старой версии), взять оттуда сценарий и собрать новую версию пакета. И уж полное ни-ни ставить что-то в системные каталоги, если уж хочется что-то временно поставить чтобы со сборкой RPM не мучаться, исключительно в /usr/local.
Уж очень это облегчает жизнь при очередном апгрейде системы.
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

DarthGray

Ну чтож, всех поздравляю!
После убийства zlib1.dll из C:\WINDOWS\system32 XPD и у меня запустилась!
Пусть пока в корзине полежит. вдруг какая задница всплывёт
Если за неделю никакой глюк не вылезет - убью безвозвратно
Вот вроде нашлось и простое решение
Можно даже батничек сделать, чтоб убивал перед запуском, если она есть
Ну или переименовывал в .тмр например
Различие между теорией и практикой на практике гораздо больше, чем в теории.

mevial

Цитата: DarthGray от 05 Дек. 2011 в 10:28
Ну чтож, всех поздравляю!
После убийства zlib1.dll из C:\WINDOWS\system32 XPD и у меня запустилась!
Пусть пока в корзине полежит. вдруг какая задница всплывёт
Если за неделю никакой глюк не вылезет - убью безвозвратно
Вот вроде нашлось и простое решение
Можно даже батничек сделать, чтоб убивал перед запуском, если она есть
Ну или переименовывал в .тмр например
Можете посмотреть какой версии zlib1.dll в корзине, случаем не 1.2.3? Нашёл в нете списочек софта, который его использует, и редко в каком софте эта либа выше версии 1.2.3, а в gtk - 1.2.5. Вот интересно, если таки найдётся софтина, которая установила zlib1.dll, сможет ли она работать с более новой либой?

илс

Список длинный, но весь указанный софт не использует zlib1.dll из каталога
C:\Windows как у меня или C:\WINDOWS\system32 как у коллеги.

Может действительно бросить туда библиотеку с более поздней версией (от gtk) и не беспокоится. что-то какая-то прога сломалась?

DarthGray

Цитата: mevial от 05 Дек. 2011 в 13:16
Можете посмотреть какой версии zlib1.dll в корзине, случаем не 1.2.3?

Посмотрел
Версия файла - 1.2.3.0
Описание - zlib data compression library
Авторские права - (C) 1995-2003 Jean-loup Gailly & Mark Adler
Комментарий - DLL support by Alessandro Iacopetti & Gilles Vollant
Различие между теорией и практикой на практике гораздо больше, чем в теории.

DarthGray

Посмотрел ещё вот чего
Осталась zlib.dl (без единички)
Используется Мирандой
Различие между теорией и практикой на практике гораздо больше, чем в теории.