Trouble with compiling on Ubuntu 14.04

Hi! I can compile Phalcon.so(( File does not generate.

> SSH console: > > Welcome to Ubuntu 14.04 LTS (GNU/Linux 3.13.0-24-generic x8664) > > [email protected]:~/cphalcon/build# sudo ./install > > Warning: Unspecified QEMU CPU model. > > Please consider upgrading QEMU or configuring it to use a specific model. > > find . -name *.gcno -o -name *.gcda | xargs rm -f > > find . -name *.lo -o -name *.o | xargs rm -f > > find . -name *.la -o -name *.a | xargs rm -f > > find . -name *.so | xargs rm -f > > find . -name .libs -a -type d|xargs rm -rf > > rm -f libphp.la modules/* libs/* > > Cleaning.. > > Configuring for: > > PHP Api Version: 20121113 > > Zend Module Api No: 20121212 > > Zend Extension Api No: 220121212 > > checking for grep that handles long lines and -e... /bin/grep > > checking for egrep... /bin/grep -E > > checking for a sed that does not truncate output... /bin/sed > > checking whether the C compiler works... yes > > checking for C compiler default output file name... a.out > > checking for suffix of executables... > > checking whether we are cross compiling... no > > checking for suffix of object files... o > > checking whether we are using the GNU C compiler... yes > > checking whether gcc accepts -g... yes > > checking for gcc option to accept ISO C89... none needed > > checking how to run the C preprocessor... gcc -E > > checking for icc... no > > checking for suncc... no > > checking whether gcc and cc understand -c and -o together... yes > > checking for system library directory... lib > > checking if compiler supports -R... no > > checking if compiler supports -Wl,-rpath,... yes > > checking build system type... x8664-unknown-linux-gnu > > checking host system type... x8664-unknown-linux-gnu > > checking target system type... x8664-unknown-linux-gnu > > checking for PHP prefix... /usr > > checking for PHP includes... -I/usr/include/php5 -I/usr/include/php5/main -I/usr/include/php5/TSRM -I/usr/include/php5/Zend -I/usr/include/php5/ext -I/usr/include/php5/ext/date/lib > > checking for PHP extension directory... /usr/lib/php5/20121212 > > checking for PHP installed headers prefix... /usr/include/php5 > > checking if debug is enabled... no > > checking if zts is enabled... no > > checking for re2c... no > > configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers. > > checking for gawk... gawk > > checking whether to enable phalcon framework... yes, shared > > checking whether byte ordering is bigendian... no > > checking for ext/igbinary/igbinary.h... no > > checking whether HAVEBUNDLEDPCRE is declared... no > > checking whether HAVEJSON is declared... no > > checking whether HAVEPHPSESSION is declared... yes > > checking for ext/session/phpsession.h... yes > > checking whether HAVEHASHEXT is declared... yes > > checking for ext/hash/phphash.h... yes > > checking whether to include code coverage symbols... no > > checking how to print strings... printf > > checking for a sed that does not truncate output... (cached) /bin/sed > > checking for fgrep... /bin/grep -F > > checking for ld used by gcc... /usr/bin/ld > > checking if the linker (/usr/bin/ld) is GNU ld... yes > > checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B > > checking the name lister (/usr/bin/nm -B) interface... BSD nm > > checking whether ln -s works... yes > > checking the maximum length of command line arguments... 1572864 > > checking whether the shell understands some XSI constructs... yes > > checking whether the shell understands "+="... yes > > checking how to convert x8664-unknown-linux-gnu file names to x8664-unknown-linux-gnu format... funcconvertfilenoop > > checking how to convert x8664-unknown-linux-gnu file names to toolchain format... funcconvertfilenoop > > checking for /usr/bin/ld option to reload object files... -r > > checking for objdump... objdump > > checking how to recognize dependent libraries... passall > > checking for dlltool... no > > checking how to associate runtime and link libraries... printf %s\n > > checking for ar... ar > > checking for archiver @FILE support... @ > > checking for strip... strip > > checking for ranlib... ranlib > > checking for gawk... (cached) gawk > > checking command to parse /usr/bin/nm -B output from gcc object... ok > > checking for sysroot... no > > checking for mt... mt > > checking if mt is a manifest tool... no > > checking for ANSI C header files... yes > > checking for sys/types.h... yes > > checking for sys/stat.h... yes > > checking for stdlib.h... yes > > checking for string.h... yes > > checking for memory.h... yes > > checking for strings.h... yes > > checking for inttypes.h... yes > > checking for stdint.h... yes > > checking for unistd.h... yes > > checking for dlfcn.h... yes > > checking for objdir... .libs > > checking if gcc supports -fno-rtti -fno-exceptions... no > > checking for gcc option to produce PIC... -fPIC -DPIC > > checking if gcc PIC flag -fPIC -DPIC works... yes > > checking if gcc static flag -static works... yes > > checking if gcc supports -c -o file.o... yes > > checking if gcc supports -c -o file.o... (cached) yes > > checking whether the gcc linker (/usr/bin/ld -m elfx8664) supports shared libraries... yes > > checking whether -lc should be explicitly linked in... no > > checking dynamic linker characteristics... GNU/Linux ld.so > > checking how to hardcode library paths into programs... immediate > > checking whether stripping libraries is possible... yes > > checking if libtool supports shared libraries... yes > > checking whether to build shared libraries... yes > > checking whether to build static libraries... no > > configure: creating ./config.status > > config.status: creating config.h > > config.status: executing libtool commands > > /bin/bash /root/cphalcon/build/64bits/libtool --mode=compile gcc -I. -I/root/cphalcon/build/64bits -DPHPATOMINC -I/root/cphalcon/build/64bits/include -I/root/cphalcon/build/64bits/main -I/root/cphalcon/build/64bits -I/usr/include/php5 -I/usr/include/php5/main -I/usr/include/php5/TSRM -I/usr/include/php5/Zend -I/usr/include/php5/ext -I/usr/include/php5/ext/date/lib -DPHALCONRELEASE -DHAVECONFIGH -O2 -finline-functions -fomit-frame-pointer -fvisibility=hidden -c /root/cphalcon/build/64bits/phalcon.c -o phalcon.lo > > libtool: compile: gcc -I. -I/root/cphalcon/build/64bits -DPHPATOMINC -I/root/cphalcon/build/64bits/include -I/root/cphalcon/build/64bits/main -I/root/cphalcon/build/64bits -I/usr/include/php5 -I/usr/include/php5/main -I/usr/include/php5/TSRM -I/usr/include/php5/Zend -I/usr/include/php5/ext -I/usr/include/php5/ext/date/lib -DPHALCONRELEASE -DHAVECONFIG_H -O2 -finline-functions -fomit-frame-pointer -fvisibility=hidden -c /root/cphalcon/build/64bits/phalcon.c -fPIC -DPIC -o .libs/phalcon.o

mooooore time...

> gcc: internal compiler error: Killed (program cc1) > Please submit a full bug report, > with preprocessed source if appropriate. > See <file:///usr/share/doc/gcc-4.8/README.Bugs> for instructions. > make: * [phalcon.lo] Error 1



85.1k

This happens because the VPS does not have enough memory to compile Phalcon. Try this to change the GCC limits in the VPS: http://hostingfu.com/article/compiling-with-gcc-on-low-memory-vps



2.5k
edited Jul '14

i created /etc/make.conf with CFLAGS="$CFLAGS --param ggc-min-expand=0 --param ggc-min-heapsize=8192". rebooted the server. but, I get the same result((

server on DigitalOcean, 512MB Ram. I tried to resize to 2GB ram

Do you have a more logs about compiling?



2.5k

Nope. Writes same thing

The link on this thread no longer works, but I was having the same issue as this, and was able to resolve using the answer here:

http://stackoverflow.com/questions/19761226/how-to-compile-ruby-with-rvm-on-a-low-memory-system

Create a temporary 512MB swap file:

sudo mkdir -p /var/cache/swap/
sudo dd if=/dev/zero of=/var/cache/swap/swap0 bs=1M count=512
sudo chmod 0600 /var/cache/swap/swap0
sudo mkswap /var/cache/swap/swap0 
sudo swapon /var/cache/swap/swap0