Хочу начать программировать Arduino nano v3 под арчем с x86_64 Linux 4.16.6-1-ARCH ядром, но арч не видит мою плату.
На ардуине стоит мост USB-Serial в виде микросхемы CH340g. Я нашел для нее драйвер, но он не собирается make'ом:

make -C /lib/modules/4.16.6-1-ARCH/build M=/home/user/Downloads/CH341SER_LINUX
make[1]: Entering directory '/usr/lib/modules/4.16.6-1-ARCH/build'
CC [M] /home/user/Downloads/CH341SER_LINUX/ch34x.o
/home/user/Downloads/CH341SER_LINUX/ch34x.c: In function 'ch34x_close':
/home/user/Downloads/CH341SER_LINUX/ch34x.c:562:2: error: unknown type name 'wait_queue_t'; did you mean 'wait_event'?
wait_queue_t wait;
^~~~~~~~~~~~
wait_event
/home/user/Downloads/CH341SER_LINUX/ch34x.c:573:24: error: passing argument 1 of 'init_waitqueue_entry' from incompatible pointer type [-Werror=incompatible-pointer-types]
init_waitqueue_entry( &wait, current );

Как можно собрать этот драйвер под текущее ядро?
Использую PulseAudio. После очередного обновления пропал звук. Я предполагаю, что проблема в неправильном выборе звуковой карты по умолчанию. В настройках alsamixer отображается Card: HDA Intel HDMI, в то время как имеется еще одно устройство HDA Intel PCH, настройки которого более похожи на настройки звукового девайса (например, там есть столбцы Master, наушники, микрофон и прочее, чего нет в настройках HDA Intel HDMI). Изменить устройство по умолчанию не получается. После выхода из alsamixer Card все равно отображает HDA Intel HDMI.
pavucontrol отображает индикатор воспроизведения, но звука нет.
Как решить проблему?
Ох как тяжко собирать. Прописал действительные пути в аргументах makepkg:

Ошибка:

makepkg -sri CXXFLAGS+='-I/usr/include/qt/QtCore' LDFLAGS+='-L/usr/lib/libQt5Core.so'
checking for pthread-config... no
configure: error: thread support not available; use --disable-threads to force single-threaded mode
==> ERROR: A failure occurred in build().
Aborting...


Если вместо CXXFLAGS использовать CPPFLASG, ошибка будет такой:

checking whether we are cross compiling... configure: error: in `/home/user/GIT/libodb-qt/src/libodb-qt-2.4.0':
configure: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details
==> ERROR: A failure occurred in build().
    Aborting...
При установке при помощи йогурта точно так же пакет не собирается:


configure: error: QtCore is not found; consider using CPPFLAGS/LDFLAGS to specify its location
==> ERROR: A failure occurred in build().
    Aborting...
==> ERROR: Makepkg was unable to build libodb-qt.
==> Restart building libodb-qt ? [y/N]
Yaourt установил. Не хватало package-query.


[user@host yaourt]$ yaourt -S libodb-qt

==> Downloading libodb-qt PKGBUILD from AUR...
x .SRCINFO
x PKGBUILD
libodb-qt 2.4.0-1  (2015-07-02 14:53)
( Unsupported package: Potentially dangerous ! )
==> Edit PKGBUILD ? [Y/n] ("A" to abort)
==> ------------------------------------
==>


Почему unsupported package?
RusWolf
Aoizora, поставь yaourt или pamac-aur и не мучайся.
при makepkg -si, если нужны пакеты по зависимостям из aur, не загружаются.

Пробовал поставить так: pacman -S yaourt. Получил ошибку:


[user@host yaourt]$ sudo pacman -S yaourt
resolving dependencies...
looking for conflicting packages...

Packages (3) package-query-1.8-1  yajl-2.1.0-1  yaourt-1.9-1

Total Installed Size:  1.03 MiB

:: Proceed with installation? [Y/n] y
(3/3) checking keys in keyring                     [######################] 100%
(3/3) checking package integrity                   [######################] 100%
error: package-query: missing required signature
error: yaourt: missing required signature
error: failed to commit transaction (package missing required signature)
Errors occurred, no packages were upgraded.
[user@host yaourt]$

Загрузил отсюда: https://aur.archlinux.org/packages/yaourt/
И не удалось собрать:

[user@host GIT]$ git clone https://aur.archlinux.org/yaourt.git
Cloning into 'yaourt'...
remote: Counting objects: 26, done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 26 (delta 9), reused 18 (delta 3)
Unpacking objects: 100% (26/26), done.
[user@host GIT]$ cd yaourt
[user@host yaourt]$ makepkg -sri
==> Making package: yaourt 1.9-1 (Tue Jul 25 01:48:51 MSK 2017)
==> Checking runtime dependencies...
==> Installing missing dependencies...
[sudo] password for user:
error: failed to prepare transaction (package architecture is not valid)
:: package package-query-1.8-1-i686 does not have a valid architecture
==> ERROR: 'pacman' failed to install missing dependencies.

RusWolf
Aoizora, как ты устанавливаешь пакеты из AUR ?
Сейчас я пытался установить их при помощи makepkg -si или makepkg + pacman -U pkg_name. Как я устанавливал их год назад, я забыл. Скорее всего так, как описано на вики.
Поможет ли переустановка Qt5 и насколько опасно ломать зависимости, например, sddm?


[user@host Desktop]$ sudo pacman -R qt5-base
checking dependencies...
error: failed to prepare transaction (could not satisfy dependencies)
:: qbs: removing qt5-base breaks dependency 'qt5-base'
:: qt5-doc: removing qt5-base breaks dependency 'qt5-base'
:: qt5-script: removing qt5-base breaks dependency 'qt5-base'
:: qt5-sensors: removing qt5-base breaks dependency 'qt5-base'
:: qt5-tools: removing qt5-base breaks dependency 'qt5-base'
:: qt5-xmlpatterns: removing qt5-base breaks dependency 'qt5-base'
[user@host Desktop]$ sudo pacman -R qt5
checking dependencies...
error: failed to prepare transaction (could not satisfy dependencies)
:: qbs: removing qt5-base breaks dependency 'qt5-base'
:: qbs: removing qt5-script breaks dependency 'qt5-script'
:: qtcreator: removing qt5-tools breaks dependency 'qt5-tools'
:: qtcreator: removing qt5-quickcontrols breaks dependency 'qt5-quickcontrols'
:: qtcreator: removing qt5-quickcontrols2 breaks dependency 'qt5-quickcontrols2'
:: qtcreator: removing qt5-webengine breaks dependency 'qt5-webengine'
:: sddm: removing qt5-declarative breaks dependency 'qt5-declarative'
[user@host Desktop]$

Статья про Qt на вики не помогла.
Запустил сборку так:


makepkg CPPFLAGS+='-I/usr/include/qt/QtCore/5.9.1/QtCore' LDFLAGS+='-L/usr/lib'

Получаю ошибку:


checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking how to create a ustar tar archive... gnutar
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... configure: error: in `/home/user/GIT/libodb-qt/src/libodb-qt-2.4.0':
configure: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details
==> ERROR: A failure occurred in build().
    Aborting...

Может, я указываю не те директории? Директории с либами пытался искать в /lib и в /usr/lib - безуспешно. Есть ли способ определить, где находятся инклуды и либы конкретной версии qt?
А у меня не собирается. Как можно указать QtCore и к каким файлам Qt надо указывать пути?