Перейти к содержанию

    

Openocd не собирается

Добрый день. начинаю собирать такая штука

checking whether standard drivers can be built... yes

checking for LIBUSB1... no

configure: WARNING: libusb-1.x not found, trying legacy libusb-0.1 as a fallback; consider installing libusb-1.x instead

checking for LIBUSB0... no

checking for HIDAPI... no

checking for HIDAPI... no

checking for HIDAPI... no

configure: error: libusb-1.x or libusb-0.1 is required for the Segger J-Link JTAG Programmer

Хотя библиотека есть.

vlad@debian:~/openocd-0.9.0$ dpkg -l | grep 'libusb'

ii libgusb2:amd64 0.1.6-5 amd64 GLib wrapper around libusb1

ii libusb-0.1-4:amd64 2:0.1.12-25 amd64 userspace USB programming library

ii libusb-0.1-4:i386 2:0.1.12-25 i386 userspace USB programming library

ii libusb-1.0-0:amd64 2:1.0.19-1 amd64 userspace USB programming library

ii libusb-1.0-0:i386 2:1.0.19-1 i386 userspace USB programming library

ii libusb-1.0-0-dev:amd64 2:1.0.19-1 amd64 userspace USB programming library development files

ii libusb-1.0-0-dev:i386 2:1.0.19-1 i386 userspace USB programming library development files

ii libusb-1.0-doc 2:1.0.19-1 all documentation for userspace USB programming

ii libusb-dev 2:0.1.12-25 i386 userspace USB programming library development files

ii libusbmuxd2:amd64 1.0.9-1 amd64 USB multiplexor daemon for iPhone and iPod Touch devices - library

ii libusbredirhost1:amd64 0.7-1 amd64 Implementing the usb-host (*) side of a usbredir connection (runtime)

ii libusbredirparser1:amd64 0.7-1 amd64 Parser for the usbredir protocol (runtime)

 

ОС Debian 8.8 Openocd пробовал разные версии

Идеи кончились, поиск в основном говорит ставь библиотеку. Но она установлена

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А пакет с development files тоже установлен? Нужны пакеты libusb-1.0-0 и libusb-1.0-0-dev (версия в вашем дистрибутиве может отличаться).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
А пакет с development files тоже установлен?
Как проверить или поставить?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В консоле:

sudo apt-get install libusb-1*

 

Хотя, перечитал Ваше первое сообщение, похоже нужные пакеты и правда уже установлены...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может как то AMD64 пакеты мешают.

 

И если предположить что проблема в версии то configure: WARNING: libusb-1.x not found. 1.x так понимаю версия не актуальна. Ну да ладно не помогает. Библиотеки есть но их нету.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
ОС Debian 8.8 Openocd пробовал разные версии

Идеи кончились, поиск в основном говорит ставь библиотеку. Но она установлена

а в чем цель самостоятельной сборки и почему не поставить готовый бинарник?

и откуда вы взяли исходники?

беру например отсюда:

http://http.debian.net/debian/pool/main/o/...9.0.orig.tar.gz

разворачиваю под виртуалкой на Ubuntu-14.10-x64

конфигурю

https://pastebin.com/f5miPUDe

собираю без проблем

Изменено пользователем Jury093

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А что у вас в /etc/ld.so.conf

и в файлах, которые в него включены.

 

Находятся ли ваши библиотеки в списке команды:

`gcc -print-prog-name=cc1` -v

 

Скопируйте команды, а если будете набирать, то кавычки специальные с клавиши рядом с <1>.

 

Если нет, то попробуйте или линки создать в одной директории из списка или в Makefile добавьте путь для линковки.

 

Еще команда

cpp -v

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Openocd брал отсюда https://sourceforge.net/projects/openocd/files/openocd/

Почему сборка нашел несколько статей в них он собирался поэтому пошел этим путем.

 

ld.so.conf у меня нет а вот:

vlad@debian:/etc/ld.so.conf.d$ dir

fakeroot-x86_64-linux-gnu.conf i386-linux-gnu.conf libc.conf x86_64-linux-gnu.conf

 

fakeroot-x86_64-linux-gnu.conf

/usr/lib/x86_64-linux-gnu/libfakeroot

 

i386-linux-gnu.conf

# Multiarch support

/lib/i386-linux-gnu

/usr/lib/i386-linux-gnu

/lib/i586-linux-gnu

/usr/lib/i586-linux-gnu

 

libc.conf

#libc default configuration

/usr/local/lib

 

x86_64-linux-gnu.conf

# Multiarch support

/lib/x86_64-linux-gnu

/usr/lib/x86_64-linux-gnu

 

vlad@debian:/etc/ld.so.conf.d$ `gcc -print-prog-name=cc1` -v

ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../../x86_64-linux-gnu/include"

#include "..." search starts here:

#include <...> search starts here:

/usr/lib/gcc/x86_64-linux-gnu/4.9/include

/usr/local/include

