linker error linking a cuda programm - error 255

hello :)

i try to write a small cuda program for getting some experience with the parallel programming of the nvidia gpu devices and during linking i get an ,error 255’’

make: *** [obj/release/gausel.cu_o] Error 255

but it works if i compile the program in device emulation.

i am using cuda 1.0 on the stable debian/etch x86 - cuda 1.1 needs libc 2.4 which is not available in the stable debian/etch.

does anybody know something about this error message?

cheers
adi

You have posted the bottom error message from make. There must be another error above this one from the compiler that is causing make to exit with an error. Post that message and maybe we can help you.

However, the official NVIDIA response to these types of questions is usually “Debian is not a supported OS.”

hello,

thank you for your reply … but as i said: i get this error message - nothing else:

the code itself compiles without any error or warning:

adi@thorp:~/gausel$ make clean; make
make: *** [obj/release/gausel.cu_o] Error 255
adi@thorp:~/gausel$

the program is more or less straight forward and i use the common.mk file from the nvidia-cuda examples adjusted to my program …

cheers
adi

Try:

make verbose=1

And copy the output in here.

hi to all :)

adi@thorp:~/gausel$ make clean; make verbose=1
g++ -W -Wall -Wimplicit -Wswitch -Wformat -Wchar-subscripts -Wparentheses -Wmultichar -Wtrigraphs -Wpointer-arith -Wcast-align -Wreturn-type -Wno-unused-function -fno-strict-aliasing -I. -I/usr/local/cuda/include -I/usr/local/cuda/projects/…/common/inc -DUNIX -O3 -o obj/release/gausel_gold.cpp_o -c gausel_gold.cpp
nvcc -o obj/release/gausel.cu_o -c gausel.cu -I. -I/usr/local/cuda/include -I/usr/local/cuda/projects/…/common/inc -DUNIX -O3
make: *** [obj/release/gausel.cu_o] Error 255
adi@thorp:~/gausel$

but in the meantime i went step by step through my code to find the problem, and it was a

while (1) { … }

loop in the kernel-code which causes the error.

(i wrote a simple gauss elimination for linear equation systems with the divisor/worker approach …

the worker threads had a ,while(1) { … }‘’ loop wrapped around their code because they run ,forever’’ waiting to get work from the mast ,divisor’’ thread - for a line to multiply&substract …

it is no problem to substitute this while-loop with another construction in this case, but its very interesting for me to know this causes the problem.

:)

cheers
adi