Menu

jobs doesn't work on Windows

Help
2007-12-23
2013-03-15
  • Henrik Goldman

    Henrik Goldman - 2007-12-23

    Hello,

    I would like to make use of a multi-core (8 cpu) machine for building. However it seems that makepp doesn't support parallel builds under Windows.

    Is this expected to be supported?

    Thanks.

    Henrik

     
    • Daniel Pfeiffer

      Daniel Pfeiffer - 2007-12-23

      Hi Henrik,

      the problem is that makepp, which needs to exec external commands, uses the Unix syscall fork(), while windows mainly uses threads for parallelism.  Perl bridges this gap by offering a fork() function, which it internally emulates as threads.  Things not being as independent as they would be under Unix, this didn't work at some time.  That's why it explicitly gets ignored there.

      You might try what happens (with perl 5.10.0 in case they improved something) if you short circuit that in Rule.pm (looks like lines 1134 & 1188)

      best regards
      Daniel

       
  • Daniel Pfeiffer

    Daniel Pfeiffer - 2011-10-03

    I had suggested to ActiveState that they pick up the way Cygwin does it.  Cygwin has done wonders to make it indistinguishable from a real Unix fork/exec.  But ActiveState answered that they will stick to their unusable emulation because of licensing worries.

    Maybe if more people pressure them they will work out something.  After all this problem affects any parallelizing job framework written in Perl.

     

Log in to post a comment.