Не удалось найти libmount при кросс-компиляции glib

Попробую улучшить принятый ответ.

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

IFS=$'\n'

чтобы функция корректно обрабатывала пробелы.

_codeComplete()
{
    local cur=${COMP_WORDS[COMP_CWORD]}
    IFS=$'\n' tmp=( $(compgen -W "$(ls ~/something/ )" -- $cur))
    COMPREPLY=( "${tmp[@]// /\ }" )
}

complete -F _codeComplete hi
7
30.11.2016, 11:52
2 ответа

Вам необходимо выполнить кросс-компиляцию libmount и сделать ее доступной для кросс-компилятора (и, предположительно, кросс- pkg-config ).

0
27.01.2020, 20:18

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

apt-get install libmount-dev

это даст вам отсутствующие заголовки... для проверки проблемы

dpkg -L libmount-dev

#  ... output

/.
/usr
/usr/include
/usr/include/libmount
/usr/include/libmount/libmount.h
/usr/lib
/usr/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu/libmount.a
/usr/lib/x86_64-linux-gnu/pkgconfig
/usr/lib/x86_64-linux-gnu/pkgconfig/mount.pc
/usr/share
/usr/share/doc
/usr/share/doc/libmount-dev
/usr/share/doc/libmount-dev/copyright
/usr/lib/x86_64-linux-gnu/libmount.so
/usr/share/doc/libmount-dev/changelog.Debian.gz
2
27.01.2020, 20:18

Теги

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