Я пытаюсь использовать библиотеку ECC на contiki os.
Но у меня есть ошибка для зависимости. Я думаю, проблема в моем Makefile, но я не уверен, где это неправильно.Неустранимая ошибка: открытие файла зависимостей
Я скачал из источника https://github.com/nist-emntg/ecc-light-certificate, но у меня была проблема с использованием git submodule update
после I git
клона из источника, так что я вручную загрузить и вставить файл Contiki в папку Contiki.
Может ли это быть проблемой?
Сообщение об ошибке
> make TARGET=cooja clean
rm -f *~ *core core *.srec \
*.lst *.map \
*.cprg *.bin *.data contiki*.a *.firmware core-labels.S *.ihex *.ini \
*.ce *.co
rm -rf
rm -rf obj_cooja
> make sender-node.cooja TARGET=cooja
CC sender-node.c
sender-node.c: In function 'process_thread_sender_node_process':
sender-node.c:104:11: warning: unused variable 'pubKey' [-Wunused-variable]
mkdir obj_cooja
CC ../../../platform/cooja/./contiki-cooja-main.c
../../../platform/cooja/./contiki-cooja-main.c: In function 'contiki_init':
../../../platform/cooja/./contiki-cooja-main.c:230:14: warning: variable 'shortaddr' set but not used [-Wunused-but-set-variable]
../../../platform/cooja/./contiki-cooja-main.c:288:5: warning: passing argument 1 of 'rimeaddr_copy' from incompatible pointer type [enabled by default]
../../../core/./net/rime/rimeaddr.h:79:6: note: expected 'union rimeaddr_t *' but argument is of type 'uint8_t *'
mv contiki-cooja-main.o obj_cooja/mtype371.o
CC ../../../../ecc/ecc.c
../../../../ecc/ecc.c:700:1: fatal error: opening dependency file obj_cooja/../../../../ecc/ecc.d: No such file or directory
compilation terminated.
make: *** [obj_cooja/../../../../ecc/ecc.o] Error 1
Process returned error code 2
Это мой Makefile
all: sender-node receiver-node root-node
extra: example tools tests
CONTIKI=../../..
WITH_UIP6=1
UIP_CONF_IPV6=1
include $(CONTIKI)/../Makefile.curve
CURVE_DIR=$(CONTIKI)/../ecc/curve-params
CFLAGS+= -DUIP_CONF_IPV6_RPL\
-DSHA2_USE_INTTYPES_H \
-DWITH_SHA256 \
-D$(DOMAIN_PARAMS) \
-DTHIRTYTWO_BIT_PROCESSOR \
-DDOMAIN_PARAMS=$(DOMAIN_PARAMS)
CFLAGS+=-DPROJECT_CONF_H=\"project-conf.h\"
PROJECT_SOURCEFILES += $(CONTIKI)/../ecc/ecc.c $(CONTIKI)/../ecc/ecdsa.c $(CONTIKI)/../ecc/nn.c $(CONTIKI)/../sha2/sha2.c $(CONTIKI)/../certificate/certificate.c
PROJECTDIRS += sha2 ecc $(CURVE_DIR) certificate
include $(CONTIKI)/../ecc/curve-params/Makefile.curve_params
# mc1322x is little endian only
ifeq ($(TARGET),econotag)
CFLAGS+= -DWORDS_LITTLEENDIAN
endif
ifdef WITH_COMPOWER
APPS+=powertrace
CFLAGS+= -DCONTIKIMAC_CONF_COMPOWER=1 -DWITH_COMPOWER=1 -DQUEUEBUF_CONF_NUM=4
endif
ifdef SERVER_REPLY
CFLAGS+=-DSERVER_REPLY=$(SERVER_REPLY)
endif
ifdef PERIOD
CFLAGS+=-DPERIOD=$(PERIOD)
endif
include $(CONTIKI)/Makefile.include
example:
make -C example
tools:
make -C tools
tests:
make -C tests
привет @VonC относительно этих команд кд/путь/к/LY/локальный/клон/из/ЕСС-свет-сертификат кд. Переместить ecc-light-сертификат ecc-light-certificate.old следует использовать после клонирования? – lol
@lol Прежде: идея состоит в том, чтобы переместить старый клон, прежде чем клонировать снова одно и то же репо в той же папке. Это позволит избежать сбоя Git, потому что имя папки уже существует. – VonC
Я попытался использовать git clone --recursive. Но у него такая же проблема, когда он не смог получить папку contiki. – lol