Нет такого файла или каталога Ubuntu

Обновлено: 21.11.2024

Иногда, когда вы пытаетесь установить программу или пакет из исходного кода, вы можете получить сообщение об ошибке следующего вида:

"ошибка при загрузке общих библиотек: невозможно открыть общий объектный файл Нет такого файла или каталога"

Как правило, если имя общей библиотеки пакета — lib, ошибка иногда показывает следующее:

" ошибка при загрузке разделяемых библиотек: lib.so.X: невозможно открыть общий объектный файл: нет такого файла или каталога"

Где X — число.

Эти динамически создаваемые общие библиотеки, необходимые для исполняемых файлов, хранятся в каталогах /lib или /usr/lib.

Приведенная ниже команда может помочь найти библиотеки, необходимые для данного исполняемого файла:

В качестве быстрого обходного пути вы можете попытаться устранить проблему, выполнив команду ldconfig ниже:

sudo ldconfig -v

Теперь во время выполнения системе потребуется найти соответствующий файл библиотеки «.so», поскольку пакет или программа связаны с общей версией библиотеки.

Чтобы найти библиотеку, вызовите команду ниже:

sudo find / -name lib_file.so.x

или вы можете использовать команду apt search. Запишите путь, по которому находится lib_file.so.x, path_to_so_file.

Чтобы включить папку, в которой установлена ​​библиотека, необходимо указать переменную оболочки LD_LIBRARY_PATH.

Если LD_LIBRARY_PATH не определен (запустите echo $LD_LIBRARY_PATH, чтобы узнать), вы можете установить его с помощью команды (в оболочке Bash):

Теперь, используя путь файла .so, который вы нашли выше, path_to_so_file, выполните следующие команды:

экспортировать LD_LIBRARY_PATH $ ./ваш_пакет

Подробнее об общих библиотеках можно узнать здесь.

Если вам нравится контент, мы будем признательны за вашу поддержку, купив нам кофе. Большое спасибо за ваш визит и поддержку.

Николаус Остерхоф

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

Вам также может понравиться

Настройка Windows: отключение ненужных служб

2 сентября 2021 г.

Лучшие бесплатные видеоредакторы для Windows

1 ответ. Нет такого файла или каталога» означает, что либо сам исполняемый бинарник, либо одна из необходимых ему библиотек не существует. тогда проблему можно решить, убедившись, что указанные библиотеки установлены и указаны в пути поиска библиотек.

Как вернуться к каталогу в Ubuntu?

Команды файлов и каталогов

  1. Чтобы перейти в корневой каталог, используйте «cd /»
  2. Чтобы перейти в домашний каталог, используйте «cd» или «cd ~»
  3. Чтобы перейти на один уровень каталога вверх, используйте «cd ..»
  4. Чтобы перейти к предыдущему каталогу (или обратно), используйте «cd -»

Что означает отсутствие такого файла или каталога?

Загрузка, когда этот ответ был принят... Это сокращение от Error NO ENTry (или Error NO ENTity), и на самом деле его можно использовать не только для файлов/каталогов. Он сокращен, потому что компиляторы C на заре времен не поддерживали более 8 символов в символах.

Как запустить исполняемый файл в Linux?

Это можно сделать, выполнив следующие действия:

Как исправить отсутствие такого файла или каталога в блоках кода?

Чтобы избавиться от ошибки, вам нужно изменить путь обратно на тот, который присутствует в папке программы Codeblocks. В моем случае это был C:Program Files (x86)CodeBlocksMinGW. Вы можете изменить путь в Codeblocks, выполнив следующие действия. Строка меню-> Настройки-> Компилятор-> Исполняемые файлы Toolchain.

Почему Python говорит об отсутствии такого файла или каталога?

Скорее всего, проблема в том, что вы используете относительный путь к файлу для открытия файла, но текущий рабочий каталог не соответствует тому, что вы думаете. … Относительные пути к файлам всегда относятся к текущему рабочему каталогу, и текущий рабочий каталог не обязательно должен быть местоположением вашего скрипта Python.

Как изменить каталог в терминале?

Чтобы изменить текущий рабочий каталог, вы можете использовать команду «cd» (где «cd» означает «изменить каталог»). Например, чтобы переместиться на один каталог вверх (в родительскую папку текущей папки), вы можете просто вызвать: $ cd ..

Как запустить файл в терминале Linux?

Этапы написания и выполнения скрипта

  1. Откройте терминал. Перейдите в каталог, в котором вы хотите создать скрипт.
  2. Создайте файл с расширением . расширение ш.
  3. Запишите сценарий в файл с помощью редактора.
  4. Сделайте скрипт исполняемым с помощью команды chmod +x .
  5. Запустите скрипт, используя ./ .

Как изменить каталог?

Если папка, которую вы хотите открыть в командной строке, находится на вашем рабочем столе или уже открыта в проводнике, вы можете быстро перейти в этот каталог. Введите cd и пробел, перетащите папку в окно и нажмите Enter. Каталог, в который вы перешли, будет отражен в командной строке.

Как мне вернуться в свой домашний каталог?

Чтобы перейти в свой домашний каталог, используйте «cd» или «cd ~». Чтобы перейти на один уровень каталога, используйте «cd ..». Чтобы перейти к предыдущему каталогу (или назад), используйте «cd -». в корневой каталог используйте «cd /»

Как получить права root в Linux?