/usr/lib/gcc/x86_64-linux-gnu/4.9/include-fixed

/usr/include

End of search list.

 

Где лежит libusb?

Изменено пользователем Vlad_9

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

попробуйте это

* Debian based distros (debian, ubuntu)

* `build-essential`

* `cmake`

* `libusb-1.0` (plus development headers for building, on debian based distros `libusb-1.0.0-dev` package)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я начинающий пользователь, неделю только использую линукс. Если можно то просьба чуть подробнее писать

* Debian based distros (debian, ubuntu)

* `build-essential`

* `cmake`

* `libusb-1.0` (plus development headers for building, on debian based distros `libusb-1.0.0-dev` package)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Openocd брал отсюда https://sourceforge.net/projects/openocd/files/openocd/

Почему сборка нашел несколько статей в них он собирался поэтому пошел этим путем.

вытащил оттуда 0.10, конфигурится, собирается..

https://pastebin.com/WRmejGE3

 

возможно вас касается этот варнинг:

 

configure: libusb-1.0 header bug workaround: LIBUSB1_CFLAGS changed to "-isystem /usr/include/libusb-1.0"

где это и что, я без понятия..

 

Где лежит libusb?

в системе, что у меня

jury093@ubuntu64:~/src/openocd/openocd-0.10.0$ find /usr |grep libusb
/usr/include/libusb-1.0
/usr/include/libusb-1.0/libusb.h
/usr/bin/libusb-config
/usr/lib/x86_64-linux-gnu/libusb.a
/usr/lib/x86_64-linux-gnu/libusbmuxd.so.2.1.0
/usr/lib/x86_64-linux-gnu/pkgconfig/libusb-1.0.pc
/usr/lib/x86_64-linux-gnu/pkgconfig/libusb.pc
/usr/lib/x86_64-linux-gnu/libusb-1.0.so
/usr/lib/x86_64-linux-gnu/libusbmuxd.so.2
/usr/lib/x86_64-linux-gnu/libusb.so
/usr/lib/x86_64-linux-gnu/libusb-1.0.a
/usr/lib/x86_64-linux-gnu/libusb-0.1.so.4

и там еще в доках что-то находит

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
возможно вас касается этот варнинг:

 

Код

configure: libusb-1.0 header bug workaround: LIBUSB1_CFLAGS changed to "-isystem /usr/include/libusb-1.0"

где это и что, я без понятия..

По этому пути у меня лежит хедер libusb.

 

а вот так понимаю код который это порождает:

pkg_failed=no

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBUSB1" >&5

$as_echo_n "checking for LIBUSB1... " >&6; }

 

if test -n "$LIBUSB1_CFLAGS"; then

pkg_cv_LIBUSB1_CFLAGS="$LIBUSB1_CFLAGS"

elif test -n "$PKG_CONFIG"; then

if test -n "$PKG_CONFIG" && \

{ { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libusb-1.0\""; } >&5

($PKG_CONFIG --exists --print-errors "libusb-1.0") 2>&5

ac_status=$?

$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5

test $ac_status = 0; }; then

pkg_cv_LIBUSB1_CFLAGS=`$PKG_CONFIG --cflags "libusb-1.0" 2>/dev/null`

test "x$?" != "x0" && pkg_failed=yes

else

pkg_failed=yes

fi

else

pkg_failed=untried

 

это моя сборка

checking for LIBUSB1... no

configure: WARNING: libusb-1.x not found, trying legacy libusb-0.1 as a fallback; consider installing libusb-1.x instead

 

это исходник

use_libusb1=no

{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libusb-1.x not found, trying legacy libusb-0.1 as a f$

$as_echo "$as_me: WARNING: libusb-1.x not found, trying legacy libusb-0.1 as a fallback; consider installing li$

 

 

Изменено пользователем Vlad_9

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
По этому пути у меня лежит хедер libusb.

 

а вот так понимаю код который это порождает:

Не смотрите в configure, это производный файл. Смотрите в исходник -- это configure.ac или в configure.in.

 

Судя по configure, проверка libusb делается так:

$PKG_CONFIG --exists --print-errors "libusb-1.0"

Для начала покажите выхлоп

pkg-config --list-all | grep usb

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

vlad@debian:~/openocd-0.10.0$ pkg-config --list-all |grep usb

libusbmuxd libusbmuxd - A library to communicate with the usbmux daemon

libusbredirhost libusbredirhost - usbredirhost library

libusb libusb - USB access library

usbutils usbutils - USB device database

libusb-1.0 libusb-1.0 - C API for USB device access from Linux, Mac OS X, Windows and OpenBSD/NetBSD userspace

libusbredirparser-0.5 libusbredirparser-0.5 - usbredirparser library

 

Если нет, то попробуйте или линки создать в одной директории из списка или в Makefile добавьте путь для линковки.

Может попробовать только как проделать операцию?

Изменено пользователем Vlad_9

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация