Jump to content

couldn't commit memory for cygwin heap, Win32 error 487


gomiboy99
 Share

Recommended Posts

I am having trouble with make, I get the error: couldn't commit memory for cygwin heap, Win32 error 487

I can compile code in code blocks, just command line make is broken.

All was good until I ran make dist.

I am at a loss as to what has gone wrong. I have tried uninstalling and re-installing the whole toolchain and refreshing the svn folder but still no luck.

All help would be appreciated.

Tim..

Edited by gomiboy99
Link to comment
Share on other sites

I'm not a windows expert, but I guess that there isn't enough memory available in your "cmd" window.

When you are compiling in Code blocks, does it run a "make" as well?

Maybe you could add a parameter to "make".

Best Regards, Thorsten.

Link to comment
Share on other sites

Thanks for the reply Thorsten.

Code blocks runs make with no problems.

As I said all was ok until I ran make dist then things stopped working.

Since I posted my question I have been through all of the other posts I can find on this error but nothing has helped.

I will have a look at the settings of the cmd window and then see if I can add something to the make command.

Tim..

Link to comment
Share on other sites

I have just tried using make in another folder and it works ok. This is the same folder where Code blocks works.

The problem is when I try to compile in my svn folder. I wonder if something has got corrupted in my svn folder.

I think I will get rid of the local copy and start again.

Tim..

Link to comment
Share on other sites

Solved. Deleted and downloaded rev 1038. There seems to be something wrong with 1039, I changed a couple of things in my project and this seems to have caused the problem.

I am getting a warning "processor mismatch in pic18f4685.o", not sure how serious this but I may have the wrong linker or library file.

Tim.

Link to comment
Share on other sites

It seems that you committed the "release view" and not the "development view", this was the problem.

The release view contains all files from $MIOS32_PATH which is required to rebuild the application (created with "make dist" after the application has been copied to another directory, this step is automated with "$MIOS32_BIN_PATH/release-mios-app.pl" - see content of this script to see which steps are required) but it should only be provided for users and especially not part of the repository.

I can fix this but need your confirmation that the latest version of your app is in the repository?

Best Regards, Thorsten.

Link to comment
Share on other sites

Hi Thorsten,

I seem to have missed or misunderstood a vital piece of information when setting things up.

Is there a guide on what to do or not to do with files in the repository?

As far as my project is concerned, I could remove everything I have committed and start again. Rev 1038 is OK.

If you have the time then you could sort out my mess, if you want to, I guess I would see what is different.

If the release code does not go in the svn repository, where does it go? Sorry to ask but I have not found an answer yet.

Tim..

Link to comment
Share on other sites

No problem! I fixed it, it was done in less than 1 minute. ;-)

Guidelines or a sophisticated documentation wasn't required yet, and I think that when you are seeing the changes now, it's clear how the source code is stored in the repository:

-> http://svnmios.midibox.org/listing.php?repname=svn.mios&path=%2Ftrunk%2Fapps%2Fmisc%2Fvisual_metronome%2F

I just copied the SDCC skeleton from http://svnmios.midibox.org/listing.php?repname=svn.mios&path=%2Ftrunk%2Fapps%2Ftemplates%2Fsdcc_skeleton%2F, copied your .c and .h and .txt files into the directory, and adapted the Makefile - done.

As you can see, the version number is not part of the directory. This would only done if you are planning major updates in future and still want to maintain the old application (e.g. like I did for midibox_sid_v1 and midibox_sid_v2).

Since only the source code of the actual application is in this directory, you will automatically "inherit" the programming environment for MIOS.

For a release, please do following steps:

  • cp -r visual_metronome visual_metronome_v0_1
  • cd visual_metronome_v0_1
  • rm -rf .svn
  • make dist
  • sh dist.sh
  • -> thereafter .zip this directory

The release-mios-app.pl script automates these steps, but it only works under Linux and MacOS, and not under Windows.

These steps ensure that users are able to modify parts of your source code for customizations (and you prepared this according to your README.txt) and to build a new .hex file without downloading the SVN repository (+ knowing which SVN revision had been used -> less dependencies)

But as a developer you would always work with the latest files in the repository, e.g. to get updates done by somebody else.

Where to release it: either attach the .zip file in the Wiki, or in your forum posting.

Best Regards, Thorsten.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...