error fatal: apertura de file de dependencia

Estoy tratando de usar la biblioteca ECC en contiki os.
Pero recibí un error de dependencia. Creo que el problema está en mi Makefile, pero no estoy seguro de dónde está mal.

Descargué de la fuente https://github.com/nist-emntg/ecc-light-certificate , pero tuve problemas al usar la git submodule update después de clonar git de la fuente, así que descargué y pegué manualmente el file contiki en la carpeta contiki.
¿Podría ser este el problema?

Mensaje de error

 > 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 comstacktion terminated. make: *** [obj_cooja/../../../../ecc/ecc.o] Error 1 Process returned error code 2 

Este es mi file MAKE

 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 

pero tuve un problema al usar la actualización del submodule git después de git clone desde la fuente, así que manualmente descargué y pegué el file contiki en la carpeta contiki.

Entonces no puedes simplemente download cualquier file contiki, ya que la idea de un submodule es hacer reference a un SHA1 exacto de otro repository.

Intente nuevamente clonar el repository principal, esta vez con --recursive (y asegúrese de usar el último Git 2.11.1)

 cd /path/to/ly/local/clone/of/ecc-light-certificate cd .. move ecc-light-certificate ecc-light-certificate.old git clone --recursive https://github.com/nist-emntg/ecc-light-certificate 

El error es:

 no such remote ref 7a493c44edb6952bf82fc808b9dd91c30d49c871 Fetched in submodule path 'contiki', but it did not contain 7a493c44edb6952bf82fc808b9dd91c30d49c871. Direct fetching of that commit failed 

Primero: https://github.com/tcheneau/contiki@7a493c44edb6952bf82fc808b9dd91c30d49c871 existe.

Sin embargo, al mirar su página de confirmación 7a493c4 , puede ver que no pertenece a ninguna twig o label: se trata de una confirmación aún guardada en el repository remoto de GitHub, pero no se recupera de manera pnetworkingeterminada (porque, una vez más, ninguna twig o label lo incluye )

nist-emntg/ecc-light-certificate/issues abrir un problema en nist-emntg/ecc-light-certificate/issues para alertarlos sobre la reference de confirmación no existente para el contiki del submodule.

Si busca ese post de confirmación, encontrará commit 1396dfd desde la twig nativa de fix-native-build :

 C:\Users\vonc\prog\git\ecc-light-certificate\contiki>git log --all --grep="prevent the native target" commit 1396dfd817424eb7d3218cc6c51186f80b032e9f Author: Tony Cheneau <tony.cheneau@nist.gov> Date: Fri Oct 25 17:53:27 2013 -0400 Fix a typo (?) that would prevent the native target from building the examples. 

Esto es típico de un compromiso elegido con precisión.

Para resolver su situación actual, ejecute directamente la confirmación correcta:

 C:\Users\vonc\prog\git\ecc-light-certificate\contiki>git checkout 1396dfd817424eb7d3218cc6c51186f80b032e9f Checking out files: 100% (3223/3223), done. Note: checking out '1396dfd817424eb7d3218cc6c51186f80b032e9f'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by performing another checkout. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -b with the checkout command again. Example: git checkout -b <new-branch-name> HEAD is now at 1396dfd81... Fix a typo (?) that would prevent the native target from building the examples. C:\Users\vonc\prog\git\ecc-light-certificate\contiki>git st HEAD detached at 1396dfd81 nothing to commit, working tree clean