Open rfvander opened 8 years ago
Weird. These symbols should come from glibc which ought to be linked with any binary you build.
Could you look at /home/rfvander/grappa/share/Grappa/grappa.mk and verify that GRAPPA_CXX is /opt/gcc/4.9.2/bin/g++?
I checked and these are the related symbols in grappa.mk
#############################################################################
#############################################################################
GRAPPA_CXX=/opt/gcc/4.9.2/bin/g++
GRAPPA_CC=/opt/gcc/4.9.2/bin/g++ GRAPPA_LD=/opt/gcc/4.9.2/bin/g++
Super weird. I guess try adding "-lc" to the dynamic section of the libraries in that file as a temporary fix? It should be linked be default, though....
Sure, I’ll try that for now. Thanks.
From: Jacob Nelson [mailto:notifications@github.com] Sent: Friday, April 22, 2016 2:44 PM To: uwsampa/grappa Cc: Van Der Wijngaart, Rob F; Author Subject: Re: [uwsampa/grappa] Cannot build grappa applications (#278)
Super weird. I guess try adding "-lc" to the dynamic section of the libraries in that file as a temporary fix? It should be linked be default, though....
— You are receiving this because you authored the thread. Reply to this email directly or view it on GitHubhttps://github.com/uwsampa/grappa/issues/278#issuecomment-213597798
Sadly, no cigar. See below.
[rfvander@esgmonster Synch_p2p]$ make p2p
/opt/gcc/4.9.2/bin/g++ -O3 -std=c99 -DGRAPPA -DENABLE_RDMA_AGGREGATOR -std=c++11 -Winline -Wno-inline -mno-red-zone -O3 -g -DNDEBUG -I/home/rfvander/grappa/include -I/home/rfvander/grappa/include/Grappa -I/home/rfvander/grappa/include/Grappa/tasks -I/opt/intel/compilers_and_libraries_2016.1.150/linux/mpi/intel64/include -I/usr/local/include -I../../include -c p2p.cpp
cc1plus: warning: command line option ‘-std=c99’ is valid for C/ObjC but not for C++
/opt/gcc/4.9.2/bin/g++ -o p2p -L/home/rfvander/grappa/lib -L/usr/local/lib -L/opt/intel/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib -L/opt/intel/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib/release_mt -L/usr/lib64 -O3 -std=c99 -DGRAPPA p2p.o -Wl,-Bstatic -lGrappa -lglog -lgflags -lgraph500-generator -lboost_system -lboost_filesystem -Wl,-Bdynamic -lmpicxx -lmpifort -lmpi -lmpigi -ldl -lrt -lpthread -lc
/home/rfvander/grappa/lib/libglog.a(libglog_la-utilities.o): In function google::GetStackTrace(void**, int, int)': utilities.cc:(.text+0x70a): undefined reference to
_Ux86_64_getcontext'
utilities.cc:(.text+0x723): undefined reference to _ULx86_64_init_local' utilities.cc:(.text+0x776): undefined reference to
_ULx86_64_get_reg'
utilities.cc:(.text+0x7c6): undefined reference to `_ULx86_64_step'
collect2: error: ld returned 1 exit status
make: *\ [p2p] Error 1
From: Jacob Nelson [mailto:notifications@github.com] Sent: Friday, April 22, 2016 2:44 PM To: uwsampa/grappa Cc: Van Der Wijngaart, Rob F; Author Subject: Re: [uwsampa/grappa] Cannot build grappa applications (#278)
Super weird. I guess try adding "-lc" to the dynamic section of the libraries in that file as a temporary fix? It should be linked be default, though....
— You are receiving this because you authored the thread. Reply to this email directly or view it on GitHubhttps://github.com/uwsampa/grappa/issues/278#issuecomment-213597798
In the original build output, there was a line like:
-- Using {${BASE_C_COMPILER},${BASE_CXX_COMPILER}} to build third-party dependencies (if needed).
What did it say for this build?
I didn't capture that output myself. Does Grappa store it in a log file somewhere?
There's a file CMakeCache.txt in build/Make+Release that has the values of many of these variables; send that to me through email and I'll see if I have any ideas.
It's hard to tell much from the cache file. Try rebuilding with the flags --cc=$(which gcc) --cxx=$(which g++)
. Perhaps it's picking up a different version of g++ when building the library?
Sadly, this did not change anything.
From: Jacob Nelson [mailto:notifications@github.com] Sent: Monday, April 25, 2016 11:20 PM To: uwsampa/grappa Cc: Van Der Wijngaart, Rob F; Author Subject: Re: [uwsampa/grappa] Cannot build grappa applications (#278)
It's hard to tell much from the cache file. Try rebuilding with the flags --cc=$(which gcc) --cxx=$(which g++). Perhaps it's picking up a different version of g++ when building the library?
— You are receiving this because you authored the thread. Reply to this email directly or view it on GitHubhttps://github.com/uwsampa/grappa/issues/278#issuecomment-214627618
This is fixed by adding libunwind to grappa.mk manually, e.g.
# assign to LDLIBS for automatic builds using gmake default implicit rules
GRAPPA_LDLIBS=-Wl,-Bstatic \
-lGrappa \
-lglog \
-lgflags \
-lgraph500-generator \
-lboost_system \
-lboost_filesystem \
-Wl,-Bdynamic \
-lmpicxx \
-lmpifort \
-lmpi \
-lmpigi \
-lunwind-x86_64 -lunwind \
-ldl \
-lpthread \
-lrt
This should not be necessary.
While we are on the subject of linked libraries, why is graph500-generator linked statically with every Grappa program? Do any of the PRKs need to generate Graph500 inputs???
I am facing the same issue. In addition, the way from @jeffhammond didn't work for me. I manually modified the build/Make+Release/util/grappa.mk, but it still generates the same error.
Linking CXX executable hello_world.exe
../../third-party/lib/libglog.a(libglog_la-utilities.o): In function `google::GetStackTrace(void**, int, int)':
utilities.cc:(.text+0x70a): undefined reference to `_Ux86_64_getcontext'
utilities.cc:(.text+0x723): undefined reference to `_ULx86_64_init_local'
utilities.cc:(.text+0x776): undefined reference to `_ULx86_64_get_reg'
utilities.cc:(.text+0x7c6): undefined reference to `_ULx86_64_step'
collect2: error: ld returned 1 exit status
make[3]: *** [applications/demos/hello_world.exe] Error 1
make[2]: *** [applications/demos/CMakeFiles/demo-hello_world.dir/all] Error 2
make[1]: *** [applications/demos/CMakeFiles/demo-hello_world.dir/rule] Error 2
make: *** [demo-hello_world] Error 2
When I was trying to compile grappa's applications, I got a HTTP 404 Not Found. It seems the link is dead. Any ideas will be appreciated.
My working env: ubuntu14.04.3 gcc version 4.8.4
$ cd build/Make+Release $ make
(...omitted...) gcc.archive bin.v2/libs/test/build/gcc-4.8/release/link-static/threading-multi/libboost_unit_test_framework.a common.copy /home/jack/grappa/grappa/build/Make+Release/third-party/lib/libboost_unit_test_framework.a ...updated 10708 targets... [ 5%] No install step for 'third-party-boost' [ 5%] Completed 'third-party-boost' [ 8%] Built target third-party-boost [ 8%] Performing download step (download, verify and extract) for 'third-party-gflags' -- downloading... src='http://gflags.googlecode.com/files/gflags-2.0-no-svn-files.tar.gz' dst='/home/jack/grappa/grappa/build/Make+Release/third-party/build/gflags/src/gflags-2.0-no-svn-files.tar.gz' timeout='none' CMake Error at /home/jack/grappa/grappa/build/Make+Release/third-party/build/stamps/gflags/download-third-party-gflags.cmake:22 (message): error: downloading 'http://gflags.googlecode.com/files/gflags-2.0-no-svn-files.tar.gz' failed
status_code: 22
status_string: "HTTP response code said error"
log: Hostname was NOT found in DNS cache
Trying 173.194.205.82...
Connected to gflags.googlecode.com (173.194.205.82) port 80 (#0)
GET /files/gflags-2.0-no-svn-files.tar.gz HTTP/1.1
User-Agent: curl/7.35.0
Host: gflags.googlecode.com
Accept: /
The requested URL returned error: 404 Not Found
Closing connection 0
make[2]: * [third-party/build/stamps/gflags/third-party-gflags-download] Error 1 make[1]: * [third-party/CMakeFiles/third-party-gflags.dir/all] Error 2 make: *\ [all] Error 2 root@Jack-desktop:/home/jack/grappa/grappa/build/Make+Release# root@Jack-desktop:/home/jack/grappa/grappa/build/Make+Release#
@JackChuang See https://github.com/uwsampa/grappa/issues/199.
@jeffhammond
Thank you Jeff. I’ve fixed it. Instead of using --no-downloads flag, I used --third-party-tarfile=
Hi all, After successfully compiling and running demo-hello_world.exe, I’m now trying to run the benchmarks in the paper. I’m able to compile the demo-hello_world.exe with “make demo-hello_world.exe”. However, I cannot compile MapReduce_tests.exe and pagerank.exe by using the same way. I've also tried using docker. It could not work as well. Any help will be appreciated.
My steps and results are as follows:
_[ 7%] Built target graph500-generator [ 7%] Built target all-third-party [ 10%] Built target queryio [ 81%] Built target Grappa [ 86%] Built target generator [ 86%] Building CXX object applications/join/CMakeFiles/querylib.dir/HashJoin.cpp.o In file included from /home/jack/grappa/grappa/applications/join/HashJoin.cpp:1:0: /home/jack/grappa/grappa/applications/join/HashJoin.hpp: In lambda function: /home/jack/grappa/grappa/applications/join/HashJoin.hpp:104:44: error: ‘combine’ was not declared in this scope reducer.result->push_back( combine<OutType,VL,VR>(_left_it,_right_it) ); ^ /home/jack/grappa/grappa/applications/join/HashJoin.hpp:104:59: error: expected primary-expression before ‘,’ token reducer.result->push_back( combine<OutType,VL,VR>(_left_it,_right_it) ); ^ /home/jack/grappa/grappa/applications/join/HashJoin.hpp:104:62: error: expected primary-expression before ‘,’ token reducer.result->push_back( combine<OutType,VL,VR>(_left_it,_right_it) ); ^ /home/jack/grappa/grappa/applications/join/HashJoin.hpp:104:65: error: expected primary-expression before ‘>’ token reducer.result->push_back( combine<OutType,VL,VR>(_left_it,_right_it) ); ^ make[3]: * [applications/join/CMakeFiles/querylib.dir/HashJoin.cpp.o] Error 1 make[2]: * [applications/join/CMakeFiles/querylib.dir/all] Error 2 make[1]: * [applications/join/CMakeFiles/MapReduce_tests.exe.dir/rule] Error 2 make: * [MapReducetests.exe] Error 2
I downloaded the latest version of grappa and am trying to build it using the instructions in build.md, but I am experiencing trouble. My environment is listed below. [rfvander@esgmonster grappa-source]$ ruby -v ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-linux] [rfvander@esgmonster grappa-source]$ cmake -version cmake version 2.8.12.2 [rfvander@esgmonster grappa-source]$ gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/opt/gcc/4.9.2/libexec/gcc/x86_64-unknown-linux-gnu/4.9.2/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: /home/jrhammon/Work/GCC/gcc-4.9.2/configure --disable-multilib --enable-threads=posix --enable-checking=release --enable-__cxa_atexit --enable-languages=c,c++,fortran --with-tune=native --enable-bootstrap --enable-lto --prefix=/opt/gcc/4.9.2 --with-isl --with-cloog Thread model: posix gcc version 4.9.2 (GCC) [rfvander@esgmonster Synch_p2p]$ g++ -v Using built-in specs. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=/opt/gcc/4.9.2/libexec/gcc/x86_64-unknown-linux-gnu/4.9.2/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: /home/jrhammon/Work/GCC/gcc-4.9.2/configure --disable-multilib --enable-threads=posix --enable-checking=release --enable-cxa_atexit --enable-languages=c,c++,fortran --with-tune=native --enable-bootstrap --enable-lto --prefix=/opt/gcc/4.9.2 --with-isl --with-cloog Thread model: posix gcc version 4.9.2 (GCC) [rfvander@esgmonster grappa-source]$ mpicc -v mpigcc for the Intel(R) MPI Library 5.1.2 for Linux* Copyright(C) 2003-2015, Intel Corporation. All rights reserved. Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/opt/gcc/4.9.2/libexec/gcc/x86_64-unknown-linux-gnu/4.9.2/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: /home/jrhammon/Work/GCC/gcc-4.9.2/configure --disable-multilib --enable-threads=posix --enable-checking=release --enable-cxa_atexit --enable-languages=c,c++,fortran --with-tune=native --enable-bootstrap --enable-lto --prefix=/opt/gcc/4.9.2 --with-isl --with-cloog Thread model: posix gcc version 4.9.2 (GCC) [rfvander@esgmonster grappa-source]$ mpicxx -v mpigxx for the Intel(R) MPI Library 5.1.2 for Linux* Copyright(C) 2003-2015, Intel Corporation. All rights reserved. Using built-in specs. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=/opt/gcc/4.9.2/libexec/gcc/x86_64-unknown-linux-gnu/4.9.2/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: /home/jrhammon/Work/GCC/gcc-4.9.2/configure --disable-multilib --enable-threads=posix --enable-checking=release --enable-__cxa_atexit --enable-languages=c,c++,fortran --with-tune=native --enable-bootstrap --enable-lto --prefix=/opt/gcc/4.9.2 --with-isl --with-cloog Thread model: posix gcc version 4.9.2 (GCC)
When I now follow your instructions and try to build grappa, this is what happens (no errors reported when building grappa itself) \rm -rf build ./configure --prefix=~/grappa --cc=gcc --cxx=g++ cd build/Make+Release/ make make install source /home/rfvander/grappa/bin/settings.sh cd ~/esg-prk-devel/GRAPPA/Synch_p2p [rfvander@esgmonster Synch_p2p]$ make p2p
/opt/gcc/4.9.2/bin/g++ -O3 -std=c99 -DGRAPPA -DENABLE_RDMA_AGGREGATOR -std=c++11 -Winline -Wno-inline -mno-red-zone -O3 -g -DNDEBUG -I/home/rfvander/grappa/include -I/home/rfvander/grappa/include/Grappa -I/home/rfvander/grappa/include/Grappa/tasks -I/opt/intel/compilers_and_libraries_2016.1.150/linux/mpi/intel64/include -I/usr/local/include -I../../include -c p2p.cpp cc1plus: warning: command line option ‘-std=c99’ is valid for C/ObjC but not for C++ /opt/gcc/4.9.2/bin/g++ -o p2p -L/home/rfvander/grappa/lib -L/usr/local/lib -L/opt/intel/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib -L/opt/intel/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib/release_mt -L/usr/lib64 -O3 -std=c99 -DGRAPPA p2p.o -Wl,-Bstatic -lGrappa -lglog -lgflags -lgraph500-generator -lboost_system -lboost_filesystem -Wl,-Bdynamic -lmpicxx -lmpifort -lmpi -lmpigi -ldl -lrt -lpthread /home/rfvander/grappa/lib/libglog.a(libglog_la-utilities.o): In function
google::GetStackTrace(void**, int, int)': utilities.cc:(.text+0x70a): undefined reference to
_Ux86_64_getcontext' utilities.cc:(.text+0x723): undefined reference to_ULx86_64_init_local' utilities.cc:(.text+0x776): undefined reference to
_ULx86_64_get_reg' utilities.cc:(.text+0x7c6): undefined reference to `_ULx86_64_step' collect2: error: ld returned 1 exit status make: *\ [p2p] Error 1