.exe генерируется в Cygwin 1.7 не работает на Cygwin 1.52 - PullRequest
0 голосов
/ 02 июня 2010

Год назад я разработал небольшой скрипт на Perl для клиента и разработал его .exe, используя pp. мы доставили файл .exe вместе с основными установочными файлами cygwin (1.52) для запуска этого .exe клиенту.

Теперь у нас есть усовершенствование в скрипте. Мы потеряли всю среду разработки для cygwin. Снова мы установили свежую версию cygwin с версией 1.7, закодировали и сгенерировали файл .exe. Этот файл не работает в среде клиента с Cygwin 1.52. Просто это будет balnk после выполнения .exe

мы не можем просить клиента обновить тестовую среду. Как еще можно заставить его работать .exe с cygwin dll 1.7 на cygwin 1.52. Любая помощь будет принята с благодарностью.

Rgds, sowm

Ответы [ 2 ]

2 голосов
/ 03 июня 2010

Разработчики Cygwin строго относятся к восходящей совместимости, но не пытаются обеспечить обратную совместимость между основными выпусками, например, между 1,5 и 1,7. Это означает, что вы можете создать программу на 1.7, которая работает на 1.5, только при условии, что вы избегаете вызова функций, которые были добавлены в библиотеку Cygwin DLL в 1.7.

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

Если проблема связана со сторонними библиотеками, как я полагаю, может быть целесообразно потратить время на то, чтобы выяснить, как заставить их вернуться к общей функциональности, предоставляемой как 1.5, так и 1.7. Например, в системе, основанной на autoconf, вы можете вручную отредактировать файл config.h, который создает скрипт configure, чтобы отключить использование некоторых обнаруженных функций. Это, в свою очередь, означает создание всех этих библиотек из исходного кода, а не загрузку двоичных версий из репозитория проекта Cygwin и их непосредственное использование.

Может быть проще извлечь среду Cygwin 1.5 из Cygwin Time Machine .

Кстати, вы знаете, что для распространения Cygwin и исполняемых файлов, созданных на его основе, требуется, чтобы эти исполняемые файлы соответствовали GPL, или чтобы вы приобрели коммерческую лицензию Cygwin, не так ли? Если нет см. FAQ .

0 голосов
/ 28 декабря 2010

Установить 1,5 с http://cygwin.com/setup-legacy.exe

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...