Sed невозможно прочитать нет такого файла или каталога
программа является частью набора тестов Xenomai, скомпилированного из Linux PC в Linux + Xenomai ARM toolchain.
Edit: хорошо ,я не заметил.1 в конце было частью имени файла. Что это вообще значит?
Ну, это не вранье - нет libpthread_rt.so.1 в этот список. Вероятно, вам нужно повторно настроить и перестроить его, чтобы он зависел от библиотеки, которую вы имеете, или установить все, что предоставляет libpthread_rt.so.1 .
в твоем случае, ты может уйти с symlinking libpthread_rt.so.1 до libpthread_rt.so . Однако нет гарантий, что он не нарушит ваш код и не съест ваши телевизионные обеды.
ваша библиотека динамическая библиотека. Вам нужно сообщить операционной системе, где она может найти его во время выполнения.
для этого, нам нужно будет сделать эти простые шаги:
(1 ) Найдите, где находится библиотека, Если вы ее не знаете.
(2) Проверьте наличие переменной среды пути динамической библиотеки ( LD_LIBRARY_PATH )
если нет ничего, чтобы отображаться, добавьте значение пути по умолчанию (или нет, если вы хотите to)
(3) мы добавляем путь желания, экспортируем его и пробуем приложение.
обратите внимание, что путь должен быть каталог, где path.so.something есть. Так что если path.so.something находится в /my_library/path.so.something должно быть :
вот несколько решений, которые вы можете попробовать:
библиотека
если вы уверены, что правильный пакет установлен, и ldconfig не нашел его, он может быть просто в нестандартном каталоге. По умолчанию ldconfig выглядит в /lib , /usr/lib , и каталоги, перечисленные в /etc/ld.so.conf и $LD_LIBRARY_PATH . Если ваша библиотека есть где-то еще, вы можете либо добавить каталог в свою собственную строку в /etc/ld.so.conf добавить путь к библиотеке в $LD_LIBRARY_PATH , или переместить библиотеку в /usr/lib . Затем запустите ldconfig .
чтобы узнать, где находится библиотека, попробуйте следующее:
(вместо libraryname С названием вашей библиотеки)
если вы идете $LD_LIBRARY_PATH маршрут, вы захотите поместить это в свой ~/.bashrc файл, поэтому он будет работать каждый раз при входе в систему:
Собираю в ~/mutter/
mutter-3.20.0.tar.xz
mutter.install
PKGBUILD
Файлы взяты с github/mutter и archlinux/packages
может, хоть приведёшь полный текст?
Весь снапшот покажи, в т. ч. полный листинг PKGBUILD.
И да, указанный тобой багрепорт тут не при чём.
kalterfive ★★ ( 08.04.16 12:50:09 )
Последнее исправление: kalterfive 08.04.16 12:52:32 (всего исправлений: 1)
У тебя это самый libtool установлен?
Для сборки должны быть установлены все пакеты base-devel, в makedepends эти пакеты не добавляются, читай вики.
greenman ★★★★★ ( 08.04.16 13:30:39 )
Последнее исправление: greenman 08.04.16 13:33:37 (всего исправлений: 2)
У тебя это самый libtool установлен?
PKGBUILD из тестинга. Т.е. все зависимости должны быть из тестинга.
А если установлен? Указанная ошибочная команда патчит libtool, которого однозначно не существует в исходниках mutter.
TC: убери из PKGBUILD-a проблемную команду и:
- Либо сделай sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' /bin/libtool (от рута), потом собери пакет и, наконец, восстанови «испорченный» бинарник переустановкой соответствующего пакета ( pacman -S libtool );
- Либо пересобери libtool, пропатчив libtool (скрипт который; он появляется после конфигурирования), и уже потом собирай mutter.
Не знаю что эта команда здесь делает. Она если и нужна, то однозначно точно не здесь.
kalterfive ★★ ( 08.04.16 14:04:32 )
Последнее исправление: kalterfive 08.04.16 14:08:02 (всего исправлений: 3)
Если вбить строчку «sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool» в гугль, то найдётся не один PKGBUILD.
Как-то же она работает, видимо.
А у меня вообще ничего не ищет =) Как ты ищешь, у меня ни одного совпадения.
Строчку в кавычки. Кавычки нужны обычные двойные.
"sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool"
greenman , действительно верное предположение. Но testing/libtool нету, так что после обновления пакетов base-devel этот скрипт не будет автоматически появляться результатом работы configure.
kalterfive ★★ ( 08.04.16 14:51:43 )
Последнее исправление: kalterfive 08.04.16 14:53:16 (всего исправлений: 1)
В общем, независимо от того, выполнить sed или дописать LIBTOOL=/bin/libtool , сборка идет только при
Сначала сделал makepkg , с ошибкой, разумеется. (
Потом в каталоге с распакованным архивом autogen.sh .
Затем снова makepkg и все собирается до конца.
Все это очень криво и надо бы разобраться, но возникла другая проблема:
При попытке выполнения команды Make система сообщает:
Прошу помощи. Что не так?!
Заголовочные файлы ядра установи
sudo apt-get install linux-headers-$(uname -r)
Прошу прощения, можно более подробно. Что, значит (uname -r) ?
выполнил в консоли sudo apt-get install linux-headers-$(uname -r)
sudo apt-get install linux-headers-$(uname -r) Чтение списков пакетов. Готово Построение дерева зависимостей Чтение информации о состоянии. Готово Уже установлена самая новая версия linux-headers-2.6.32-24-generic. обновлено 0, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
выполнил в консоли sudo apt-get install linux-headers-$(uname -r)
sudo apt-get install linux-headers-$(uname -r) Чтение списков пакетов. Готово Построение дерева зависимостей Чтение информации о состоянии. Готово Уже установлена самая новая версия linux-headers-2.6.32-24-generic. обновлено 0, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
sudo aptitude search linux-headers-$(uname -r)
i linux-headers-2.6.32-24-generic- Linux kernel headers for version 2.6.32 on x86/x86_64 i linux-headers-2.6.32-24-generic-pae - Linux kernel headers for version 2.6.32 on x86
Извини, что забыл про этот топик. Думал, что вопрос решится установкой пакета.
Раз заголовочные файлы установлены, проверь, что существует ссылка
я проверил. Пути существуют. По первому пути там все пусто, а по второму куча файлов и подкаталогов
Первый - это не путь. Это должна быть ссылка
ln -sf /usr/src/linux-headers-2.6.32-24-generic /lib/modules/2.6.32-24-generic/build
Думаю мне стоит описать систему.
Ноут DELL INSPIRON 11Z Устоновлена Xubuntu на ядре 2.6.32.24-i386 Установлена плата wiMAX/WiFi на базе Intel Like 5150
Возможна в моем случае надо использовать другой способ установки?!
Блин я такой чайник.
Я совсем недавно под Linux перебрался из под Window. Многое еще для меня не понятно, ну к примеру как в данном случае! :o(
Для начала проверь, что показывает
ls -l /lib/modules/2.6.32-24-generic/build
За место 3-го пункта по инструкции я выполнил: aptitude install linux-headers-lbm-2.6.32-24-generic linux-headers-lbm-2.6.32-24-generic-pae
на команду ls -l /lib/modules/2.6.32-24-generic/build
итого 0 lrwxrwxrwx 1 root root 40 2010-09-21 22:48 linux-headers-2.6.32-24-generic -> /usr/src/linux-headers-2.6.32-24-generic
ls -l /lib/modules/2.6.32-24-generic/build/Makefile
ls: невозможно получить доступ к /lib/modules/2.6.32-24-generic/build/Makefile: Нет такого файла или каталога
Может мне стоит поменять ядро на версию linux-image-2.6.32-020632-generic_2.6.32-020632_i386.deb
dpkg -l | grep linux-image
dpkg -l | grep linux-headers
ls -l /lib/modules/2.6.32-24-generic/build
dpkg -L linux-headers-$(uname -r) | grep '/usr/src/' | head -n 2
drwxr-xr-x 2 segey segey 4096 2009-02-11 04:24 i2400m-fw-1.4.0
drwxr-xr-x 4 segey segey 4096 2010-09-21 01:24 Intel-WiMAX-Binary-Supplicant-1.4.0
drwxr-xr-x 24 root root 4096 2010-09-19 14:25 linux-headers-2.6.32-24
drwxr-xr-x 7 root root 4096 2010-09-19 14:25 linux-headers-2.6.32-24-generic
drwxr-xr-x 7 root root 4096 2010-09-20 18:20 linux-headers-2.6.32-24-generic-pae
drwxr-xr-x 3 root root 4096 2010-09-21 22:56 linux-headers-lbm-2.6.32-24-generic
drwxr-xr-x 3 root root 4096 2010-09-21 22:56 linux-headers-lbm-2.6.32-24-generic-pae
lrwxrwxrwx 1 root root 31 2010-09-21 11:07 vboxdrv-3.1.4 -> ../share/virtualbox/src/vboxdrv
lrwxrwxrwx 1 root root 34 2010-09-21 11:07 vboxnetadp-3.1.4 -> ../share/virtualbox/src/vboxnetadp
lrwxrwxrwx 1 root root 34 2010-09-21 11:07 vboxnetflt-3.1.4 -> ../share/virtualbox/src/vboxnetflt
drwxr-xr-x 8 segey segey 4096 2010-09-21 22:51 wimax-i2400m-1.4.1
drwxr-xr-x 8 segey segey 4096 2009-02-05 01:37 WiMAX-Network-Service-1.4.0
dpkg -l | grep linux-image
ii linux-image-2.6.32-21-generic 2.6.32-21.32 Linux kernel image for version 2.6.32 on x86/x86_64
ii linux-image-2.6.32-24-386 2.6.32-24.43 Linux kernel image for version 2.6.32 on i386
ii linux-image-2.6.32-24-generic 2.6.32-24.43 Linux kernel image for version 2.6.32 on x86/x86_64
ii linux-image-generic 2.6.32.24.25 Generic Linux kernel image
dpkg -l | grep linux-headers
ii linux-headers-2.6.32-24 2.6.32-24.43 Header files related to Linux kernel version 2.6.32
ii linux-headers-2.6.32-24-generic 2.6.32-24.43 Linux kernel headers for version 2.6.32 on x86/x86_64
ii linux-headers-2.6.32-24-generic-pae 2.6.32-24.43 Linux kernel headers for version 2.6.32 on x86
ii linux-headers-lbm-2.6.32-24-generic 2.6.32-24.17 Header files related to linux-backports-modules version 2.6.32
ii linux-headers-lbm-2.6.32-24-generic-pae 2.6.32-24.17 Header files related to linux-backports-modules version 2.6.32
dpkg -L linux-headers-$(uname -r) | grep '/usr/src/' | head -n 2
lrwxrwxrwx 1 root root 40 2010-09-21 22:48 linux-headers-2.6.32-24-generic -> /usr/src/linux-headers-2.6.32-24-generic
dpkg -L linux-headers-$(uname -r) | grep Makefile
потом проверь наличие этого файла
я не понял. Какой файл мне надо проверить?!
Вот этого: /usr/src/linux-headers-2.6.32-24-generic/Makefile
файл есть под именим @Makefile
Он либо есть, либо его нет
ls -l /usr/src/linux-headers-2.6.32-24-generic/Makefile
sudo apt-get install --reinstall --purge linux-headers-$(uname -r)
lrwxrwxrwx 1 root root 35 2010-09-19 14:25 /usr/src/linux-headers-2.6.32-24-generic/Makefile -> ../linux-headers-2.6.32-24/Makefile
Проверяй, существует ли этот файл. Если нет, есть ли он в пакете linux-headers-2.6.32-24:
ls -l /usr/src/linux-headers-2.6.32-24/Makefile
dpkg -L linux-headers-2.6.32-24 | grep Makefile
есть и встречается много где. Но возвращаясь к началу моей проблемы я пытался выполнить:
cd /usr/src/wimax-i2400m-1.4.1 make ранее развернув архив (wimax-i2400m-1.4.1.tar.bz2) в /usr/src/wimax-i2400m-1.4.1/
Система мне сообщила:
sed: невозможно прочитать /lib/modules/2.6.32-24-generic/build/Makefile: Нет такого файла или каталога
make -C /lib/modules/2.6.32-24-generic/build M=/usr/src/wimax-i2400m-1.4.1
make[1]: *** Не заданы цели и не найден make-файл. Останов.
make[1]: Выход из каталога `/lib/modules/2.6.32-24-generic/build'
make: *** [all] Ошибка 2
И как мне показалось систма пыталась найти Makefile по пути /lib/modules/2.6.32-24-generic/build а там только еще один под уровень /linux-headers-2.6.32-24-generic и все.
Специально для тебя установил Xubuntu 10.04
Не знаю, что ты там намудрил, но в linux-headers-2.6.32-24 ЕСТЬ искомый Makefile
Итак, волшебная команда:
sudo apt-get install --reinstall --purge linux-headers-2.6.32-24 linux-headers-2.6.32-24-generic.
После этого ещё раз запускай сборку своего wimax
Мои нервишки сдали и я вчера все снес поставив ubuntu-10.04-netbook-i386 сейчас изучаю.
Сегодня буду заново ставить комплект для WiMAX Нужен только совет:
Исходя из моей конфигурации по железу какой комплект использовать:
Мои нервы тоже не железные, а ник у тебя, похоже, говорящий. Удачи, но без меня ;)
Router мое почтение все получилось.
В качестве концовки выкладываю скрипт установки под Ubuntu на ядре 22.6.32-25 i686
и на последок скрипт длдя подключения/отключения WiMAX
Привет, ребята. Такая проблема возникла- файлы, которые создались скриптом, в указанном пути есть! но почему-то ругается -
sed: невозможно прочитать /home/jk/buff/tmp_soap_generated/soapUsersProxy.h: Нет такого файла или каталога
, то будет такая ошибка
./ModelsCreateProxy.sh: 7: ./ModelsCreateProxy.sh: Syntax error: "(" unexpected
Хотя, ранее этот скрипт работал нормально, ничего не менял вроде.
7я строка: SEVICES=(users dictionaries patients orders samples statistics tests archives reports)
Нет такого файла или каталога
Написал скрипт, который проверяет раз в 10 минут активный ли сервер, и если активный запускает.
Нет такого файла или каталога
Всем привет. Windows 10 Корпоративная LTSC. Имеется программа для обновления WiFi модуля по COM.
QtGui: Нет такого файла или каталога
Как и рекомендовали - создал отдельную тему. итак: Есть система Linux Ubuntu 12.04, поставил на.
Джон Кофи, проверьте права не только на самих файлах, но и на каждой директории (папке) по пути к этим файлам.
какой-то бред, без всяких прав руками перебил пошагово в консоль этот скрипт- и всё получилось. час убил почти
Добавлено через 3 минуты
..переименовал в .txt не дало результата)
Добавлено через 15 минут
заметил следующее: запускаю скрипт, выводит ошибки- типа нет файлов; я захожу в папку просто щелкая мышкой по папкам - файлов действительно нет; делаю обновление папки ctrl+r - файлы появляются.
У вас в программе есть строчки по удалению всех файлов. Вы проверяйте
в месте возникновения ошибки есть ли на тот момент файлы и создан ли каталог.
Остановите в этом месте программу и выведите содержание директории на консоль
именно из скрипта. Если запустить скрипт с опцией -x или установить через set -x
то будет доступна отладочная информация.
А вобщем конечно я дальше 20 строчки читать не стала потому как
С 15 по 20 ваш код легко умещается в одну строчку
У меня есть следующий bash сценарий, который повторяется для каждого найденного изображения. Ему необходимо выполнить итерацию по всем файлам html , css и js и заменить все вхождения изображения в этом файле.
Однако, когда я запускаю сценарий, он sed дает:
sed: can't read : No such file or directory
В StackOverflow я нашел sed: не могу читать: нет такого файла или каталога, но у меня уже были цитаты вокруг <>
Когда я повторяю sed команду и выполняю ее в командной строке вручную, ошибки не возникает.
Я использую GNU sed v4.2.2 на Raspbian GNU / Linux 8.0 (jessie)
Кто-нибудь видит, что здесь может быть не так?
@osi: -i означает « на месте» , то есть редактировать непосредственно в файле. -i '' означает редактирование на месте файла с пустой строкой . Поскольку, вероятно, у вас на самом деле нет файла с пустой строкой, он sed жалуется, что не может его прочитать.
( Составление ответа из комментариев, ноу-хау принадлежит melpomene и AlexP. )
Что это '' после sed -i ?
-i означает редактирование на месте, то есть редактирование непосредственно в файле.
-i '' означает редактирование на месте файла с пустой строкой.
Поскольку, вероятно, нет файла с пустой строкой, sed жалуется, что не может его прочитать.
Примечание 1. Зависимость от платформы :
синтаксис -i - это одно из различий между GNU sed и sed от mac os.
Примечание 2 «обычный» порядок аргументов : переключатель , чтобы указать SED кода позволяет иметь его между именами файлов. Это ловушка (в которой я, например, смущенно застрял), заставляя вас опровергать ваши ожидания относительно того, что вы найдете в командной строке sed. Это позволяет, что является непреднамеренно замаскированной версией .
-e
sed -i filename -e "expression" AnotherFileName
sed -i'NoExtensionGiven' "expression" filename AnotherFileName
пакет Dev или неправильная версия
если это не сработает, я бы также проверить предложение Павла и найдите версию библиотеки" - dev". Многие библиотеки разделены на пакеты dev и non-dev. Вы можете использовать эту команду для поиска это:
это также может помочь, если у вас просто неправильная версия библиотеки установлены. Некоторые библиотеки публикуются в разных версиях одновременно, например, Python.
ldconfig
как отметил AbiusX: если вы только что установили библиотеку, вам может просто понадобиться запустить ldconfig.
ldconfig создает необходимые ссылки и кэш к самым последним общие библиотеки, найденные в каталогах, указанных в команде строка, в файле / etc / ld.Итак.conf и в доверенных каталогах (/lib и / usr / lib).
обычно ваш менеджер пакетов позаботится об этом при установке новой библиотеки, но не всегда, и не помешает запустить ldconfig, даже если это не ваша проблема.
Читайте также: