LINUX.ORG.RU

Запуск программы под wine 1.2


0

2

Добрый вечер! Помогите пожалуйста разобраться с запуском программы под wine. Устанавливаю софт. Процесс протекает без ошибок и успешно завершается. В меню kde появляются соответствующие значки. и через winecfg я тоже вижу строчку с установленной программой. Само приложение установлено в .wine/drive_c/Program Files/FP/ (захожу сюда;смотрю;все файлы на месте,включая .exe-шник);

но когда запускаю его из kde, то ничего не происходит...тишина! дальше через консоль пытаюсь запустить, выдаёт:

user@linux-irvw:~> wine FP10.exe wine: cannot find L"C:\\windows\\system32\\FP10.exe"

почему wine ищет .exe-файл не там куда установил? что можно предпринять?

система: openSUSE 11.3

Укажи путь до экзешника (в представлении wine)
Или зайди в каталог где лежит этот экзешник и запускай wine FP10.exe

Lumi ★★★★★
()

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

anon_666
()
Ответ на: комментарий от Zenithar

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

err:seh:setup_exception_record stack overflow 816 bytes in thread 0009 eip 7bc3f253 esp 00231000 stack 0x230000-0x231000-0x330000

Rusframe
() автор топика
Ответ на: комментарий от Sandr_Matiash

вобще это условное я так её обозвал! качай Sanuel Family 2010 Pro

Rusframe
() автор топика
Ответ на: комментарий от drBatty

версия wine совпадает с той что в ubuntu, там из репозитория тоже поставилась 1.2. Делаю вывод, что смысла копировать настройки нет, т.к. тут тоже поставилась сразу 1.2

Rusframe
() автор топика
Ответ на: комментарий от Rusframe

>версия wine совпадает с той что в ubuntu, там из репозитория тоже поставилась 1.2. Делаю вывод, что смысла копировать настройки нет, т.к. тут тоже поставилась сразу 1.2

1) 1.2 != 1.2 Зависит от того, как собирал её маинтейнер, какие патчи накладывал, какие опции компиляции применял. Теоретически, с помощью патча можно из wine сделать KDE и обратно.

2) вывод поспешный. сначала сравните.

drBatty ★★
()
Ответ на: комментарий от Rusframe

Возьми в Убунте в каталоге пользователя скрытый каталог .wine . Чтобы увидеть его, третьем пункте меню выбери «Отображать скрытые файлы». Замени тот, что в SuSE. Всё должно заработать...

http://zenway.ru/page/wine http://zenway.ru/page/wine-start http://zenway.ru/page/wine-howto

Zenithar
()
Ответ на: комментарий от drBatty

Wine'ы должны быть одинаковые. В том числе и в плане зависимостей и патчей.

Zenithar
()
Ответ на: комментарий от drBatty

Хмм.. как собирал её маинтейнер я не знаю (и что такое маинтейнер не знаю :) ), но звучит убедительно (уже ставлю убунту в virtualbox)

Rusframe
() автор топика
Ответ на: комментарий от Rusframe

Зачем... Так, мой совет уже не нужен, потому что я думал что у тебя убунта живая ещё. Найди программу на appdb.winehq.org и посмотри руководство запуска

Zenithar
()
Ответ на: комментарий от Rusframe

Я тоже не нашёл. Проверь, установлена ли у тебя программа winbind, и если нет - установи. Вряд ли поможет, но вдруг?

И ещё - при первом запуске Wine ты установил Wine Gecko? Если нет - проблема тоже может быть в этом. Решается она установкой Wine Gecko (по ссылкам написано как) или установкой ie6 с помощью ies4linux или winetricks ie6.

Zenithar
()
Ответ на: комментарий от Zenithar

> Проверь, установлена ли у тебя программа winbind

посмотрел в менеджере программ - написано: samba - winbind! как самба моя может влиять на wine не понял.. в любом случае пакет установлен;

установил Wine Gecko?

установлено

Rusframe
() автор топика
Ответ на: комментарий от Rusframe

Открыв в Windows каталог C:\WINDOWS\System32 ты увидишь кучу системных файлов. В основном библиотек dll. В Windows существует проблема, когда две разные библиотеки называются одинаково, то есть разные версии одной библиотеки несовместимы. Там и решений этой проблемы существует много.

