こんにちは。
nysolっていいよね。
前処理のためにCentOS7にインストールしようとしたんだけど
makeする際によくあるエラーに出くわしたので書き溜め。
g++でのコンパイルエラー
今回コンパイルの際に生じたエラーがこれ。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
libtool: compile: g++ -DPACKAGE_NAME=\"nysol_mcmd\" -DPACKAGE_TARNAME=\"nysol_mcmd\" -DPACKAGE_VERSION=\"3.0\" "-DPACKAGE_STRING=\"nysol_mcmd 3.0\"" -DPACKAGE_BUGREPORT=\"info@nysol.jp\" -DPACKAGE_URL=\"\" -DPACKAGE=\"nysol_mcmd\" -DVERSION=\"3.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_FCNTL_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_TERMIOS_H=1 -DHAVE_UNISTD_H=1 -DHAVE_WCHAR_H=1 -DHAVE_ISASCII=1 -DHAVE_MEMSET=1 -DHAVE_MKDIR=1 -DHAVE_MKFIFO=1 -DHAVE_MODF=1 -DHAVE_SELECT=1 -DHAVE_SETLOCALE=1 -DHAVE_STRCHR=1 -DHAVE_STRERROR=1 -DHAVE_STRSTR=1 -DHAVE_LIBPTHREAD=1 -DHAVE_LIBBOOST_REGEX=1 -DHAVE_LIBBOOST_SYSTEM=1 -DHAVE_LIBBOOST_FILESYSTEM=1 -DJPN_FORMAT=1 -I. -I../ -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DKGLIB_VERSON=\"3:1:0:0\" -DKGMOD_VERSON=\"3:1:0:0\" -I /usr/local/include -g -O2 -MT kgFunction.lo -MD -MP -MF .deps/kgFunction.Tpo -c kgFunction.cpp -fPIC -DPIC -o .libs/kgFunction.o g++: internal compiler error: Killed (program cc1plus) Please submit a full bug report, with preprocessed source if appropriate. See <http://bugzilla.redhat.com/bugzilla> for instructions. make[2]: *** [kgFunction.lo] エラー 1 make[2]: ディレクトリ `/home/user/mcmd/src/kgmod' から出ます make[1]: *** [all-recursive] エラー 1 make[1]: ディレクトリ `/home/user/mcmd/src' から出ます make: *** [all-recursive] エラー 1 |
makeでコンパイルするときに
時々起きる問題の部分は下記の一文です。
1 |
g++: internal compiler error: Killed (program cc1plus) |
internal compiler errorでコンパイルが止まってしまう現象です。
Killedされてしまう原因はメモリ不足
これの原因はメモリ不足です。
確認したけど、これだとダメなのかぁ・・(゜゜)
1 2 3 4 |
$ free -h total used free shared buff/cache available Mem: 3.7G 3.3G 232M 1.4M 205M 235M Swap: 2.0G 634M 1.4G |
解決策
解決策としては、起動しているプロセス等を停止した上で再度makeすれば問題ないはずです。
恒久的な解決策としては、サーバー、マシンのメモリの拡張をしておくのがいいです。
十分なメモリを確保した上でmakeをすることをオススメします。
今日はこれだけです。
またね~〜〜〜〜