NVIDIAGameWorks / FleX

Other
650 stars 100 forks source link

CalculateRestDensity undefined reference to `seed1` #55

Closed gaborpapp closed 5 years ago

gaborpapp commented 5 years ago

I'm building Flex on Fedora linux, which works fine, the demo application runs. But when I'm trying to build my own application the linker gives the following error:

.../FleX/lib/linux64/NvFlexReleaseCUDA_x64.a(cudaflex.o): In function `CalculateRestDensity':
/b/71638413cc37a729/sw/devrel/libdev/flex/dev/main/test/compiler/makelinux64/../../../src/cuda/flex.cu:436: undefined reference to `seed1'
/b/71638413cc37a729/sw/devrel/libdev/flex/dev/main/test/compiler/makelinux64/../../../src/cuda/flex.cu:437: undefined reference to `seed2'
.../FleX/lib/linux64/NvFlexReleaseCUDA_x64.a(cudaflex.o): In function `__gnu_cxx::new_allocator<float>::allocate(unsigned long, void const*)':
/usr/include/c++/4.8/ext/new_allocator.h:104: undefined reference to `seed1'
/usr/include/c++/4.8/ext/new_allocator.h:104: undefined reference to `seed2'
collect2: error: ld returned 1 exit status

I'm linking with libcudart.so, libcuda.so, NvFlexExtReleaseCUDA_x64.a, NvFlexDeviceRelease_x64.a, NvFlexReleaseCUDA_x64.a.

Do I need to add anything else? Any help would be appreciated.

gaborpapp commented 5 years ago

This was a link order issue. I had to link the following libraries in this order: NvFlexReleaseCUDA_x64.a, NvFlexExtReleaseCUDA_x64.a, libcudart_static.a,rt