Can't Compile NVBIO

476 views
Skip to first unread message

Stanley Fujimoto

unread,
Feb 9, 2015, 8:40:25 PM2/9/15
to nvbio...@googlegroups.com
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! 

Nuno Subtil

unread,
Feb 9, 2015, 8:47:24 PM2/9/15
to Stanley Fujimoto, nvbio...@googlegroups.com
We’ve seen similar errors before, they are indeed caused by using a version of gcc that is too old.

You’ll need a newer version of gcc to compile nvbio — we’ve been using 4.9 internally, although I believe 4.6 and above should work.

Nuno

--
You received this message because you are subscribed to the Google Groups "nvbio-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nvbio-users...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

This email message is for the sole use of the intended recipient(s) and may contain confidential information.  Any unauthorized review, use, disclosure or distribution is prohibited.  If you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message.

Stanley Fujimoto

unread,
Feb 10, 2015, 7:54:01 PM2/10/15
to nvbio...@googlegroups.com, sfuj...@gmail.com
Thanks so much for the quick response! I really appreciate it.

Richard Casey

unread,
Mar 6, 2015, 8:57:41 PM3/6/15
to nvbio...@googlegroups.com, sfuj...@gmail.com
We're using gcc v.4.9.2 but get exactly the same error messages in the same file.  Not sure what to do next.

M. Stanley Fujimoto

unread,
Mar 6, 2015, 9:10:15 PM3/6/15
to Richard Casey, nvbio...@googlegroups.com
I found success using gcc 4.7.2 with cuda 6.5.14.
--
Stanley Fujimoto
Computational Science Laboratory
Brigham Young University
sfuj...@gmail.com

W Langdon

unread,
Mar 14, 2015, 1:33:28 PM3/14/15
to nvbio...@googlegroups.com, sfuj...@gmail.com
May be check paths etc.
Errors relate to feature added to gcc in (about) gcc 4.7, which suggests you
are picking up include files from an older version of gcc. As already posted,
we also (eventually) got nvBIO to compile with gcc 4.7.2
Bill

Stanley Fujimoto

unread,
Mar 14, 2015, 5:36:17 PM3/14/15
to nvbio...@googlegroups.com, sfuj...@gmail.com
you might also make sure that you're environment variables are correct. i needed to have CC and CXX set. i have the following lines in my .bashrc:

export CC=/apps/gcc/4.7.2/bin/gcc
export CXX=/apps/gcc/4.7.2/bin/g++

Richard Casey

unread,
Mar 15, 2015, 9:32:05 AM3/15/15
to nvbio...@googlegroups.com, sfuj...@gmail.com
We had luck compiling on Ubuntu v.14.04 with gcc v.4.8 and cuda v.6.5 and set CC/CXX env vars.  Running well now.
Reply all
Reply to author
Forward
0 new messages