Для входа в систему в качестве суперпользователя/пользователя root в Linux необходимо использовать любую из следующих команд:

  1. команда su — запуск команды с заменой идентификатора пользователя и группы в Linux.
  2. команда sudo — выполнение команды от имени другого пользователя в Linux.

Как исправить отсутствие такого файла или каталога в Arduino?

После того как вы скачали файл . zip, вы можете перейти в Arduino IDE и выбрать Sketch > Include Library > Add . ZIP-библиотека… Вам просто нужно перейти туда, куда был загружен файл.

Что означает каталог?

Каталог – это другое название папки. … Например, системные файлы могут находиться в одном каталоге, а пользовательские — в другом. Хотя каталоги часто содержат файлы, они также могут содержать другие каталоги или подкаталоги.

Как исправить ошибку Enoent?

Если кто-то сразу столкнулся с этой проблемой, используйте npm install –global –production windows-build-tools –vs2019 или –vs2017 . и скопируйте вставить исполняемый файл. Здесь измените что-нибудь с именем вашей папки и надеюсь, что это исправит вашу ошибку. в этом порядке в терминале решил проблему для меня.

Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме Unix и Linux Stack Exchange.

Закрыт 4 года назад.

Я пытаюсь запустить исполняемый файл с именем i686-elf-gcc в моем Kali Linux, который я скачал из этого репозитория. Это кросс-компилятор. Проблема в том, что хотя терминал и скрипт, который я написал, видят, что файл существует, когда пришло время его выполнить, я получаю сообщение об ошибке Нет такого файла или каталога. Вот изображение, которое это объясняет:

Я также должен сказать, что я предоставил необходимые разрешения для исполняемого файла.

Вы уже вошли в систему как пользователь root . Не могли бы вы объяснить мне причину запуска команды с помощью sudo?

Это вряд ли кому поможет. Вы разместили неиндексируемое изображение вместо текста, не дали правильного описания проблемы, рассказали, что вы сделали для ее устранения, и даже не предоставили свой ответ как фактический ответ.

1 Ответ 1

Как правило, "невозможно выполнить. Нет такого файла или каталога" означает, что либо сам исполняемый двоичный файл, либо одна из необходимых ему библиотек не существует. Библиотекам также могут понадобиться другие библиотеки.

Чтобы просмотреть список библиотек, необходимых для указанного исполняемого файла или библиотеки, вы можете использовать команду ldd:

Если полученный список содержит такие строки, как

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

В этом случае библиотеки могут находиться в /usr/local/lib или /usr/local/lib64 , но по какой-то причине этот каталог не включен в путь поиска библиотек.

Если вы хотите, чтобы дополнительные библиотеки были доступны только для определенных программ или сеансов, вы можете использовать переменную среды LD_LIBRARY_PATH, чтобы указать дополнительные пути, по которым следует искать отсутствующие библиотеки. Это сведет к минимуму вероятность конфликтов с системными библиотеками по умолчанию.

В Ubuntu я получаю сообщение об ошибке "Нет такого файла или каталога" при попытке выполнить команду.

Я проверил с помощью ls -la , файл adb существует и имеет флаг «x». Почему я получаю сообщение «Нет такого файла или каталога»?

я получаю этот '$ файл adb adb: 32-разрядный исполняемый файл ELF LSB, Intel 80386, версия 1 (SYSV), динамически связанный (использует общие библиотеки), для GNU/Linux 2.6.8, не разделенный '

7 ответов 7

Это исполняемый файл, в котором отсутствуют необходимые библиотеки. Используйте ldd, чтобы узнать, что ему нужно, а затем предоставьте эти файлы.

Для Ubuntu 13.10 (Saucy Salamander) и более поздних версий установите пакеты libncurses5:i386 , libstdc++6:i386 и zlib1g:i386 с помощью apt-get:

Для более ранних версий Ubuntu установите пакет ia32-libs с помощью apt-get:

Как и у michael, "file" сказал мне, что это 32-битный двоичный файл ELF, а ldd сказал мне, что это не динамический исполняемый файл. Установка этих 32-битных библиотек устранила проблему.

мне тоже нужно.

Я также видел то же самое после переключения моей машины с 32-битной Ubuntu на 64-битную. Bash будет сообщать «Нет такого файла или каталога» файлов, которые явно существуют с атрибутом выполнения.

sudo apt-get install --reinstall libc6-i386

Исправлена ​​проблема. Это «Библиотека GNU C: 32-разрядные общие библиотеки для AMD64»

Похоже, это ошибка в bash. Обратите внимание, что я также изменил оболочку по умолчанию с dash на bash с помощью

до того, как я попытался запустить 32-битный исполняемый файл. Поэтому я не уверен, что проблема возникла бы с дефолтной оболочкой dash

При новой установке Xubuntu 13.10 x64 я получил adb для запуска:

А также zlib1g:i386, чтобы заставить работать aapt.

и если вы все еще что-то пропустили, используйте:

Это отлично сработало, но мне пришлось вызвать sudo dpkg --add-architecture i386; sudo apt-get update, чтобы сделать доступной libstdc++6:i386

Для adb убедитесь, что SDK распакован, и вы запустили диспетчер SDK, чтобы полностью заполнить SDK. Кроме того, убедитесь, что у вас установлено следующее: A.) JDK 6 или выше B.) lib32stdc++6 C.) lib32ncurses5

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

Кстати, если вы попытаетесь запустить действительно несуществующую команду (например:

вы получите: fakecommand: команда не найдена, тогда как в вашей ситуации вывод, который вы видите, на самом деле исходит от adb, хотя не очень ясно, что это так.

Читайте также: