Если разделяемая библиотека, от которой вы зависите, установлена в /usr/local/lib
, а не в /usr/lib
(или подобном), то я подозреваю, что она не является частью какого-либо пакета, управляемого менеджером пакетов dpkg
. dh_shlibdeps
хочет составить полный список всех вещей, от которых будет зависеть ваш новый пакет, но в данном случае одна из этих вещей, похоже, существует вне какого-либо пакета, поэтому она не может быть включена в список.
Вы должны установить OpenCV из пакета Debian (плюс соответствующий пакет -dev
, чтобы вы могли собирать на его основе), а не из локальной установки.
Похоже, проблема заключалась в том, что процесс udhcpc
был порожден моим процессом my_app.bin
.
В этом порождении порожденный процесс наследует все дескрипторы открытых файлов my_app.bin
. Поэтому, когда я закрываю сокет из my_app.bin
, он не закрывается из udhcpc
.
Решения:
O_CLOEXEC
при открытии сокета или fcntl()
с флагом FD_CLOEXEC
позже.В моем случае я не контролирую udhcpc
, поэтому мне нужно использовать номер опции 1
.