конфигурация tinydtls в Контиках - PullRequest
0 голосов
/ 20 февраля 2020

В настоящее время я пытаюсь настроить tinydtls , как описано в README , чтобы позже включить его в приложение или, по крайней мере, запустить примеры.

Первые шаги, включая полученные предупреждения:

home/name/contiki/apps/tinydtls$ autoreconf 

aclocal: предупреждение: ввод autoconf должен называться 'configure.a c', а не 'configure.in'

home/name/contiki/apps/tinydtls$ ./configure --with-contiki

home/name/contiki/apps/tinydtls$ make

с TARGET = родной и TARGET = zoul

Компиляция всегда заканчивается (многими) неопределенными ошибками ссылок:

obj_zoul/dtls.o: In function dtls_add_ecdsa_signature_elem':
dtls.c:(.text.dtls_add_ecdsa_signature_elem+0x10): undefined reference to `dtls_ec_key_from_uint32_asn1'

dtls_ec_key_from_uint32_asn1 находится в contiki / apps / tinydtls / crypto. c. Добавление # include crypto.h в dtls. c не решает проблему, но # include crypto. c (исправить эту первую ошибку). Соответственно, я полагаю, что проблема должна быть связана со связью.

Как отрегулировать Makefile, из которого я вставил (надеюсь значимую) часть в этот вопрос?

SHELL = /bin/sh
MKDIR = mkdir
ETAGS = /bin/false

prefix = /usr/local
exec_prefix = ${prefix}
abs_builddir = /home/name/contiki/apps/tinydtls
top_builddir = .
libdir = ${exec_prefix}/lib
includedir = ${prefix}/include/tinydtls
package = tinydtls-0.8.2

install := cp

# files and flags
SOURCES:= dtls.c crypto.c ccm.c hmac.c netq.c peer.c dtls_time.c session.c
ifneq ("", "1")
SOURCES += debug.c
endif
SUB_OBJECTS:=aes/rijndael.o  ecc/ecc.o sha2/sha2.o
OBJECTS:= $(patsubst %.c, %.o, $(SOURCES)) $(SUB_OBJECTS)
HEADERS:=dtls.h hmac.h debug.h dtls_config.h uthash.h numeric.h crypto.h global.h ccm.h \
 netq.h t_list.h alert.h utlist.h prng.h peer.h state.h dtls_time.h session.h \
 tinydtls.h
CFLAGS:=-Wall -pedantic -std=c99 
CPPFLAGS:= -DDTLSv12 -DWITH_SHA256 -DDTLS_CHECK_CONTENTTYPE
SUBDIRS:=tests doc platform-specific sha2 aes ecc
DISTSUBDIRS:=$(SUBDIRS) examples/contiki
DISTDIR=$(top_builddir)/$(package)
FILES:=Makefile.in configure configure.in dtls_config.h.in tinydtls.h.in \
  Makefile.tinydtls $(SOURCES) $(HEADERS)
LIB:=libtinydtls.a
LDFLAGS:=
ARFLAGS:=cru
doc:=doc

Редактировать: изменен каталог для этого поста на /home/name/...

Редактировать2: добавлены предупреждения после 'autoreconf'.

...