Closed scottslewis closed 6 years ago
Ken left comment:
Well, the nature of the problem is pretty obvious! This is either Sagar’s error (the P2P query stuff is his), or perhaps Edward changed the type of the size getter for the view?
Ken
I am unable to reproduce this bug on my Ubuntu x64 system with g++ 5.4. I cloned a fresh copy of Derecho into a new directory, used cmake and make, and got the attached output (I saved it to a file to avoid making an excessively long post). build-output.txt
Hi Ed. Thanks for attempting to reproduce. I tried again with c++ and got a similar (internal) compiler error. I suspect what's happening is that this system is somewhat memory limited, and it might be running out of mem at that point in build.
I'll experiment a bit more on this system, and attempt to get access to a less memory-limited system. I'll close this issue now but as I figure out what's going on on this system or successfully build on some other system I'll notify on this issue what was necessary.
Sorry about the head fake and thanks again for checking.
Some more information: If I I change line 99 from:
int my_rank;
to
unsigned int my_rank;
I do not get the warning given here:
/home/slewis/git/derecho-unified/derecho/experiments/p2p_query_test.cpp:100:30: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for(my_rank = 0; my_rank < members.size(); ++my_rank) {
^
But on my system I still get the internal compiler error. So it seems that this warning has nothing to do with the subsequent compiler error.
Before I focus on some other system, here's the output of gcc -v and c++ -v on this system, in case it ends up being helpful
slewis@ecf-services:~/git/derecho-unified/derecho/experiments$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.4.0-6ubuntu1~16.04.9' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.9)
Ouptut of c++ -v
slewis@ecf-services:~/git/derecho-unified/derecho/experiments$ c++ -v
Using built-in specs.
COLLECT_GCC=c++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.4.0-6ubuntu1~16.04.9' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.9)
I believe you are correct regarding g++'s internal error; Derecho can take a large amount of RAM to compile (nearly a gigabyte for a big cooked example). Template expansion is not kind. Given my make options, a full Derecho build on my machine consumes about 3GB of ram.
I was able to install the prerequisites on an Ubuntu x64 machine I have access to, and using cmake/g++ I got the following output: