i’m currently trying to compile panda on my fedora5 box.using make panda everything goes well until it executes this
built/bin/interrogate -srcdir panda/src/display -DCPPPARSER -D__STDC__=1 -D__cplusplus -D__i386__ -D__const=const -Sbuilt/include/parser-inc -S/usr/include -Ithirdparty/win-python/include -Ithirdparty/linux-libs-a/nspr/include -oc built/tmp/libdisplay_igate.cxx -od built/pandac/input/libdisplay.in -fnames -string -refcount -assert -python-native -Ibuilt/tmp -Ipanda/src/display -Ibuilt/include -DBUILDING_PANDA -module panda -library libdisplay config_display.h displayRegion.h drawableRegion.h frameBufferProperties.h graphicsBuffer.h graphicsDevice.h graphicsEngine.h graphicsOutput.h graphicsPipe.h graphicsPipeSelection.h graphicsStateGuardian.h graphicsThreadingModel.h graphicsWindow.h graphicsWindowInputDevice.h lru.h parasiteBuffer.h standardMunger.h windowProperties.h display_composite.cxx
… in that very momemt all my ram and swap starts to get eaten up. after a few minutes cpu wont show any activity anymore.
without a single bit of ram left the system barely is alive.
i stopped the process after waiting 2 ours
after stopping it it prints:
Storing dependency cache.
and the elapsed time.
is this normal? i now that calculating dependencies can take long… but i never noticed such massive ram usage… anyone know a solution? or do i just have to let it run several days?
… something seems to be pretty hungry when it comes to memory.maybe mine is especialy delicious?..
to my system: athlon2400+; fedora core 5; gcc 4.1.0,512mb ram, ~1gig swap,lots of free HD-space.
thx in advance for any kind of hints or solutions
Actually, it’s not generating dependencies any more; that only took a moment. It’s moved on to interrogate, which is the lengthy (and expensive) process that generates all of the Python interfaces. This process does take a lot of RAM, particularly in the display directory; in fact, in version 1.2.3, it takes more than 512 MB of RAM, so on your machine it starts going into virtual memory, which means it could take hours to finish.
One option is just to let it build overnight.
Another option is to download the latest version from CVS. In this bleeding-edge version, we have introduced some fixes to reduce the memory requirements for interrogate. Of course, there may be other problems introduced inadvertently on the CVS trunk.
hm… i see… guess i’ll have to endure my noisy van’s then^^
but why is there almost no cpu usage? sometimes half an our no cpu activity…is this normal?
Right, that’s what happens when you go into virtual memory. Virtual memory means that it swaps out part of your RAM to hard disk temporarily, but when the total working space is more than you have physical memory, it’s going to have to swap out a part of the RAM that it’s going to need to reference in just a moment or to. So then it swaps something else out in order to swap that part back in. This keeps going for hours–it’s constantly moving pieces in and out of RAM, and your CPU is stalled waiting for the hard disk.
This condition is known as thrashing. Once this starts happening, a process which would normally be finished in ten or fifteen minutes might run all night, because your CPU hardly ever gets to do any useful work on it.
i was well aware that swapping slows down system somewhat… but never experienced it in such a way… well after shutting down everything unnecessary (mainly the grafical stuff and running terminal-only) it managed to get over the "display"directory part. i just can hope that there wont be a power drop this night… started to rain outside… and thundering… quite bad…
well anyway. thx a lot for providing all the infos.
since it seems to be somewhat better in the future i’ll just take my time and have some sleep while letting my pc work.