Компиляция версии aircrack-ng с поддержкой CUDA, которая не была исправлена некоторое время назад, поэтому потребовалось немного исправлений, чтобы получить большую часть пути.
По сути, make не может найти соответствующий компилятор (nvcc
) для этого одного раздела кода;
Восстановить раздел Makefile
ifeq ($(CUDA), true)
CFLAGS += -DCUDA_ENABLED
NVCC := $(CUDA_BIN)/nvcc
INCLUDES += -I. -I$(CUDA_INSTALL_PATH)/include
COMMONFLAGS += $(INCLUDES) -DUNIX
NVCCFLAGS += --compiler-options -fno-strict-aliasing --host-compilation=C $(COMMONFLAGS)
# Change this only if you have COMPUTE > 1.0
NVCCFLAGS += -maxrregcount 12
# Enable this for extra compiler and as output
#NVCCFLAGS += --ptxas-options "-v" --verbose
LIBSSL += -L$(CUDA_INSTALL_PATH)/lib -L$(CUDA_INSTALL_PATH)/lib64 -lcuda -lcudart
%.o : %.cu
$(NVCC) $(NVCCFLAGS) $(SMVERSIONFLAGS) -o $@ -c $<
endif
Релевантный вывод Make
/nvcc --compiler-options -fno-strict-aliasing --host-compilation=C -I. -I/include -DUNIX -maxrregcount 12 -o cudacrypto.o -c cudacrypto.cu
make[1]: /nvcc: Command not found
make[1]: *** [cudacrypto.o] Error 127
make[1]: Leaving directory `/home/bolster/src/aircrack-ng-cuda/src'
make: *** [install] Error 2
Как вы можете видеть, make производит сброс переменных окружения 'CUDA_BIN'.
Вывод echo $CUDA_BIN
/usr/local/cuda/bin
Вывод which nvcc
/usr/local/cuda/bin/nvcc
Я ни в коем случае не притворщик, поэтому если я что-то делаюочевидно, что это неправильно, прости меня.
После тяжелого кодирования флага nvcc с полным путем, этот раздел компилируется, но когда дело доходит до раздела шифрования (с использованием libssl), он не может найти необходимые библиотеки, и вспособ, аналогичный описанному выше, не заменяет CUDA_INSTALL_PATH, даже если он находится в среде, что указывает на то, что происходит что-то странное.