Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Выручайте с компиляцией HIDAPI

Добрый день.

У меня установлен Debian 7 на виртуалке.
Просьба помочь с компиляцией библиотеки hidapi под i386.
Вот ссылка на либу:

Ясно сказано, что для компиляции под линукс, необходимо скачать, распаковать, зайти в /linux и прописать make

Скачиваю со страницы
hidapi-0.7.0.zip
распаковываю, читаю readme. Там дополнительно указано следующее:

By default, on Linux, the Makefile in this directory is configured to use
the libusb implementation. To switch to the hidraw implementation, simply
change hid-libusb.c to hid.c in the Makefile.

Поскольку мне нужно было использовать hidraw, исправил в этом файле строку на
COBJS = hid.o

Ну и, наконец, запустил make.

Код C++
1
2
3
4
5
root@debian:/home/gorbag/hidapi-0.7.0/linux# make
cc -Wall -g -c -I../hidapi `pkg-config libusb-1.0 --cflags` hid.c -o hid.o
hid.c:43:21: fatal error: libudev.h: Нет такого файла или каталога
compilation terminated.
make: *** [hid.o] Ошибка 1
Вроде бы понимаю, что в данном конкретном случае необходимо установить библиотеку или указать ее наличие, но я не знаю, ни откуда ее установить, ни как проверить, есть ли она, ни как указать в файле, где ее искать.

В общем - просто не могу нормально скомпилировать библиотеку, чтобы использовать ее в программе... Грустно биться уже несколько дней с разными проблемами и застрять на такой мелочи...
Ответ: Более или менее понял, спасибо.

Добавлю еще к своему посту выше:
В свойства .pro файла необходимо добавить:
Код C++ (QT)
1
2
3
4
unix:!macx: LIBS += -L$$PWD/ -lhidapi-hidraw
 
INCLUDEPATH += $$PWD/
DEPENDPATH += $$PWD/
Ну, теперь уж точно - всё. Спасибо еще раз.

Добавлено через 21 час 48 минут
Как это ни странно, но пару часов убил на попытки выяснить, почему usb устройства опрашиваются, информация по ним выводится, но подключиться к ним не получается ни через hid_open_path, ни через hid_open
Компиляция и выполнения ошибок не выдают, просто handle возвращает null.

Решение банальное - нужно выдать пользователю (терминал запускаем от root), под которым запускаете софтину, права на папку с устройствами (может достаточно только на сами устройства - этого не проверял):
Код Bash
1
root@debian:/# chmod -R 777 ИМЯ_ВАШЕГО_ПОЛЬЗОВАТЕЛЯ /dev/
Вопрос: После обновления FreeBsd 9.1 to 9.3 проблемы компиляции /usr/ports/devel/automake

После обновления как и советуется решил переустановить все порты с помощью portmaster

вот при переустановки automake возникает ошибка

