I am trying to compile NVBIO using nvcc 6.5 and gcc 4.4.7 but I receive this error:
[ 40%] Building CXX object nvbio/CMakeFiles/nvbio.dir/basic/atomics.cpp.o
/home/masaki/nvidia/nvbio/nvbio/basic/atomics.cpp: In function ‘void nvbio::host_release_fence()’:
/home/masaki/nvidia/nvbio/nvbio/basic/atomics.cpp:53: error: ‘__ATOMIC_RELEASE’ was not declared in this scope
/home/masaki/nvidia/nvbio/nvbio/basic/atomics.cpp:53: error: ‘__atomic_thread_fence’ was not declared in this scope
/home/masaki/nvidia/nvbio/nvbio/basic/atomics.cpp: In function ‘void nvbio::host_acquire_fence()’:
/home/masaki/nvidia/nvbio/nvbio/basic/atomics.cpp:61: error: ‘__ATOMIC_ACQUIRE’ was not declared in this scope
/home/masaki/nvidia/nvbio/nvbio/basic/atomics.cpp:61: error: ‘__atomic_thread_fence’ was not declared in this scope
/home/masaki/nvidia/nvbio/nvbio/basic/atomics.cpp: In function ‘nvbio::int32 nvbio::host_atomic_add(nvbio::int32*, nvbio::int32)’:
/home/masaki/nvidia/nvbio/nvbio/basic/atomics.cpp:68: error: ‘__ATOMIC_RELAXED’ was not declared in this scope
/home/masaki/nvidia/nvbio/nvbio/basic/atomics.cpp:68: error: ‘__atomic_fetch_add’ was not declared in this scope
/home/masaki/nvidia/nvbio/nvbio/basic/atomics.cpp: In function ‘nvbio::uint32 nvbio::host_atomic_add(nvbio::uint32*, nvbio::uint32)’:
/home/masaki/nvidia/nvbio/nvbio/basic/atomics.cpp:81: error: ‘__ATOMIC_RELAXED’ was not declared in this scope
/home/masaki/nvidia/nvbio/nvbio/basic/atomics.cpp:81: error: ‘__atomic_fetch_add’ was not declared in this scope
/home/masaki/nvidia/nvbio/nvbio/basic/atomics.cpp: In function ‘nvbio::int64 nvbio::host_atomic_add(nvbio::int64*, nvbio::int64)’:
/home/masaki/nvidia/nvbio/nvbio/basic/atomics.cpp:94: error: ‘__ATOMIC_RELAXED’ was not declared in this scope
/home/masaki/nvidia/nvbio/nvbio/basic/atomics.cpp:94: error: ‘__atomic_fetch_add’ was not declared in this scope
/home/masaki/nvidia/nvbio/nvbio/basic/atomics.cpp: In function ‘nvbio::uint64 nvbio::host_atomic_add(nvbio::uint64*, nvbio::uint64)’:
/home/masaki/nvidia/nvbio/nvbio/basic/atomics.cpp:107: error: ‘__ATOMIC_RELAXED’ was not declared in this scope
/home/masaki/nvidia/nvbio/nvbio/basic/atomics.cpp:107: error: ‘__atomic_fetch_add’ was not declared in this scope
/home/masaki/nvidia/nvbio/nvbio/basic/atomics.cpp: In function ‘nvbio::int32 nvbio::host_atomic_sub(nvbio::int32*, nvbio::int32)’:
/home/masaki/nvidia/nvbio/nvbio/basic/atomics.cpp:120: error: ‘__ATOMIC_RELAXED’ was not declared in this scope
/home/masaki/nvidia/nvbio/nvbio/basic/atomics.cpp:120: error: ‘__atomic_fetch_sub’ was not declared in this scope
/home/masaki/nvidia/nvbio/nvbio/basic/atomics.cpp: In function ‘nvbio::uint32 nvbio::host_atomic_sub(nvbio::uint32*, nvbio::uint32)’:
/home/masaki/nvidia/nvbio/nvbio/basic/atomics.cpp:133: error: ‘__ATOMIC_RELAXED’ was not declared in this scope
/home/masaki/nvidia/nvbio/nvbio/basic/atomics.cpp:133: error: ‘__atomic_fetch_sub’ was not declared in this scope
/home/masaki/nvidia/nvbio/nvbio/basic/atomics.cpp: In function ‘nvbio::int64 nvbio::host_atomic_sub(nvbio::int64*, nvbio::int64)’:
/home/masaki/nvidia/nvbio/nvbio/basic/atomics.cpp:147: error: ‘__ATOMIC_RELAXED’ was not declared in this scope
/home/masaki/nvidia/nvbio/nvbio/basic/atomics.cpp:147: error: ‘__atomic_fetch_sub’ was not declared in this scope
/home/masaki/nvidia/nvbio/nvbio/basic/atomics.cpp: In function ‘nvbio::uint64 nvbio::host_atomic_sub(nvbio::uint64*, nvbio::uint64)’:
/home/masaki/nvidia/nvbio/nvbio/basic/atomics.cpp:160: error: ‘__ATOMIC_RELAXED’ was not declared in this scope
/home/masaki/nvidia/nvbio/nvbio/basic/atomics.cpp:160: error: ‘__atomic_fetch_sub’ was not declared in this scope
make[2]: *** [nvbio/CMakeFiles/nvbio.dir/basic/atomics.cpp.o] Error 1
make[1]: *** [nvbio/CMakeFiles/nvbio.dir/all] Error 2
make: *** [all] Error 2
My suspicion is that it is because I'm using an older version of gcc. I am, however, running this on a machine that I do not have root permissions. Can anyone confirm my suspicions or provide me with some insight into what I might do?
Thanks!