The free command returned the following details. Does this mean the system has no SWAP ??
total used free shared buffers cached Mem: 1029884 440069 589016 0 16364 138784 -/+ buffers/cache : 284920 744164 swap: 0 0 0
On 10 January 2013 14:53, Matthew Gretton-Dann < matthew.gretton-dann@linaro.org> wrote:
On 10/01/13 13:38, Anup Kini wrote:
Hi Matthew,
Thanks for the reply.
I tried with VERBOSE=1 command and the virtual memory has been exhausted. I check for the free space and its around 5.3 GB.
Let me know if there is any additional compiler tags i can use to free up or use less memory. I looked into the forums and found that similar issues were faced with 4.4 and 4.5 release but they were all baselined to 4.6.
GCC --version = gcc 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)
--- cut above this --
No need to remake target `../src/cpp/flann/flann.hpp'. Pruning file `src/cpp/CMakeFiles/flann_s.**dir/flags.make'. Finished prerequisites of target file `src/cpp/CMakeFiles/flann_s.**dir/flann/flann.cpp.o'. Must remake target `src/cpp/CMakeFiles/flann_s.** dir/flann/flann.cpp.o'. make[2]: Entering directory `/home/linaro/flann/flann-1.8.**3-src/build' /usr/bin/cmake -E cmake_progress_report /home/linaro/flann/flann-1.8.**3-src/build/CMakeFiles 3 Putting child 0x00040958 (src/cpp/CMakeFiles/flann_s.** dir/flann/flann.cpp.o) PID 3390 on the chain. Live child 0x00040958 (src/cpp/CMakeFiles/flann_s.** dir/flann/flann.cpp.o) PID 3390 [ 33%] Reaping winning child 0x00040958 PID 3390 Live child 0x00040958 (src/cpp/CMakeFiles/flann_s.** dir/flann/flann.cpp.o) PID 3391 Building CXX object src/cpp/CMakeFiles/flann_s.**dir/flann/flann.cpp.o Reaping winning child 0x00040958 PID 3391 *cd /home/linaro/flann/flann-1.8.**3-src/build/src/cpp && /usr/bin/c++
-D_FLANN_VERSION=1.8.3 -DFLANN_STATIC -fopenmp -O2 -g -I/home/linaro/flann/flann-1.**8.3-src/src/cpp -Wall -Wno-unknown-pragmas -Wno-unused-function -fPIC -o CMakeFiles/flann_s.dir/flann/**flann.cpp.o -c /home/linaro/flann/flann-1.8.**3-src/src/cpp/flann/flann.cpp*
Live child 0x00040958 (src/cpp/CMakeFiles/flann_s.** dir/flann/flann.cpp.o) PID 3393 In file included from /home/linaro/flann/flann-1.8.**3-src/src/cpp/flann/** algorithms/kmeans_index.h:51:**0, from /home/linaro/flann/flann-1.8.**3-src/src/cpp/flann/** algorithms/all_indices.h:38, from /home/linaro/flann/flann-1.8.**3-src/src/cpp/flann/flann.hpp:**45, from /home/linaro/flann/flann-1.8.**3-src/src/cpp/flann/flann.h:**466, from /home/linaro/flann/flann-1.8.**3-src/src/cpp/flann/flann.cpp:**31: */home/linaro/flann/flann-1.8.**3-src/src/cpp/flann/util/**logger.h:73:9: note:
the mangling of ‘va_list’ has changed in GCC 4.4 virtual memory exhausted: Cannot allocate memory Reaping losing child 0x00040958 PID 3393 *
make[2]: *** [src/cpp/CMakeFiles/flann_s.**dir/flann/flann.cpp.o] Error 1 Removing child 0x00040958 PID 3393 from chain. make[2]: Leaving directory `/home/linaro/flann/flann-1.8.**3-src/build' Reaping losing child 0x00045828 PID 3389 make[1]: *** [src/cpp/CMakeFiles/flann_s.**dir/all] Error 2 Removing child 0x00045828 PID 3389 from chain. make[1]: Leaving directory `/home/linaro/flann/flann-1.8.**3-src/build' Reaping losing child 0x000382c0 PID 3385 make: *** [all] Error 2 Removing child 0x000382c0 PID 3385 from chain. linaro@linaro-ubuntu-desktop:~**/flann/flann-1.8.3-src/build$
When i run it on my laptop it does not require more than 300 mb to compile.
I am not sure what the problem is on my board (ZNQ ZC702). It has an SD Card with 7.4 gb for the filesystem and 5.3 GB is free.
That 5.3GB won't be used for virtual memory unless you create a swap partition. To find out how much memory your board has (assuming you are running Linux on it use the 'free' command.
If your board has significantly more than 300MB available then can you please raise a bug report in Launchpad. I don't think we will get this fixed in 4.6 - but it is a good test case to check memory usage in 4.8.
The difference in memory usage between x86 and ARM can be down to the different targets being compiled for requiring different code generation strategies.
As for working round the issue - my suggestion is either: a) Use a cross compiler (so build on x86 targetting ARM); or b) split the source file into many smaller files.
Thanks,
Matt
-- Matthew Gretton-Dann Toolchain Working Group, Linaro