[CMake] CMake memory exhaustion

Bill Hoffman bill.hoffman at kitware.com
Thu Jul 19 14:58:55 EDT 2007


Alan W. Irwin wrote:
> The (truncated) error message I am getting is as follows:
>
> make package_source
>
> Run CPack packaging tool for source...
> /home/software/cmake/install/bin/cpack --config
> /home/irwin/cdburn1/interior_eos
> /SFHEAD/build_dir/CPackSourceConfig.cmake
> CMake Error: Syntax error in cmake code at
> /home/irwin/cdburn1/interior_eos/SFHEAD/build_dir/CPackSourceConfig.cmake:32: 
>
> memory exhausted (4376), when parsing string
> "[...]"
> CPack Error: CPack project name not specified
>
> Note [...] stands for a _long_ (something like 3000 characters) 
> semi-colon
> separated string (i.e., a list).
>
> IMPORTANT: I am under some deadline pressure so I would appreciate it if
> somebody would quickly answer the following question: Where in the CMake
> source code can I set an internal buffer size to a larger value so I 
> don't
> get the above memory exhausted message?  From evidence (see below) it
> appears the buffer needs to be roughly a factor of 10 larger for my 
> needs.
>
> The above error message was generated with cmake version 2.4-patch 7 
> RC-11.
> I doubt very much that 2.4.7 will resolve this problem, but I will try 
> that
> later this afternoon.  I am posting this memory exhausted report now 
> rather
> than waiting until I try 2.4.7 because I am hoping for a quick reply 
> to the
> above question on how to increase the buffer size.
>
> To those interested in some background about why I need more buffer 
> space, I
> am using the usual
>
> set(CPACK_SOURCE_IGNORE_FILES
> "regex1"
> ...
> "regexn"
> )
Sounds like a problem with the lex parser stuff.   Can you try something 
like this:

set(CPACK_SOURCE_IGNORE_FILES "regex1".... "regex30")
set(CPACK_SOURCE_IGNORE_FILES ${CPACK_SOURCE_IGNORE_FILES} "regex31" 
.... "regex100")
set(...)

You get the idea.   I think the problem might be the really long 
string.  And if you break it up into
several set calls it might get around the limitation.

-Bill



More information about the CMake mailing list