Проблема. Не удается собрать .nexe с libtomcrypt
(-ltomcrypt
) на 64-битной машине.
«пропуск несовместимости» или «не найдено».
/home/ME/nacl/pepper_35/toolchain/linux_x86_newlib/bin/../lib/gcc/x86_64-nacl/4.4.3/../../../../x86_64-nacl/bin/ld: skipping incompatible /home/ME/nacl/pepper_35/toolchain/linux_x86_newlib/i686-nacl/usr/lib/libtomcrypt.a when searching for -ltomcrypt
/home/ME/nacl/pepper_35/toolchain/linux_x86_newlib/bin/../lib/gcc/x86_64-nacl/4.4.3/../../../../x86_64-nacl/bin/ld: skipping incompatible /home/ME/nacl/pepper_35/toolchain/linux_x86_newlib/bin/../x86_64-nacl/usr/lib/libtomcrypt.a when searching for -ltomcrypt
/home/ME/nacl/pepper_35/toolchain/linux_x86_newlib/bin/../lib/gcc/x86_64-nacl/4.4.3/../../../../x86_64-nacl/bin/ld: cannot find -ltomcrypt
collect2: ld returned 1 exit status
make: *** [newlib/Release/my_module_unstripped_x86_32.nexe] Error 1
Makefile
Копия существующего примера в загруженном nacl sdk. Изменено с помощью tomcrypt
, что приводит к флагу -ltomcrypt
.
VALID_TOOLCHAINS := newlib glibc pnacl linux
NACL_SDK_ROOT ?= $(abspath $(CURDIR)/../..)
include $(NACL_SDK_ROOT)/tools/common.mk
TARGET = my_module
LIBS = ppapi_cpp ppapi pthread tomcrypt
CFLAGS = -Wall
SOURCES = my_module.cc
# Build rules generated by macros from common.mk:
$(foreach src,$(SOURCES),$(eval $(call COMPILE_RULE,$(src),$(CFLAGS))))
ifeq ($(CONFIG),Release)
$(eval $(call LINK_RULE,$(TARGET)_unstripped,$(SOURCES),$(LIBS),$(DEPS)))
$(eval $(call STRIP_RULE,$(TARGET),$(TARGET)_unstripped))
else
$(eval $(call LINK_RULE,$(TARGET),$(SOURCES),$(LIBS),$(DEPS)))
endif
$(eval $(call NMF_RULE,$(TARGET),))
Что у меня есть
- Linux 3.13.0-32-generic #57-Ubuntu SMP Вт, 15 июля, 03:51:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
my_module.cc
- nacl module code (no more .cc files)#include <tomcrypt.h>
Makefile
(выше)~/nacl/pepper_35/
~/nacl/naclports
Я попытался переустановить libtocrypt
с помощью naclports, но безуспешно. Как я понимаю, моя библиотека tomcrypt
построена как 32-битная, но я не знаю, как указать компилятору сделать ее 64-битной.
Ошибок нет, если Makefile без флага tomcrypt
.
Я не про Makefile или C++, но копаюсь там медленно, так что лучше дать инструкции для меня, как для новичка в этой теме :D