mitchellwrosen/rsa-crack-cuda

undefined refrence to gmp library

Closed this issue · 3 comments

sydbarett@machine:~/Downloads/rsa-crack-cuda/parallel$ make
g++ -L. -L/usr/local/cuda/lib64 -L/home/clupo/gmp/lib -lcudart -lgmp -I. main.o rsa.o integer.o -o main
main.o: In function calculatePrivateKeys(integer*, unsigned short*, int, int, _IO_FILE*)': main.cpp:(.text+0x152): undefined reference to __gmpz_import'
main.cpp:(.text+0x181): undefined reference to __gmpz_import' main.cpp:(.text+0x198): undefined reference to __gmpz_gcd'
main.cpp:(.text+0x1bf): undefined reference to __gmpz_divexact' main.cpp:(.text+0x1ef): undefined reference to __gmpz_out_str'
main.cpp:(.text+0x20e): undefined reference to __gmpz_out_str' main.cpp:(.text+0x2f1): undefined reference to __gmpz_import'
main.cpp:(.text+0x326): undefined reference to __gmpz_import' main.cpp:(.text+0x33c): undefined reference to __gmpz_gcd'
main.cpp:(.text+0x35a): undefined reference to __gmpz_divexact' main.cpp:(.text+0x387): undefined reference to __gmpz_out_str'
main.cpp:(.text+0x3aa): undefined reference to __gmpz_out_str' main.cpp:(.text+0x412): undefined reference to __gmpz_import'
main.cpp:(.text+0x444): undefined reference to __gmpz_import' main.cpp:(.text+0x45a): undefined reference to __gmpz_gcd'
main.o: In function init(integer**, unsigned short**, integer**, unsigned short**, char const*, int)': main.cpp:(.text._Z4initPP7integerPPtS1_S3_PKci[_Z4initPP7integerPPtS1_S3_PKci]+0x64): undefined reference to __gmpz_init'
main.cpp:(.text._Z4initPP7integerPPtS1_S3_PKci[_Z4initPP7integerPPtS1_S3_PKci]+0x8c): undefined reference to __gmpz_inp_str' main.cpp:(.text._Z4initPP7integerPPtS1_S3_PKci[_Z4initPP7integerPPtS1_S3_PKci]+0xaf): undefined reference to __gmpz_export'
main.cpp:(.text._Z4initPP7integerPPtS1_S3_PKci[_Z4initPP7integerPPtS1_S3_PKci]+0xdd): undefined reference to cudaMalloc' main.cpp:(.text._Z4initPP7integerPPtS1_S3_PKci[_Z4initPP7integerPPtS1_S3_PKci]+0xfb): undefined reference to cudaMemcpy'
main.cpp:(.text._Z4initPP7integerPPtS1_S3_PKci[_Z4initPP7integerPPtS1_S3_PKci]+0x110): undefined reference to cudaMalloc' main.cpp:(.text._Z4initPP7integerPPtS1_S3_PKci[_Z4initPP7integerPPtS1_S3_PKci]+0x143): undefined reference to cudaGetErrorString'
main.cpp:(.text._Z4initPP7integerPPtS1_S3_PKci[_Z4initPP7integerPPtS1_S3_PKci]+0x17b): undefined reference to cudaGetErrorString' main.cpp:(.text._Z4initPP7integerPPtS1_S3_PKci[_Z4initPP7integerPPtS1_S3_PKci]+0x193): undefined reference to cudaGetErrorString'
main.o: In function main': main.cpp:(.text.startup+0x86): undefined reference to __gmpz_inits'
main.cpp:(.text.startup+0x11b): undefined reference to cudaMemset' main.cpp:(.text.startup+0x157): undefined reference to cudaPeekAtLastError'
main.cpp:(.text.startup+0x164): undefined reference to cudaDeviceSynchronize' main.cpp:(.text.startup+0x185): undefined reference to cudaMemcpy'
main.cpp:(.text.startup+0x1c6): undefined reference to cudaFree' main.cpp:(.text.startup+0x1da): undefined reference to cudaFree'
main.cpp:(.text.startup+0x23e): undefined reference to cudaGetErrorString' main.cpp:(.text.startup+0x27d): undefined reference to cudaGetErrorString'
main.cpp:(.text.startup+0x290): undefined reference to cudaGetErrorString' main.cpp:(.text.startup+0x2b9): undefined reference to cudaGetErrorString'
main.cpp:(.text.startup+0x2d5): undefined reference to cudaGetErrorString' main.o:main.cpp:(.text.startup+0x30a): more undefined references to cudaGetErrorString' follow
rsa.o: In function rsa_compute_d(__mpz_struct*, __mpz_struct const*, __mpz_struct const*, __mpz_struct const*)': rsa.cpp:(.text+0x31): undefined reference to __gmpz_inits'
rsa.cpp:(.text+0x44): undefined reference to __gmpz_inits' rsa.cpp:(.text+0x56): undefined reference to __gmpz_sub_ui'
rsa.cpp:(.text+0x68): undefined reference to __gmpz_sub_ui' rsa.cpp:(.text+0x7c): undefined reference to __gmpz_mul'
rsa.cpp:(.text+0x8f): undefined reference to __gmpz_clears' rsa.cpp:(.text+0x9c): undefined reference to __gmpz_set_ui'
rsa.cpp:(.text+0xac): undefined reference to __gmpz_invert' rsa.cpp:(.text+0xc3): undefined reference to __gmpz_clears'
rsa.o: In function rsa_phi(__mpz_struct*, __mpz_struct const*, __mpz_struct const*)': rsa.cpp:(.text+0x12c): undefined reference to __gmpz_inits'
rsa.cpp:(.text+0x13c): undefined reference to __gmpz_sub_ui' rsa.cpp:(.text+0x14e): undefined reference to __gmpz_sub_ui'
rsa.cpp:(.text+0x15e): undefined reference to __gmpz_mul' rsa.cpp:(.text+0x16f): undefined reference to __gmpz_clears'
integer.o: In function cuda_factorKeys(integer const*, unsigned short*, int, int, int, int)': tmpxft_00001ae5_00000000-5_integer.compute_35.cudafe1.cpp:(.text+0x4d): undefined reference to cudaSetupArgument'
tmpxft_00001ae5_00000000-5_integer.compute_35.cudafe1.cpp:(.text+0x80): undefined reference to cudaSetupArgument' tmpxft_00001ae5_00000000-5_integer.compute_35.cudafe1.cpp:(.text+0x98): undefined reference to cudaSetupArgument'
tmpxft_00001ae5_00000000-5_integer.compute_35.cudafe1.cpp:(.text+0xb0): undefined reference to cudaSetupArgument' tmpxft_00001ae5_00000000-5_integer.compute_35.cudafe1.cpp:(.text+0xc8): undefined reference to cudaSetupArgument'
integer.o:tmpxft_00001ae5_00000000-5_integer.compute_35.cudafe1.cpp:(.text+0xe0): more undefined references to cudaSetupArgument' follow integer.o: In function cuda_factorKeys(integer const*, unsigned short*, int, int, int, int)':
tmpxft_00001ae5_00000000-5_integer.compute_35.cudafe1.cpp:(.text+0xf2): undefined reference to cudaLaunch' integer.o: In function cudaWrapper(dim3, dim3, integer*, unsigned short*, int, int, int, int)':
tmpxft_00001ae5_00000000-5_integer.compute_35.cudafe1.cpp:(.text+0x134): undefined reference to cudaConfigureCall' tmpxft_00001ae5_00000000-5_integer.compute_35.cudafe1.cpp:(.text+0x19d): undefined reference to cudaSetupArgument'
tmpxft_00001ae5_00000000-5_integer.compute_35.cudafe1.cpp:(.text+0x1b5): undefined reference to cudaSetupArgument' tmpxft_00001ae5_00000000-5_integer.compute_35.cudafe1.cpp:(.text+0x1d1): undefined reference to cudaSetupArgument'
tmpxft_00001ae5_00000000-5_integer.compute_35.cudafe1.cpp:(.text+0x1ed): undefined reference to cudaSetupArgument' tmpxft_00001ae5_00000000-5_integer.compute_35.cudafe1.cpp:(.text+0x209): undefined reference to cudaSetupArgument'
integer.o:tmpxft_00001ae5_00000000-5_integer.compute_35.cudafe1.cpp:(.text+0x225): more undefined references to cudaSetupArgument' follow integer.o: In function cudaWrapper(dim3, dim3, integer*, unsigned short*, int, int, int, int)':
tmpxft_00001ae5_00000000-5_integer.compute_35.cudafe1.cpp:(.text+0x237): undefined reference to cudaLaunch' integer.o: In function __device_stub__Z15cuda_factorKeysPK7integerPtiiii(integer const*, unsigned short*, int, int, int, int)':
tmpxft_00001ae5_00000000-5_integer.compute_35.cudafe1.cpp:(.text+0x30c): undefined reference to cudaSetupArgument' tmpxft_00001ae5_00000000-5_integer.compute_35.cudafe1.cpp:(.text+0x330): undefined reference to cudaSetupArgument'
tmpxft_00001ae5_00000000-5_integer.compute_35.cudafe1.cpp:(.text+0x348): undefined reference to cudaSetupArgument' tmpxft_00001ae5_00000000-5_integer.compute_35.cudafe1.cpp:(.text+0x360): undefined reference to cudaSetupArgument'
tmpxft_00001ae5_00000000-5_integer.compute_35.cudafe1.cpp:(.text+0x378): undefined reference to cudaSetupArgument' integer.o:tmpxft_00001ae5_00000000-5_integer.compute_35.cudafe1.cpp:(.text+0x38e): more undefined references to cudaSetupArgument' follow
integer.o: In function __device_stub__Z15cuda_factorKeysPK7integerPtiiii(integer const*, unsigned short*, int, int, int, int)': tmpxft_00001ae5_00000000-5_integer.compute_35.cudafe1.cpp:(.text+0x3a0): undefined reference to cudaLaunch'
integer.o: In function __cudaUnregisterBinaryUtil()': tmpxft_00001ae5_00000000-5_integer.compute_35.cudafe1.cpp:(.text+0x8): undefined reference to __cudaUnregisterFatBinary'
integer.o: In function __sti____cudaRegisterAll()': tmpxft_00001ae5_00000000-5_integer.compute_35.cudafe1.cpp:(.text.startup+0xa): undefined reference to __cudaRegisterFatBinary'
tmpxft_00001ae5_00000000-5_integer.compute_35.cudafe1.cpp:(.text.startup+0x37): undefined reference to `__cudaRegisterFunction'
collect2: error: ld returned 1 exit status
Makefile:12: recipe for target 'main' failed
make: *** [main] Error 1

No clue. Haven't touched this code since college. :)

Had the same issue,
the makefile has the path variable directed to the authors machine.
u can "locate gmp.h" and copy the path variable to the the make file, and the corresponding /lib and /include files. :)

thank you