I tested Ceph 0.93 ebuild from xmw overlay. I just wanted to tell you that it worked for me, after increasing Memory from 2GB to 4GB for compilation. With only 2GB, I get this: libtool: compile: x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -D__CEPH__ -D_FILE_OFFSET_BITS=64 -D_REENTRANT -D_THREAD_SAFE -D__STDC_FORMAT_MACROS -D_GNU_SOURCE -DCEPH_LIBDIR=\"/usr/lib64\" -DCEPH_PKGLIBDIR=\"/usr/lib64/ceph\" -DGTEST_HAS_TR1_TUPLE=0 -I/usr/include/nss -I/usr/include/nspr -Wall -Wtype-limits -Wignored-qualifiers -Winit-self -Wpointer-arith -Werror=format-security -fno-strict-aliasing -fsigned-char -rdynamic -ftemplate-depth-1024 -Wnon-virtual-dtor -Wno-invalid-offsetof -Wstrict-null-sentinel -O2 -pipe -march=core2 -fomit-frame-pointer -c mon/PaxosService.cc -fPIC -DPIC -o mon/.libs/PaxosService.o /bin/sh ../libtool --tag=CXX --mode=compile x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -D__CEPH__ -D_FILE_OFFSET_BITS=64 -D_REENTRANT -D_THREAD_SAFE -D__STDC_FORMAT_MACROS -D_GNU_SOURCE -DCEPH_LIBDIR=\"/usr/lib64\" -DCEPH_PKGLIBDIR=\"/usr/lib64/ceph\" -DGTEST_HAS_TR1_TUPLE=0 -I/usr/include/nss -I/usr/include/nspr -Wall -Wtype-limits -Wignored-qualifiers -Winit-self -Wpointer-arith -Werror=format-security -fno-strict-aliasing -fsigned-char -rdynamic -ftemplate-depth-1024 -Wnon-virtual-dtor -Wno-invalid-offsetof -Wstrict-null-sentinel -O2 -pipe -march=core2 -fomit-frame-pointer -c -o mon/OSDMonitor.lo mon/OSDMonitor.cc libtool: compile: x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -D__CEPH__ -D_FILE_OFFSET_BITS=64 -D_REENTRANT -D_THREAD_SAFE -D__STDC_FORMAT_MACROS -D_GNU_SOURCE -DCEPH_LIBDIR=\"/usr/lib64\" -DCEPH_PKGLIBDIR=\"/usr/lib64/ceph\" -DGTEST_HAS_TR1_TUPLE=0 -I/usr/include/nss -I/usr/include/nspr -Wall -Wtype-limits -Wignored-qualifiers -Winit-self -Wpointer-arith -Werror=format-security -fno-strict-aliasing -fsigned-char -rdynamic -ftemplate-depth-1024 -Wnon-virtual-dtor -Wno-invalid-offsetof -Wstrict-null-sentinel -O2 -pipe -march=core2 -fomit-frame-pointer -c mon/OSDMonitor.cc -fPIC -DPIC -o mon/.libs/OSDMonitor.o /bin/sh ../libtool --tag=CXX --mode=compile x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -D__CEPH__ -D_FILE_OFFSET_BITS=64 -D_REENTRANT -D_THREAD_SAFE -D__STDC_FORMAT_MACROS -D_GNU_SOURCE -DCEPH_LIBDIR=\"/usr/lib64\" -DCEPH_PKGLIBDIR=\"/usr/lib64/ceph\" -DGTEST_HAS_TR1_TUPLE=0 -I/usr/include/nss -I/usr/include/nspr -Wall -Wtype-limits -Wignored-qualifiers -Winit-self -Wpointer-arith -Werror=format-security -fno-strict-aliasing -fsigned-char -rdynamic -ftemplate-depth-1024 -Wnon-virtual-dtor -Wno-invalid-offsetof -Wstrict-null-sentinel -O2 -pipe -march=core2 -fomit-frame-pointer -c -o mon/MDSMonitor.lo mon/MDSMonitor.cc libtool: compile: x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -D__CEPH__ -D_FILE_OFFSET_BITS=64 -D_REENTRANT -D_THREAD_SAFE -D__STDC_FORMAT_MACROS -D_GNU_SOURCE -DCEPH_LIBDIR=\"/usr/lib64\" -DCEPH_PKGLIBDIR=\"/usr/lib64/ceph\" -DGTEST_HAS_TR1_TUPLE=0 -I/usr/include/nss -I/usr/include/nspr -Wall -Wtype-limits -Wignored-qualifiers -Winit-self -Wpointer-arith -Werror=format-security -fno-strict-aliasing -fsigned-char -rdynamic -ftemplate-depth-1024 -Wnon-virtual-dtor -Wno-invalid-offsetof -Wstrict-null-sentinel -O2 -pipe -march=core2 -fomit-frame-pointer -c mon/MDSMonitor.cc -fPIC -DPIC -o mon/.libs/MDSMonitor.o /bin/sh ../libtool --tag=CXX --mode=compile x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -D__CEPH__ -D_FILE_OFFSET_BITS=64 -D_REENTRANT -D_THREAD_SAFE -D__STDC_FORMAT_MACROS -D_GNU_SOURCE -DCEPH_LIBDIR=\"/usr/lib64\" -DCEPH_PKGLIBDIR=\"/usr/lib64/ceph\" -DGTEST_HAS_TR1_TUPLE=0 -I/usr/include/nss -I/usr/include/nspr -Wall -Wtype-limits -Wignored-qualifiers -Winit-self -Wpointer-arith -Werror=format-security -fno-strict-aliasing -fsigned-char -rdynamic -ftemplate-depth-1024 -Wnon-virtual-dtor -Wno-invalid-offsetof -Wstrict-null-sentinel -O2 -pipe -march=core2 -fomit-frame-pointer -c -o mon/MonmapMonitor.lo mon/MonmapMonitor.cc libtool: compile: x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -D__CEPH__ -D_FILE_OFFSET_BITS=64 -D_REENTRANT -D_THREAD_SAFE -D__STDC_FORMAT_MACROS -D_GNU_SOURCE -DCEPH_LIBDIR=\"/usr/lib64\" -DCEPH_PKGLIBDIR=\"/usr/lib64/ceph\" -DGTEST_HAS_TR1_TUPLE=0 -I/usr/include/nss -I/usr/include/nspr -Wall -Wtype-limits -Wignored-qualifiers -Winit-self -Wpointer-arith -Werror=format-security -fno-strict-aliasing -fsigned-char -rdynamic -ftemplate-depth-1024 -Wnon-virtual-dtor -Wno-invalid-offsetof -Wstrict-null-sentinel -O2 -pipe -march=core2 -fomit-frame-pointer -c mon/MonmapMonitor.cc -fPIC -DPIC -o mon/.libs/MonmapMonitor.o {standard input}: Assembler messages: {standard input}:75835: Warning: end of file not at end of a line; newline inserted {standard input}:75862: Error: expecting operand after ','; got nothing {standard input}: Error: open CFI at the end of file; missing .cfi_endproc directive x86_64-pc-linux-gnu-g++: internal compiler error: Killed (program cc1plus) Please submit a full bug report, with preprocessed source if appropriate. See <https://bugs.gentoo.org/> for instructions. Makefile:14633: recipe for target 'mon/Monitor.lo' failed make[3]: *** [mon/Monitor.lo] Error 1 make[3]: *** Waiting for unfinished jobs.... make[3]: Leaving directory '/backup/tmp/portage/sys-cluster/ceph-0.93/work/ceph-0.93/src' Makefile:19039: recipe for target 'all-recursive' failed make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory '/backup/tmp/portage/sys-cluster/ceph-0.93/work/ceph-0.93/src' Makefile:7492: recipe for target 'all' failed make[1]: *** [all] Error 2 make[1]: Leaving directory '/backup/tmp/portage/sys-cluster/ceph-0.93/work/ceph-0.93/src' Makefile:464: recipe for target 'all-recursive' failed make: *** [all-recursive] Error 1 * ERROR: sys-cluster/ceph-0.93::xmw failed (compile phase): * emake failed * * If you need support, post the output of `emerge --info '=sys-cluster/ceph-0.93::xmw'`, * the complete build log and the output of `emerge -pqv '=sys-cluster/ceph-0.93::xmw'`. * The complete build log is located at '/backup/tmp/portage/sys-cluster/ceph-0.93/temp/build.log'. * The ebuild environment file is located at '/backup/tmp/portage/sys-cluster/ceph-0.93/temp/environment'. * Working directory: '/backup/tmp/portage/sys-cluster/ceph-0.93/work/ceph-0.93' * S: '/backup/tmp/portage/sys-cluster/ceph-0.93/work/ceph-0.93' >>> Failed to emerge sys-cluster/ceph-0.93, Log file:
yes, ceph compilation consume *a lot* memory, buy yourself more memory certainly a good solution. another approach may ease the memory pressure, but surely not the final solution, 1) reduce parallel compilation job (MAKEOPTS=“-j1") 2) using zswap (I'm testing with this) I'll simply leave bug open, mark as "WONFIX", bother ceph upstream please!
just report back 2G mem + 2G swap + zswap enabled with max_pool_percent=50, build ceph-0.93 successfully.
Yep, the system I was using had no swap.
ceph ~0.93 is in portage now. ~0.94 has been release, so this is a version bump request to 0.94 for ceph
commit 81b71577c7605a71abde5dbfb15a0174e1aed12a Author: Michael Weber <michael@xmw.de> Date: Tue Aug 11 11:35:00 2015 +0200 sys-cluster/ceph: superseeded in tree. sys-cluster/ceph/ChangeLog sys-cluster/ceph/Manifest sys-cluster/ceph/ceph-0.93.ebuild sys-cluster/ceph/files/README.gentoo sys-cluster/ceph/files/ceph-0.79-libzfs.patch sys-cluster/ceph/files/ceph-0.87.1-stdint.patch sys-cluster/ceph/files/ceph.confd-r1 sys-cluster/ceph/files/ceph.initd-r1 sys-cluster/ceph/files/ceph.logrotate sys-cluster/ceph/metadata.xml