Открыв в Linux /usr/lib ты увидишь системные библиотеки в Linux. В одним дистрибутиве ты увидишь libopenal.so.1, в другом - libopenal.so.0. Это разные версии одной и той же библиотеки. Так как почти все программы в Linux с открытым исходным кодом, то программа компилятор задействует при сборке всех программ из исходного кода одну, последнюю, версию библиотеки. Конкретно у этой - первую. А вообще библиотек сотни обычно.

Из-за этого программы для Linux не несут в себе все-все свои библиотеки с собой, а используют системные. Устанавливаешь ты, например, перепрошивалку BIOS-а flashrom, а она тебе и говорит: я хочу libpci и zlib. Она их не несет в себе, а берёт из системы. В Windows ты устанавливаешь программу, а с ней в каталоге вложены несколько системных библиотек, которые у тебя уже есть.

Wine использует десятки системных библиотек. Например, OpenGL используется для запуска DirectX-игр, потому что своего DirectX у Linux нет. Но всё, что использует Wine, не входит в её исходный код. А берётся из системы. Samba задействуется для тех программ, которые используют локальную сеть в Windows. Например QIP и Steam.

Zenithar
()
Ответ на: комментарий от Zenithar

Скачав исходный код flashrom и скомпилировав, мы скорее всего не сможем запустить эту программу в предыдущей версии того же дистрибутива. flashrom скажет, что не найдено libpci.so.3, а libpci.so.2 не подходит. Это другая версия той же библиотеки. С одной стороны это плохо (труднее создать программу, которая включится сразу везде), а с другой - хорошо. Программисту не надо создавать заново уже созданное, и при этом не надо вкладывать в каталог с программой кучу системных библиотек.

Другая программа necflash перепрошивает приводы Nec и Optiarc. Она запускается в любом Linux не важно с какими библиотеками. Потому что она слинкована статически. Почти все программы с закрытым кодом линуются статически (станный термин, правда?), но если автор хочет, чтобы она занимала места меньше, она линкуется динамически и не использует системных библиотек вообще (кроме нескольких таких, которые везде одинкаковые). В крайнем случае можно положить в каталог с программой небходимые библиотеки.

flashrom просто маленькая, вот я её и привожу как пример. Wine большой. Он огромный. Он использует Samba, openal, opengl, freetype, gphoto, x11 - да кучу всего, чего я даже не знаю. И всё берёт из системы. Чтобы программистам не изобретать велосипедов, создавая функционал этих библиотек повторно. Wine это хитроумная прослойка между реализованным в Linux/BSD/MAC функционалом и программами для Windows.

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

Zenithar
()
Ответ на: комментарий от Zenithar

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

А почему когда я устанавливаю wine из менеджера ПО (у вас это, как я понял «репами» называают), то программа установки ничего не сообщает о том, что отсутствуют те или иные библиотеки? Имеет ли в моём случае смысл качать «исходники» последней rc- версии wine или предыдущие сборки и ставить их «вручную» ?

Rusframe
() автор топика
Ответ на: комментарий от Rusframe

Сообщает. Ты жмёшь по Wine, а пакетный менеджер тебе говорит «Надо доустановить это и это». А если компилировать из исходного кода, то компилятор просканирует твои программы и предупредит «Так, такой-то программы нет. Не будет поддерживаться кодек gsm, вывод через jack, сканеры, веб-камеры и что-нибудь ещё». Этим можно пользоваться только когда программа ещё в исходном коде и именно поэтому Gentoo поставляется не в скомпилированном виде, а в виде исходного кода. Долго объяснять, я на экзамен иду. Ну, удачи...

P.S. Я уверен, сборки Wine в SuSE и Ubuntu совершенно одинаковые. Ты наверное чтобы запустить программу сделал сам не помнишь что, установил например что-нибудь до неё, и это помогло. Какую-нибудь системную библиотеку или программу, устанавливающую в систему системные библиотеки.

Zenithar
()
Ответ на: комментарий от Rusframe

Поставил из исходников последнюю версию wine 1.3.9! скомпилировалась без единого запроса на установку доп.пакета и без ошибок. А ошибка в итоге та же...

расстроен...

Rusframe
() автор топика
Ответ на: комментарий от Rusframe

Я думаю ты сам того не подозревая создал для программы благоприятные условия для запуска, которых ещё никто не подобрал. Это вышло случайно и больше нельзя повторить. Поэтому предлагаю запускать программу в Windows или VirtualBox. А также создать на англоязычном appdb страничку с программой, результат тестов, скриншот, а затем страничку бага в bugzilla.

Zenithar
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.