Home · Neuigkeiten · FAQ

(Frequently) Asked Questions

gcc error message about cygwin heap

This error occurs in rare situations (at my system only while building qt, but then several times). Compiling fails with the message "couldn't commit memory for cygwin heap, Win32 error 0". But only on Windows systems (MinGW compilers). This means there was not enough space available for the heap. Cygwin uses a tool called rebase to set the memory area where the memory area starts. Experimenting with different base addresses may help, however the easiest is it to simply restart the "make" command. But qt needs such a lot of time to travel through its directories that it is a good idea to automatically call make again. Use this script snippet:

while true; do
  make 2>&1 | tee -a build.log

  RC=`tail -n 20 build.log | grep "couldn't commit memory for cygwin heap, Win32 error 0" | wc -l`
  if [ "$RC" == "1" ]; then
    echo Cygwin memory error. Running make again!
    for i in `seq 20`; do echo; done >>build.log

Ruby error: missing requirement digest/sha1

While compiling (Qt in this case) one may see this error message:

D:/TEMP/oegwd.JjpmrX/qt-everywhere-opensource-src-5.4.0/qtwebkit/Source/JavaScriptCore/offlineasm/generate_offset_extractor.rb:30:in `require': cannot load such file -- digest/sha1 (LoadError)
        from D:/TEMP/oegwd.JjpmrX/qt-everywhere-opensource-src-5.4.0/qtwebkit/Source/JavaScriptCore/offlineasm/generate_offset_extractor.rb:30:in `

This means only that ruby was not compiled with OpenSSL support. Just add it and everything should compile fine. As a quick-fix you may use a pre-compiled binary from the Ruby homepage:

cd qtwebkit/Source/JavaScriptCore
export PATH="$PATH:/c/Ruby/bin"
rm /open-egovernment/bin64/ruby.exe
which ruby  # check if we find the right binary
make -f Makefile.LLIntOffsetsExtractor.Release all

CLI window immediately closes after giving a command

After opening a MSYS window and loading env.sh I give a command and the window closes. This error sometimes occured because "uname -s" returned "WINNT" instead of "MINGW32_NT-6.1". Some commands use oegenv() and this checks if "uname -s" returns a known system name - else it exits. As a workaround it does now recognize WINNT as valid too, however it could be that in this case some other settings are changed as well. I don't know why uname sometimes returns wrong data.

7-zip does not build archives anymore

I get an error while creating the archive file after successfully building the package:

7-Zip [64] 9.22 beta  Copyright (c) 1999-2011 Igor Pavlov  2011-04-18

Creating archive xyz-

7-Zip cannot open file
Die Syntax f├╝r den Dateinamen, Verzeichnisnamen oder die Datentr├Ągerbezeichnung ist falsch.

System error:
Unbekannter Fehler

This error is possible if you killed an archiving process (e.g. with Ctrl-C). Then 7-zip may leave a temporary file in the work directory (see the -w directive). Upon the next start 7-zip displays this message and fails to build the (same) archive because it has a conflict with the existing file. Just remove the file (its name should be like the archive name with an .tmp extension) and everything works well again.

(c) 2015 Gerrit M. Albrecht. Alle Rechte vorbehalten.
Impressum · Datenschutz