Hello, I have a custom automake project that runs smoothly on Linux, and used to run smoothly on Mac OS X as well, however, after updating to CUDA-5.0 and to Mountain Lion, every time I try to compile it fails me, here’s the compile line and output:
nvcc -o main.o -c main.cu -gencode arch=compute_12,code=sm_12
nvcc -o ca.o -c ca.cu -gencode arch=compute_12,code=sm_12
nvcc -o curand.o -c curand.cu -gencode arch=compute_12,code=sm_12
gcc -I/usr/local/cuda/include -g -O2 -o cu1dCA main.o ca.o curand.o -L/usr/local/cuda/lib64 -lcudart -lm
ld: warning: ld: warning: ignoring file main.o, file was built for i386 which is not the architecture being linked (x86_64): main.oignoring file ca.o, file was built for i386 which is not the architecture being linked (x86_64): ca.o
ld: warning: ignoring file curand.o, file was built for i386 which is not the architecture being linked (x86_64): curand.o
Undefined symbols for architecture x86_64:
"_main", referenced from:
start in crt1.10.6.o
ld: symbol(s) not found for architecture x86_64
But if I try to compile manually, only with nvcc, it goes smoothly
$ nvcc -o cu1dCA main.cu ca.cu curand.cu
$ file cu1dCA
cu1dCA: Mach-O executable i386
But, as you can see, it’s actually building i386 code, instead of x64, which is what my Mac OS X actually is.
Any help on how to fix this?
Thank you.