Hi,

I recently wanted to have several XS files in the same directory, and
was following the method described in the ExtUtils::MakeMaker FAQ. That
worked fine for two XS files, but from the third on, that started dumping
core. As far as I could determine this is caused by the called extra boot
code popping marks and there soon not being enough marks. By adding a
PUSHMARK(SP); before every line added in the BOOT: section things started
working properly.

This was for the module Graph::Layout::Aesthetic, which now ends like:

BOOT:
  PUSHMARK(SP);
  boot_Graph__Layout__Aesthetic__Force__Centripetal(aTHX_ cv);

  PUSHMARK(SP);
  boot_Graph__Layout__Aesthetic__Force__NodeRepulsion(aTHX_ cv);

  PUSHMARK(SP);
  boot_Graph__Layout__Aesthetic__Force__NodeEdgeRepulsion(aTHX_ cv);

  ....(more of these)...


Please update the FAQ if you agree with my analysis and solution.

Reply via email to