help2man: can't get `--help' info from automake-1.15
Try `--no-discard-stderr' if option outputs to stderr
*** [doc/automake-1.15.1] Error code 255

Stop in /usr/ports/devel/automake/work/automake-1.15.
*** [do-build] Error code 1


Что тут можно сделать куда смотреть, поиск что то ничего не дает
Ответ: Sergey Orlov,

Спасибо за совет
Вопрос: Zimbra проблемы при smtp авторизации.

День добрый.
Имеем Ubunto + Zimbra 8.6.0
Есть проблема не могу отсылать письма со сторонних почтовых клиентов.
Т.е через web и zimbra desktop все более - менее работает.
Но при попытки отослать письмо с использованием стороннего почтового клиента ошибка.
SMTP авторизация на зимбре настроена по инструкции с оф. сайта.
т.е. она включена.
Авторизация через TLS пароль передаётся не зашифрованный(опция в конфиге есть)
Вот лог соединения
Ответ:

проблема в том что 1й файл генериться при каждом перезапуске скрипта
zmsaslauthdctl и приходит в первоначальный вид. Понятно что надо подправить переменную через zmprov но вот какую ..х.з.
Есть сведующие?
Вопрос: [РЕШЕНО] Проблема с PERL после обновления портов p5-*

Всем доброго времени суток!
После обновления одного из портов p5-* произошла проблема с обновлением PERL и других портов p5-*.
Ошибка выглядит так:
Ответ: Спасибо.
Проблема решена.
Вопрос: Проблема с загрузкой файлов Debian 8/Apache 2/PHP 5

Добрый день,

столкнулся с проблемой загрузки файлов на только что установленной системе Debian 3.16.7-ckt25-1 (2016-03-06) x86_64 / Apache/2.4.10 / PHP 5.6.19-0+deb8u1

фрагмент /etc/php5/apache2/php.ini

;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;

; Whether to allow HTTP file uploads.
; http://php.net/file-uploads
file_uploads = On

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
; http://php.net/upload-tmp-dir
;upload_tmp_dir =


настройки виртуального хоста

<VirtualHost IP:80>
	ServerName mydomain.ru
	ServerAlias www.mydomain.ru
	ServerAdmin support@mydomain.ru

	AddDefaultCharset UTF-8

	DocumentRoot /var/www/user/data/sites/mydomain.ru/www
	CustomLog /var/www/user/data/sites/mydomain.ru/logs/mydomain.ru.access.log combined
	ErrorLog /var/www/user/data/sites/mydomain.ru/logs/mydomain.ru.error.log

	AddType application/x-httpd-php .php .php3 .php4 .php5 .phtml
	AddType application/x-httpd-php-source .phps

	php_admin_value open_basedir "/var/www/user/data/:."
	php_admin_value upload_tmp_dir "/var/www/user/data/sites/mydomain.ru/tmp"
	php_admin_value session.save_path "/var/www/user/data/sites/mydomain.ru/tmp"
</VirtualHost>

<Directory /var/www/user/data/sites/mydomain.ru/www>
	AllowOverride All
	Options -ExecCGI -Includes -Indexes
	php_admin_value open_basedir "/var/www/user/data/:."
	php_admin_flag engine on
</Directory>


При попытке загрузить файлы на сервер получаю ошибку:

PHP Warning:  Unknown: open_basedir restriction in effect. File(/tmp) is not within the allowed path(s): (/var/www/user/data/:.) in Unknown on line 0
PHP Warning:  File upload error - unable to create a temporary file in Unknown on line 0


т.е., насколько я понимаю происходит следующее, поскольку в php.ini не указана директива "upload_tmp_dir", то путь к папке для загрузки файлов берётся системный, т.е. "/tmp", НО, из файла конфигурации виртуального хоста берётся директива базовой директории "open_basedir", работа за пределами которой для данного виртуального хоста запрещена, о чём, собственно, и говорится в сообщении об ошибке. Вопрос, почему игнорируется директива "upload_tmp_dir" для виртуального хоста?
Ответ: Проблема решена, хост работал на SSL, соответственно директивы указания на папку для загружаемых файлов надо было указывать в соответствующем конфиге.
Вопрос: Компиляция нескольких файлов

Написать скрипт, который компилирует заданные файлы и передает на исполнение. Файлы расширения .c, компиляция командой gcc. Файлы передаются как аргументы командной строки, компилируются в той очереди, в которой передаются. Если в файле ошибки, то вывести предупреждение и продолжить компиляцию остальных файлов. Заранее спасибо
Ответ: Спасибо
Вопрос: Кросс компиляция под АРМ

Из-под Минта делаю компиляцию проекта. Запускаю скрипт.

C
1
2
3
4
5
6
7
8
9
10
COMPILER_PATH="/home/az/work/kernel_bild/compiler/gcc-linaro-4.9-2015.02-3-x86_64_arm-linux-gnueabihf/bin"
export PATH="${COMPILER_PATH}":$PATH
export ARCH=arm
 
./configure --host=arm-linux-gnueabihf --enable-shared --disable-static --prefix /home/az/work/sip/pjproject-2-arm/
 
make clean
make dep
make
make install
все компилится, создаются две папки- библиотека и инклуды. Сам компилятор у меня, с помощью которого хочу компилировать расположен по пути
COMPILER_PATH

Беда в том, что библиотеки так скомпиленные, не работают. Может как-то по-другому надо указывать в строке
./configure что именно этот компиллер по COMPILER_PATH использовать?
Ответ: metcenger, Искать в readme проекта, в help ./configure и т.д.
Вопрос: Скрипт для компиляции в exe-файл

Необходимо написать скрипт, компилирующий и запускающий программу (имя исходного файла и exe-файла результата задаётся пользователем в качестве аргументов командной строки). В случае ошибок при компиляции вывести на консоль сообщение об ошибках и не запускать программу на выполнение.

В Bash работаю впервые. В принципе, мне будет достаточно команд, с помощью которых всё это делается.
Ответ: Marinero, большое спасибо! Всё работает
Вопрос: [Linux] Проблемы с Linux и их решения

Оглавление

Данный комплекс проблем\решений создан с целью вместить "всё в одно", сделать его насколько можно вместительным и точным. Посоветовавшись с модератором он предложил создать данный топик в "тестовом" режиме и обсудить его публично. По этому прошу модераторов "не подстреливать" мне профиль если что-то не так, а уведомить в личное сообщение и я сам удалю данный топ, просьба не вешайте мне этот некрасивый красный плюсик)

В данном топе буду стараться приводить конкретные вопросы их решения и инструкции с объяснением, будут обсуждены как критические проблемы, так и задачи, которые можно отнести к разряду "трюков", позволяющих понять принцип работы linux, оптимизировать работу или произвести тюнинг системы, для некоторых узнать новые приемы работы, а для некоторых научится или же добавить свое видение решения задачи. Желательно описывать некое подобие развернутого ответа, насколько это можно вместить в понятие "кратко и понятно". Надеюсь данный FAQ будет полезен как полному новичку, который сможет для себя почерпнуть много нового, так и для "бывалых", которые смогут дополнить или же освежить память.

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

Много слов, мало дела, перейдем к написанию практических советов. Ваши дополнения приветствуются. Рассмотрение будем производить параллельно в нескольких дистрибутивов, а именно Fedora, Madriva, Debian (+Ubuntu, Kubuntu, Xubuntu), чтобы как можно шире показать Linux. Принципы работы актуальны даже к FreeBSD, есть некие отличия, но не забываем что это основы.



















































.... список будет обновляться и добавляться со временем, на данный момент опишу эти проблемы
Ответ:
Вопрос: Проблема с OpenVPN

Добрый день участникам форума!
Прошу у вас помощи, так как не могу разобраться с проблемой, которая постигла меня на днях.
Есть сервачек на Debian 7, на нем прокси и поднят OpenVPN. Все работало почти год без проблем, но вот на днях пропала связь с другими клиентами. Выяснил, что блокирует iptables, т.е пока не открою правило что все можно, VPN не работает. Хотя повторюсь, что до этого все работало и правила не менялись, а тут перестал пропускать. Помогите решить проблему!
Ответ:

eth0-внешняя сетевая, eth1-внутренняя сетевая.
Получается что не проходит 1194 на внешнюю? Получается что все таки фаервол блочит или режит пакеты. Как то все странно. Настройки не менял, а грохнулось.