/bin/sh:./check-dependencies.pl: не найденный — но проверка-dependencies.pl существует!

То, кто делает Вы предлагаете идти, должно осуществить миграцию тысячи наиболее часто используемых приложений и утилит?

Unix является экосистемой, не продуктом (несмотря на Open Group, управляющую IP), и нет никого с питанием заставить это произойти. Существуют важные утилиты, которые определяются исторической документацией и не имеют единственной ссылочной реализации.

И при этом нет срочной необходимости изменить тот материал: что необходимо, фронтенды, которые скрывают его от бесхитростного пользователя. Это не похоже на Joe User, на самом деле знает то, что находится в системных папках его Окна или его каталоге Mac OS Libraries. Действительно современное OSs Окна имеет те специальные системные места, принимающие значение по умолчанию к невидимой операции.

0
29.10.2012, 23:15
1 ответ

Наиболее вероятная причина этой ошибки - это check-dependencies.pl не находится в каталоге, где make-файл ищет его. Однако, если файл check-dependencies.pl действительно существует в /home/minakshi/Desktop/working-dir/moses/scripts, затем существует другая возможность: возможно, его загрузчик не существует.

Когда ядру говорят выполнить программу, оно выполняет программу загрузчика и передает его исполняемый файл для загрузки. Если загрузчик не найден, ядро может только сообщить “не найденный”, это не имеет способа отличить “непосредственно требуемый файл, не найденный” от “загрузчика, не найденного”. Иногда выполняющаяся оболочка будет осуществлять вторую проверку для отображения более явного сообщения об ошибке, но иногда Вы заканчиваете со странно выглядящим сообщением, которое говорит Вам, что сценарий или динамично связанный исполняемый файл не найдены или не исполняемый файл, когда на самом деле файл действительно существует и является исполняемым файлом, но ошибка относится к своему загрузчику.

С a .pl расширение, check-dependencies.pl по-видимому, сценарий Perl. Это, вероятно, запускается со строки как #!/usr/local/bin/perl, который не дает путь к интерпретатору жемчуга в Вашей системе. Отредактируйте сценарий и зафиксируйте первую строку; необходимо будет, вероятно, заменить #!/usr/local/bin/perl #!/usr/bin/perl или наоборот.

Perl обычно располагается в /usr/bin на Linux, но в /usr/local/bin на многих других нельдах. Существует способ записать строку хижины, не зная путь к интерпретатору заранее: #!/usr/bin/env perl. Строка хижины требует полного пути; здесь интерпретатор env который ищет perl в $PATH. Однако это только работает, при отсутствии аргументов для передачи интерпретатору: много систем, включая Linux, принимают отдельный аргумент на командной строке, так например. #!/usr/bin/perl -T работы, и #!/usr/bin/env perl работы, но #!/usr/bin/env perl -T сбои, потому что это пытается выполнить названную программу perl -T.

3
28.01.2020, 02:28

Теги

Похожие вопросы