[oi-dev] Out of memory when trying to compile icinga2 with gcc6 - problem persists

Marianne Spiller Marianne.Spiller at dfki.de
Mon Jan 14 09:37:42 UTC 2019


Hi all,

nearly 1 year ago I asked the same and was not able to resolve this 
issue…

https://openindiana.org/pipermail/oi-dev/2018-March/005802.html

Now I’m back with a freshly updated hardware host and trying to 
compile icinga2-2.10.2. I made a change in my Makefile: 
`COMPONENT_BUILD_ARGS+= -j1`, but in comparison with the -j4 default the 
only difference are different values when crashing with out of memory. 
RAM consumption nearly 1.9GB when `Building CXX object 
lib/icinga/CMakeFiles/icinga.dir/icinga_unity.cpp.o`, swap leaving 
untouched.

It would be really nice to get some help on this ‘cause I’m stucked 
like I was last year at this point ;)

Cheers,
   Marianne





```
$ uname -a
SunOS zfs-2011 5.11 illumos-9c7c0c4b59 i86pc i386 i86pc

$ ulimit
unlimited

$ swap -lh
swapfile             dev    swaplo   blocks     free
/dev/zvol/dsk/rpool/swap 302,2        4K    31.9G    31.9G

$ prtconf | grep Memory
Memory size: 196495 Megabytes

root at zfs-2011:/scratch/oi-userland/components/sysutils/icinga2# gmake 
sample-manifest
/scratch/oi-userland/tools/userland-fetch  --file 
/scratch/oi-userland/archives/icinga2-2.10.2.tar.gz --url 
https://github.com/Icinga/icinga2/archive/v2.10.2.tar.gz --hash 
sha256:99ab0c511a8a7014b9cf9467fe126d4a369026e9353f6e64c05ae39a15b32ad9
Source /scratch/oi-userland/archives/icinga2-2.10.2.tar.gz...
     validating signature... skipping (no signature URL)
     validating hash... ok
/usr/bin/touch /scratch/oi-userland/archives/icinga2-2.10.2.tar.gz
/bin/rm -f -r 
/scratch/oi-userland/components/sysutils/icinga2/icinga2-2.10.2
/usr/bin/env RUBY_VERSION=2.3 /scratch/oi-userland/tools/userland-unpack 
  /scratch/oi-userland/archives/icinga2-2.10.2.tar.gz
/usr/bin/touch 
/scratch/oi-userland/components/sysutils/icinga2/icinga2-2.10.2/.unpacked
/usr/bin/touch 
/scratch/oi-userland/components/sysutils/icinga2/icinga2-2.10.2/.prep
(/bin/rm -f -rf 
/scratch/oi-userland/components/sysutils/icinga2/build/amd64 ; 
/bin/mkdir -p 
/scratch/oi-userland/components/sysutils/icinga2/build/amd64)
(cd /scratch/oi-userland/components/sysutils/icinga2/build/amd64 ; 
/usr/bin/env CONFIG_SHELL="/bin/bash" CC="/usr/gcc/6/bin/gcc" 
CXX="/usr/gcc/6/bin/g++" F77="/usr/gcc/6/bin/gfortran" 
FC="/usr/gcc/6/bin/gfortran" CFLAGS="-m64 -O3 " CXXFLAGS=" -m64 -O3 " 
FFLAGS=" -m64 -O3 " FCFLAGS="-m64 -O3 " LDFLAGS="-m64" 
PKG_CONFIG_PATH="/usr/lib/amd64/pkgconfig"  \
         cmake -DCMAKE_C_COMPILER:STRING="/usr/gcc/6/bin/gcc" 
-DCMAKE_CXX_COMPILER:STRING="/usr/gcc/6/bin/g++" 
-DCMAKE_Fortran_COMPILER:STRING="/usr/gcc/6/bin/gfortran" 
-DCMAKE_C_FLAGS:STRING="-m64 -O3 " -DCMAKE_CXX_FLAGS:STRING=" -m64 -O3 " 
-DCMAKE_Fortran_FLAGS:STRING="-m64 -O3 " LDFLAGS="-m64" 
PKG_CONFIG_PATH="/usr/lib/amd64/pkgconfig" 
-DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_INSTALL_BINDIR:PATH=bin 
-DCMAKE_INSTALL_LIBDIR:PATH=lib/amd64 -DCMAKE_INSTALL_SBINDIR:PATH=sbin 
-DCMAKE_INSTALL_DATAROOTDIR:PATH=share 
-DCMAKE_INSTALL_DATADIR:PATH=share 
-DCMAKE_INSTALL_INFODIR:PATH=share/info 
-DCMAKE_INSTALL_LOCALEDIR:PATH=share/locale 
-DCMAKE_INSTALL_MANDIR:PATH=share/man 
-DLIBEXEC_INSTALL_DIR="/usr/lib/amd64" 
-DLIB_INSTALL_DIR="/usr/lib/amd64" -DLIB_SUFFIX="/amd64" 
-DCMAKE_INSTALL_PREFIX="/usr" -DICINGA2_GIT_VERSION_INFO=OFF 
-DICINGA2_USER=icinga -DICINGA2_GROUP=icinga 
-DICINGA2_COMMAND_GROUP=icingacmd -DICINGA2_RUNDIR="/var/lib" 
-DCMAKE_INSTALL_SYSCONFDIR="/etc" 
-DICINGA2_SYSCONFIGFILE="/usr/lib/icinga2/icinga2" 
-DCMAKE_INSTALL_LOCALSTATEDIR="/var" 
-DICINGA2_PLUGINDIR="/usr/lib/nagios/plugins" -DICINGA2_UNITY_BUILD=ON 
-DICINGA2_LTO_BUILD=OFF -DUSE_SYSTEMD=OFF 
-DINSTALL_SYSTEMD_SERVICE_AND_INITSCRIPT=OFF -DICINGA2_WITH_CHECKER=ON 
-DICINGA2_WITH_COMPAT=ON -DICINGA2_WITH_DEMO=OFF 
-DICINGA2_WITH_HELLO=OFF -DICINGA2_WITH_LIVESTATUS=ON 
-DICINGA2_WITH_NOTIFICATION=ON -DICINGA2_WITH_PERFDATA=ON 
-DICINGA2_WITH_STUDIO=OFF -DICINGA2_WITH_TESTS=ON 
-DICINGA2_WITH_MYSQL=OFF -DICINGA2_WITH_PGSQL=OFF 
/scratch/oi-userland/components/sysutils/icinga2/icinga2-2.10.2)
-- The C compiler identification is GNU 6.4.0
-- The CXX compiler identification is GNU 6.4.0
-- Check for working C compiler: /usr/gcc/6/bin/gcc
-- Check for working C compiler: /usr/gcc/6/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/gcc/6/bin/g++
-- Check for working CXX compiler: /usr/gcc/6/bin/g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Prefixing in ICINGA2_FULL_PKGDATADIR "share/icinga2" with /usr
-- Prefixing in ICINGA2_FULL_INCLUDEDIR "share/icinga2/include" with 
/usr
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - found
-- Found Threads: TRUE
-- Boost version: 1.64.0
-- Found the following Boost libraries:
--   thread
--   system
--   program_options
--   regex
--   chrono
--   date_time
--   atomic
-- Found OpenSSL: /usr/lib/64/libcrypto.so (found version "1.0.2q")
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.2")
-- Found yajl: /usr/lib/amd64/libyajl.so
-- Found Editline: /usr/lib/64/libedit.so
-- Found Termcap: /lib/64/libtermcap.so
-- Performing Test CXX_INVALID_PCH
-- Performing Test CXX_INVALID_PCH - Success
-- Looking for __COUNTER__
-- Looking for __COUNTER__ - found
-- Looking for vfork
-- Looking for vfork - found
-- Looking for backtrace_symbols
-- Looking for backtrace_symbols - found
-- Looking for pipe2
-- Looking for pipe2 - found
-- Looking for nice
-- Looking for nice - found
-- Looking for dladdr in dl
-- Looking for dladdr in dl - found
-- Looking for backtrace_symbols in execinfo
-- Looking for backtrace_symbols in execinfo - not found
-- Looking for C++ include cxxabi.h
-- Looking for C++ include cxxabi.h - found
-- Performing Test CXX_FEATURE_OVERRIDE
-- Performing Test CXX_FEATURE_OVERRIDE - Success
-- Found BISON: /usr/bin/bison (Required is at least version "2.3.0")
-- Found FLEX: 2.6.4 (Required is at least version "2.5.31")
-- Test 'base' uses the CMake-configurable form of the boost test 
framework - congrats! (Including File: test-runner.cpp)
-- Test 'livestatus' uses the CMake-configurable form of the boost test 
framework - congrats! (Including File: test-runner.cpp)
-- Test 'icinga_checkable' uses the CMake-configurable form of the boost 
test framework - congrats! (Including File: test-runner.cpp)
-- Configuring done
-- Generating done
CMake Warning:
   Manually-specified variables were not used by the project:

     CMAKE_Fortran_COMPILER
     CMAKE_Fortran_FLAGS
     ICINGA2_WITH_DEMO
     ICINGA2_WITH_HELLO
     ICINGA2_WITH_STUDIO
     LIBEXEC_INSTALL_DIR
     LIB_INSTALL_DIR
     LIB_SUFFIX


-- Build files have been written to: 
/scratch/oi-userland/components/sysutils/icinga2/build/amd64
/usr/bin/touch 
/scratch/oi-userland/components/sysutils/icinga2/build/amd64/.configured
(cd /scratch/oi-userland/components/sysutils/icinga2/build/amd64 ; 
/usr/bin/env LD_OPTIONS="-M /usr/lib/ld/map.noexstk -M 
/usr/lib/ld/map.noexdata -M /usr/lib/ld/map.pagealign  " 
LD_EXEC_OPTIONS="-z aslr=disable"  \
         /usr/gnu/bin/make   -j1  \
         )
make[1]: Entering directory 
'/scratch/oi-userland/components/sysutils/icinga2/build/amd64'
make[2]: Entering directory 
'/scratch/oi-userland/components/sysutils/icinga2/build/amd64'
make[3]: Entering directory 
'/scratch/oi-userland/components/sysutils/icinga2/build/amd64'
Scanning dependencies of target mmatch
make[3]: Leaving directory 
'/scratch/oi-userland/components/sysutils/icinga2/build/amd64'
make[3]: Entering directory 
'/scratch/oi-userland/components/sysutils/icinga2/build/amd64'
[  1%] Building C object 
third-party/mmatch/CMakeFiles/mmatch.dir/mmatch.c.o
make[3]: Leaving directory 
'/scratch/oi-userland/components/sysutils/icinga2/build/amd64'
[  1%] Built target mmatch
make[3]: Entering directory 
'/scratch/oi-userland/components/sysutils/icinga2/build/amd64'
Scanning dependencies of target execvpe
make[3]: Leaving directory 
'/scratch/oi-userland/components/sysutils/icinga2/build/amd64'
make[3]: Entering directory 
'/scratch/oi-userland/components/sysutils/icinga2/build/amd64'
[  2%] Building C object 
third-party/execvpe/CMakeFiles/execvpe.dir/execvpe.c.o
/scratch/oi-userland/components/sysutils/icinga2/icinga2-2.10.2/third-party/execvpe/execvpe.c: 
In function 'icinga2_execvpe':
/scratch/oi-userland/components/sysutils/icinga2/icinga2-2.10.2/third-party/execvpe/execvpe.c:96:21: 
warning: implicit declaration of function 'confstr' 
[-Wimplicit-function-declaration]
            pathlen = confstr (_CS_PATH, (char *) NULL, 0);
                      ^~~~~~~
make[3]: Leaving directory 
'/scratch/oi-userland/components/sysutils/icinga2/build/amd64'
[  2%] Built target execvpe
make[3]: Entering directory 
'/scratch/oi-userland/components/sysutils/icinga2/build/amd64'
Scanning dependencies of target socketpair
make[3]: Leaving directory 
'/scratch/oi-userland/components/sysutils/icinga2/build/amd64'
make[3]: Entering directory 
'/scratch/oi-userland/components/sysutils/icinga2/build/amd64'
[  3%] Building C object 
third-party/socketpair/CMakeFiles/socketpair.dir/socketpair.c.o
make[3]: Leaving directory 
'/scratch/oi-userland/components/sysutils/icinga2/build/amd64'
[  3%] Built target socketpair
make[3]: Entering directory 
'/scratch/oi-userland/components/sysutils/icinga2/build/amd64'
[  4%] [FLEX][class_lexer] Building scanner with flex 2.6.4
[  5%] [BISON][class_parser] Building parser with bison 3.0.4
class_parser.yy: warning: 2 shift/reduce conflicts [-Wconflicts-sr]
Scanning dependencies of target mkclass
make[3]: Leaving directory 
'/scratch/oi-userland/components/sysutils/icinga2/build/amd64'
make[3]: Entering directory 
'/scratch/oi-userland/components/sysutils/icinga2/build/amd64'
[  6%] Building CXX object 
tools/mkclass/CMakeFiles/mkclass.dir/mkclass.cpp.o
[  6%] Building CXX object 
tools/mkclass/CMakeFiles/mkclass.dir/classcompiler.cpp.o
[  7%] Building CXX object 
tools/mkclass/CMakeFiles/mkclass.dir/class_lexer.cc.o
[  8%] Building CXX object 
tools/mkclass/CMakeFiles/mkclass.dir/class_parser.cc.o
[  9%] Linking CXX executable ../../Bin/Release/mkclass
make[3]: Leaving directory 
'/scratch/oi-userland/components/sysutils/icinga2/build/amd64'
[  9%] Built target mkclass
make[3]: Entering directory 
'/scratch/oi-userland/components/sysutils/icinga2/build/amd64'
Scanning dependencies of target mkembedconfig
make[3]: Leaving directory 
'/scratch/oi-userland/components/sysutils/icinga2/build/amd64'
make[3]: Entering directory 
'/scratch/oi-userland/components/sysutils/icinga2/build/amd64'
[ 10%] Building C object 
tools/mkembedconfig/CMakeFiles/mkembedconfig.dir/mkembedconfig.c.o
[ 11%] Linking C executable ../../Bin/Release/mkembedconfig
make[3]: Leaving directory 
'/scratch/oi-userland/components/sysutils/icinga2/build/amd64'
[ 11%] Built target mkembedconfig
make[3]: Entering directory 
'/scratch/oi-userland/components/sysutils/icinga2/build/amd64'
Scanning dependencies of target mkunity
make[3]: Leaving directory 
'/scratch/oi-userland/components/sysutils/icinga2/build/amd64'
make[3]: Entering directory 
'/scratch/oi-userland/components/sysutils/icinga2/build/amd64'
[ 12%] Building C object 
tools/mkunity/CMakeFiles/mkunity.dir/mkunity.c.o
[ 13%] Linking C executable ../../Bin/Release/mkunity
make[3]: Leaving directory 
'/scratch/oi-userland/components/sysutils/icinga2/build/amd64'
[ 13%] Built target mkunity
make[3]: Entering directory 
'/scratch/oi-userland/components/sysutils/icinga2/build/amd64'
[ 14%] Generating base_unity.cpp
[ 14%] Generating application-ti.cpp, application-ti.hpp
[ 15%] Generating configobject-ti.cpp, configobject-ti.hpp
[ 16%] Generating configuration-ti.cpp, configuration-ti.hpp
[ 17%] Generating datetime-ti.cpp, datetime-ti.hpp
[ 18%] Generating filelogger-ti.cpp, filelogger-ti.hpp
[ 19%] Generating function-ti.cpp, function-ti.hpp
[ 20%] Generating logger-ti.cpp, logger-ti.hpp
[ 21%] Generating perfdatavalue-ti.cpp, perfdatavalue-ti.hpp
[ 22%] Generating streamlogger-ti.cpp, streamlogger-ti.hpp
[ 23%] Generating sysloglogger-ti.cpp, sysloglogger-ti.hpp
Scanning dependencies of target base
make[3]: Leaving directory 
'/scratch/oi-userland/components/sysutils/icinga2/build/amd64'
make[3]: Entering directory 
'/scratch/oi-userland/components/sysutils/icinga2/build/amd64'
[ 24%] Building CXX object 
lib/base/CMakeFiles/base.dir/application-version.cpp.o
[ 25%] Building CXX object lib/base/CMakeFiles/base.dir/base_unity.cpp.o
make[3]: Leaving directory 
'/scratch/oi-userland/components/sysutils/icinga2/build/amd64'
[ 25%] Built target base
make[3]: Entering directory 
'/scratch/oi-userland/components/sysutils/icinga2/build/amd64'
[ 25%] Generating config_unity.cpp
[ 26%] [BISON][config_parser] Building parser with bison 3.0.4
config_parser.yy: warning: 52 shift/reduce conflicts [-Wconflicts-sr]
config_parser.yy: warning: 101 reduce/reduce conflicts [-Wconflicts-rr]
[ 27%] [FLEX][config_lexer] Building scanner with flex 2.6.4
Scanning dependencies of target config
make[3]: Leaving directory 
'/scratch/oi-userland/components/sysutils/icinga2/build/amd64'
make[3]: Entering directory 
'/scratch/oi-userland/components/sysutils/icinga2/build/amd64'
[ 28%] Building CXX object 
lib/config/CMakeFiles/config.dir/config_lexer.cc.o
[ 29%] Building CXX object 
lib/config/CMakeFiles/config.dir/config_parser.cc.o
[ 30%] Building CXX object 
lib/config/CMakeFiles/config.dir/config_unity.cpp.o
make[3]: Leaving directory 
'/scratch/oi-userland/components/sysutils/icinga2/build/amd64'
[ 30%] Built target config
make[3]: Entering directory 
'/scratch/oi-userland/components/sysutils/icinga2/build/amd64'
[ 31%] Generating remote_unity.cpp
[ 32%] Generating apilistener-ti.cpp, apilistener-ti.hpp
[ 33%] Generating apiuser-ti.cpp, apiuser-ti.hpp
[ 34%] Generating endpoint-ti.cpp, endpoint-ti.hpp
[ 35%] Generating zone-ti.cpp, zone-ti.hpp
Scanning dependencies of target remote
make[3]: Leaving directory 
'/scratch/oi-userland/components/sysutils/icinga2/build/amd64'
make[3]: Entering directory 
'/scratch/oi-userland/components/sysutils/icinga2/build/amd64'
[ 36%] Building CXX object 
lib/remote/CMakeFiles/remote.dir/remote_unity.cpp.o
make[3]: Leaving directory 
'/scratch/oi-userland/components/sysutils/icinga2/build/amd64'
[ 36%] Built target remote
make[3]: Entering directory 
'/scratch/oi-userland/components/sysutils/icinga2/build/amd64'
[ 37%] Generating cli_unity.cpp
Scanning dependencies of target cli
make[3]: Leaving directory 
'/scratch/oi-userland/components/sysutils/icinga2/build/amd64'
make[3]: Entering directory 
'/scratch/oi-userland/components/sysutils/icinga2/build/amd64'
[ 38%] Building CXX object lib/cli/CMakeFiles/cli.dir/cli_unity.cpp.o
make[3]: Leaving directory 
'/scratch/oi-userland/components/sysutils/icinga2/build/amd64'
[ 38%] Built target cli
make[3]: Entering directory 
'/scratch/oi-userland/components/sysutils/icinga2/build/amd64'
[ 39%] Generating icinga_unity.cpp
[ 40%] Generating icinga-itl.cpp
[ 41%] Generating checkable-ti.cpp, checkable-ti.hpp
[ 42%] Generating checkcommand-ti.cpp, checkcommand-ti.hpp
[ 43%] Generating checkresult-ti.cpp, checkresult-ti.hpp
[ 44%] Generating command-ti.cpp, command-ti.hpp
[ 45%] Generating comment-ti.cpp, comment-ti.hpp
[ 46%] Generating customvarobject-ti.cpp, customvarobject-ti.hpp
[ 47%] Generating dependency-ti.cpp, dependency-ti.hpp
[ 48%] Generating downtime-ti.cpp, downtime-ti.hpp
[ 48%] Generating eventcommand-ti.cpp, eventcommand-ti.hpp
[ 49%] Generating host-ti.cpp, host-ti.hpp
[ 50%] Generating hostgroup-ti.cpp, hostgroup-ti.hpp
[ 51%] Generating icingaapplication-ti.cpp, icingaapplication-ti.hpp
[ 52%] Generating notification-ti.cpp, notification-ti.hpp
[ 53%] Generating notificationcommand-ti.cpp, notificationcommand-ti.hpp
[ 54%] Generating scheduleddowntime-ti.cpp, scheduleddowntime-ti.hpp
[ 55%] Generating service-ti.cpp, service-ti.hpp
[ 56%] Generating servicegroup-ti.cpp, servicegroup-ti.hpp
[ 57%] Generating timeperiod-ti.cpp, timeperiod-ti.hpp
[ 58%] Generating user-ti.cpp, user-ti.hpp
[ 59%] Generating usergroup-ti.cpp, usergroup-ti.hpp
Scanning dependencies of target icinga
make[3]: Leaving directory 
'/scratch/oi-userland/components/sysutils/icinga2/build/amd64'
make[3]: Entering directory 
'/scratch/oi-userland/components/sysutils/icinga2/build/amd64'
[ 59%] Building CXX object 
lib/icinga/CMakeFiles/icinga.dir/icinga-itl.cpp.o
[ 60%] Building CXX object 
lib/icinga/CMakeFiles/icinga.dir/icinga_unity.cpp.o

cc1plus: out of memory allocating 2500880 bytes after a total of 
74653696 bytes
make[3]: *** [lib/icinga/CMakeFiles/icinga.dir/build.make:289: 
lib/icinga/CMakeFiles/icinga.dir/icinga_unity.cpp.o] Error 1
make[3]: Leaving directory 
'/scratch/oi-userland/components/sysutils/icinga2/build/amd64'
make[2]: *** [CMakeFiles/Makefile2:1646: 
lib/icinga/CMakeFiles/icinga.dir/all] Error 2
make[2]: Leaving directory 
'/scratch/oi-userland/components/sysutils/icinga2/build/amd64'
make[1]: *** [Makefile:163: all] Error 2
make[1]: Leaving directory 
'/scratch/oi-userland/components/sysutils/icinga2/build/amd64'
gmake: *** [/scratch/oi-userland/make-rules/cmake.mk:179: 
/scratch/oi-userland/components/sysutils/icinga2/build/amd64/.built] 
Error 2
```



_____________________________________________________________________________

Marianne Spiller - Infrastrukturgruppe DFKI - Campus D3.2 - 66123 
Saarbrücken
Phone: (+49) 681 85775-7741
Fax: (+49) 861 85775-5020
Email: Marianne.Spiller at dfki.de

Deutsches Forschungszentrum für Künstliche Intelligenz GmbH,
Trippstadter Strasse 122, D-67663 Kaiserslautern, Germany, www.dfki.de *
Geschäftsführung: Prof. Dr. Dr. h.c. mult. Wolfgang Wahlster (Vors.),
Dr. Walter Olthoff * Vorsitzender des Aufsichtsrats: Prof. Dr. h.c. Hans
A. Aukes * Amtsgericht Kaiserslautern, HRB 2313
_____________________________________________________________________________
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://openindiana.org/pipermail/oi-dev/attachments/20190114/10ad4aec/attachment-0004.html>


More information about the oi-dev mailing list