Reputation: 467
I'm trying to build Apache Mesos 1.1.0 following the getting started guide.
Everything including the configure script seem ok to me, but I'm having an error when building it. I am using Ubuntu 16.04 64 bits, and java-1.8.0-openjdk-amd64. I'm also using the stable tar.gz source file instead of git as recommended.
Below is the error message from make:
/bin/bash ../libtool --tag=CC --tag=CXX --mode=link gcc -g1 -O0 -Wno-unused-local-typedefs -release 1.1.0 -o libmesos.la -rpath /usr/local/lib libmesos_no_3rdparty.la ../3rdparty/glog-0.3.3/libglog.la ../3rdparty/leveldb-1.4/libleveldb.a ../3rdparty/libprocess/libprocess.la ../3rdparty/protobuf-2.6.1/src/libprotobuf.la ../3rdparty/zookeeper-3.4.8/src/c/libzookeeper_mt.la -lsvn_subr-1 -lsvn_delta-1 -lapr-1 libjava.la -lz -lsvn_delta-1 -lsvn_subr-1 -lsasl2 -lcurl -lapr-1 -lz -lrt
*** Warning: Linking the shared library libmesos.la against the
*** static library ../3rdparty/leveldb-1.4/libleveldb.a is not portable!
libtool: link: rm -fr .libs/libmesos-1.1.0.so
libtool: link: g++ -fPIC -DPIC -shared -nostdlib /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/5/crtbeginS.o -Wl,--whole-archive ./.libs/libmesos_no_3rdparty.a ../3rdparty/libprocess/.libs/libprocess.a ./.libs/libjava.a -Wl,--no-whole-archive ../3rdparty/glog-0.3.3/.libs/libglog.a ../3rdparty/leveldb-1.4/libleveldb.a /opt/mesos-1.1.0/build/3rdparty/glog-0.3.3/.libs/libglog.a /opt/mesos-1.1.0/build/3rdparty/libev-4.22/.libs/libev.a ../3rdparty/protobuf-2.6.1/src/.libs/libprotobuf.a ../3rdparty/zookeeper-3.4.8/src/c/.libs/libzookeeper_mt.a -lpthread /usr/lib/x86_64-linux-gnu/libsvn_delta-1.so /usr/lib/x86_64-linux-gnu/libsvn_subr-1.so -lsasl2 /usr/lib/x86_64-linux-gnu/libcurl-nss.so /usr/lib/x86_64-linux-gnu/libapr-1.so -lz -lrt -L/usr/lib/gcc/x86_64-linux-gnu/5 -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/5/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/x86_64-linux-gnu/5/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crtn.o -g1 -O0 -pthread -Wl,-soname -Wl,libmesos-1.1.0.so -o .libs/libmesos-1.1.0.so
collect2: fatal error: ld terminated with signal 9 [Killed]
compilation terminated.
Makefile:3594: recipe for target 'libmesos.la' failed
make[2]: *** [libmesos.la] Error 1
make[2]: Leaving directory '/opt/mesos-1.1.0/build/src'
Makefile:3320: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/opt/mesos-1.1.0/build/src'
Makefile:762: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1
Any idea why I'm getting this? Thanks.
Upvotes: 2
Views: 641
Reputation: 398
This typically means that compiling Mesos required too much memory; the kernel ran out of memory and then the OOM killer happened to pick the linker process to terminate via SIGKILL.
Try either installing more RAM or increasing the amount of swap space available.
Upvotes: 3