Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compiling grappa with gcc 4.8.3 #273

Open
alexfrolov opened this issue Feb 27, 2016 · 3 comments
Open

Compiling grappa with gcc 4.8.3 #273

alexfrolov opened this issue Feb 27, 2016 · 3 comments

Comments

@alexfrolov
Copy link
Contributor

Hi, guys!

I've got a problem with compiling Grappa with gcc 4.8.3. Here is the output:
[ 96%] Building CXX object applications/nativegraph/bfs/CMakeFiles/bfs_spmd.exe.dir/bfs_spmd.cpp.o cd /mnt/lustre/home/frolo/grappa.master/build/Make+Release/applications/nativegraph/bfs && /usr/bin/gcc-4.8 -DENABLE_RDMA_AGGREGATOR -std=c++11 -Winline -Wno-inline -mno-red-zone -O3 -g -DNDEBUG -I/mnt/lustre/home/frolo/grappa.master/build/Make+Release/third-party/include -I/opt/mpich3/include -I/include -I/home/frolo/local/include -I/mnt/lustre/home/frolo/grappa.master/third-party/graph500-generator -I/home/frolo/local/boost_1_59_0/include -I/mnt/lustre/home/frolo/grappa.master/system -I/mnt/lustre/home/frolo/grappa.master/system/tasks -o CMakeFiles/bfs_spmd.exe.dir/bfs_spmd.cpp.o -c /mnt/lustre/home/frolo/grappa.master/applications/nativegraph/bfs/bfs_spmd.cpp /mnt/lustre/home/frolo/grappa.master/applications/nativegraph/bfs/bfs_spmd.cpp: In lambda function: /mnt/lustre/home/frolo/grappa.master/applications/nativegraph/bfs/bfs_spmd.cpp:144:12: error: ‘Grappa::async’ is not a valid template argument because ‘Grappa::async’ is a variable, not the address of a variable }); ^ /mnt/lustre/home/frolo/grappa.master/applications/nativegraph/bfs/bfs_spmd.cpp:144:12: error: ‘Grappa::async’ is not a valid template argument because ‘Grappa::async’ is a variable, not the address of a variable /mnt/lustre/home/frolo/grappa.master/applications/nativegraph/bfs/bfs_spmd.cpp:144:12: error: ‘Grappa::async’ is not a valid template argument because ‘Grappa::async’ is a variable, not the address of a variable /mnt/lustre/home/frolo/grappa.master/applications/nativegraph/bfs/bfs_spmd.cpp:144:12: error: ‘Grappa::async’ is not a valid template argument because ‘Grappa::async’ is a variable, not the address of a variable /mnt/lustre/home/frolo/grappa.master/applications/nativegraph/bfs/bfs_spmd.cpp:144:12: error: ‘Grappa::async’ is not a valid template argument because ‘Grappa::async’ is a variable, not the address of a variable /mnt/lustre/home/frolo/grappa.master/applications/nativegraph/bfs/bfs_spmd.cpp:144:12: error: ‘Grappa::async’ is not a valid template argument because ‘Grappa::async’ is a variable, not the address of a variable /mnt/lustre/home/frolo/grappa.master/applications/nativegraph/bfs/bfs_spmd.cpp:144:12: error: ‘Grappa::async’ is not a valid template argument because ‘Grappa::async’ is a variable, not the address of a variable /mnt/lustre/home/frolo/grappa.master/applications/nativegraph/bfs/bfs_spmd.cpp:144:12: error: ‘Grappa::async’ is not a valid template argument because ‘Grappa::async’ is a variable, not the address of a variable /mnt/lustre/home/frolo/grappa.master/applications/nativegraph/bfs/bfs_spmd.cpp:144:12: error: ‘Grappa::async’ is not a valid template argument because ‘Grappa::async’ is a variable, not the address of a variable /mnt/lustre/home/frolo/grappa.master/applications/nativegraph/bfs/bfs_spmd.cpp:144:12: error: ‘Grappa::async’ is not a valid template argument because ‘Grappa::async’ is a variable, not the address of a variable make[3]: *** [applications/nativegraph/bfs/CMakeFiles/bfs_spmd.exe.dir/bfs_spmd.cpp.o] Error 1 make[3]: Leaving directory/mnt/lustre/home/frolo/grappa.master/build/Make+Release'
make[2]: *** [applications/nativegraph/bfs/CMakeFiles/bfs_spmd.exe.dir/all] Error 2
make[2]: Leaving directory /mnt/lustre/home/frolo/grappa.master/build/Make+Release' make[1]: *** [applications/nativegraph/bfs/CMakeFiles/bfs_spmd.exe.dir/rule] Error 2 make[1]: Leaving directory/mnt/lustre/home/frolo/grappa.master/build/Make+Release'
make: *** [bfs_spmd.exe] Error 2
`
Is it a problem of the compiler? Whis version of gcc is best to use?

Best,
Alex

@bmyerz
Copy link
Member

bmyerz commented Feb 27, 2016

I replicated error this on 4.8 but not 4.9. My guess is commit 618aafb caused a regression on this application for gcc4.8.

If you don't want to change compilers, one short term fix is to change uses of the abbreviation async to the full name SyncMode::Async

@nelsonje
Copy link
Member

Yes, we changed "async" from a macro to a variable to avoid name conflicts with some other software we were integrating with, and apparently didn't test extensively enough. You can change the code to use the full name "Grappa::SyncMode::Async", or possibly change the definition in Grappa.hpp to be constexpr instead of const. I'd prefer the latter, if it works. If so, maybe you want to send a pull request? If not, we'll get it cleaned up.

@alexfrolov
Copy link
Contributor Author

I dont mind to pull request it in a couple of days :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants