libGLEW.so.1.11: не может открыть файл общего объекта

$> sed -r -e 's/(.*-)([0-9]+-[a-z]+)(.*)/\2 \1\2\3/' text 
8-july <a href="arch/names-8-july--123123123">
12-february <a href="arch/seman-12-february-text-text--321321321">
17-june <a href="arch/nmaes-17-june--213213321">

Это, кажется, подходит для Вашего новейшего примера также:

$> sed -r 's/(.*-)([0-9]+-[a-z]+)(.*)/\2 \1\2\3/' text2
5-cervna <a href="/praha/jaktovidi/_zprava/jak-to-vidi-rektor-richard-hindls-5-cervna--1220102">
4-cervna <a href="/praha/jaktovidi/_zprava/jak-to-vidi-erik-best-4-cervna--1219526">
3-cervna <a href="/praha/jaktovidi/_zprava/jak-to-vidi-ivan-hoffman-3-cervna--1218826">
19-kvetna <a href="/praha/jaktovidi/_zprava/jak-to-vidi-pavel-kosatik-19-kvetna-verejne-chci-podekovat-statnim-zastupcum-a-policistum-kteri-se-nebali--1225675">
3
04.11.2014, 01:03
2 ответа
awk '{if(NR==FNR) a[$1]=$1}{if($1==a[$1] && NR>FNR) print $0}' fileB.txt fileA.txt
-121--119369-

Необходимо указать системе, где найти динамические библиотеки. Общесистемные каталоги, такие как /usr/lib , находятся в пути поиска по умолчанию для динамических библиотек, но если требуется добавить пользовательские каталоги, их необходимо объявить, перечислив их в переменной среды LD _ LIBRARY _ PATH . Список каталогов, разделенных двоеточием, например PATH .

export LD_LIBRARY_PATH=/home/mks/myGL/oglpg/lib

Поместите эту строку в ~/.profile или везде, где определяются переменные среды. Его также можно запустить в оболочке, и он будет применяться ко всем программам, запущенным с этой оболочки.

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

g++ -Wl,-rpath,/home/mks/myGL/oglpg/lib … -L /home/mks/myGL/oglpg/lib -lGLEW

Глава , посвященная общим библиотекам в библиотеке программ Howto , может оказать дополнительную помощь.

4
27.01.2020, 21:16

С man mount :

mount -a [-t type] [-O optlist]

(обычно указывается в загрузочном скрипте) все файловые системы, упомянутые в fstab (соответствующего типа и/или имеющие или не имеющие соответствующие опции), монтируются, как указано, за исключением тех, чья строка содержит ключевое слово noauto .

Из systemd.mount документации :

noauto, auto

При использовании noauto это подключение не будет добавлено в качестве зависимости для local-fs.target . Это означает, что он не будет установлен автоматически во время загрузки, если его не втягивает какой-либо другой блок. Опция auto имеет противоположное значение и используется по умолчанию.

Как видно, любая строка /etc/fstab с noauto не монтируется автоматически при использовании команды mount -a .

В /etc/fstab имеется noauto . Если вы уберете это, то это должно сработать.

-121--111726-

Я смог сделать это с помощью правила udev, после некоторых трюков (и с помощью lsusb , чтобы узнать поставщика и идентификатор продукта устройства во флэш-режиме):

$ cat /etc/udev/rules.d/nxt.rules
# disable NXT in flash mode
ACTION=="add", ATTR{idVendor}=="03eb", ATTR{idProduct}=="6124", RUN="/bin/sh -c '/bin/echo -n $kernel:1.0 | /usr/bin/tee /sys/bus/usb/drivers/cdc_acm/unbind | /usr/bin/logger -t nxt-flashmode'"

Это правило запускается при подключении элемента NXT во время работы во флэш-режиме или при установке Это не мешает cdc _ acm захватывать его, но сразу после этого сообщает об освобождении устройства, так что fwflash может получить к нему доступ.

Я не выяснил, что такое : 1,0 , и зачем использовать это, а не : 1,1 , который также появляется в sysfs. Однако я хотел поделиться рабочим (для меня) решением. Среда: Debian нестабильен по состоянию на конец октября 2014 года (т.е. в значительной степени Debian jessie).

-121--73374-

Обновление

Только что заметил комментарий суперпользователя. По-прежнему можно использовать команду link без использования root. Существует вероятность того, что разрешения для этой папки будут по-прежнему разрешены. В случае сбоя обратитесь за помощью к системному администратору.


Если приложение ищет библиотеку, symlink не существует.

Попробуйте выполнить команду (while root):

ln -sf/ home/mks/myGL/oglpg/lib/libGLEW.so.1.11.0/usr/lib64/libGLEW.so.1.11

После этого снова запустите ldd ./triangle и проверьте, находит ли выход symlink. Если он не смотрит на места, он ищет другие symlinks и создать ссылку там. Если расположение не является /usr/lib64 , убедитесь, что вы unlink/usr/lib64/libGLEW.so.1.11 исправили расположения symlink, чтобы не оставлять неиспользуемый symlink в файловой системе, и забудьте очистить его позже.

ln = > Создать ссылку

sf = > symlink, принудительно

1
27.01.2020, 21:16

Теги

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