cons-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Problem with pcons-2.2


From: VictNr
Subject: Problem with pcons-2.2
Date: Wed, 19 Nov 2003 09:55:12 -0500

RV (and anyone else out there who is listening),

Here at Marconi (the birthplace of cons!) we are still using cons, and it works 
well for us.  However, I have been investigating the use of pcons, and we are 
having a problem with it.  What I did was to take our version of cons-2.2 (it 
has a few minor changes to it), and I applied the pcons.diff to it (pcons.diff 
comes from http://www.baldmt.com/parallel-cons/).  Then, I tried to compile our 
tree with -j10 -- i.e., up to 10 parallel compiles.  The problem is that we 
have a few places where a target depends on a single file, via two different 
branches.  I've reproduced the problem in a very small Construct, which follows:


$cons = new cons();

Default(end);

Command $cons "step1", "start",
    qq(sleep 3 && cp %< %>);

Command $cons "step2", "step1",
    qq(sleep 2 && cat %< > %> && echo " -> %>" >> %>);

Command $cons "step3", "step2",
    qq(sleep 2 && cat %< > %> && echo " -> %>" >> %>);


# NOTE: this works and produces this output in file "end":
# start
# -> step2
# -> step3
# start
#
# Command $cons "end", "step3", "step1",
#    qq( cat %< > %> );


#
# NOTE: this doesn't work: it produces "cat: cannot open step1".  The output
# looks like this:
#
# pluto:~/cons-2.2/test
# 93 > ~/pcons-2.2
# sleep 3 && cp start step1
# sleep 2 && cat step1 > step2 && echo " -> step2" >> step2
# cat: cannot open step1
# waited: step2 on: 2952parent
# pcons-2.2: *** [step2] Error 2
# pcons-2.2: errors constructing step2
#
# What we want to see is a "waited" message after the "sleep 3 ..." line, and
# before the "sleep 2" line.
#
Command $cons "end", "step1", "step3",
   qq( cat %< > %> );

------- end of Construct file -------

So, you can see that this is a very simple example.  And, if we can get pcons 
to work with this, we can significantly speed up our build process.

Now, I know that cons is dead.  SCons is where it is at.  Yes, yes, I know all 
this.  But, we are just not going to switch to SCons for a while -- no one here 
knows Python, and we have literally hundreds of Construct/Conscript files in 
place that work, and some of which are not simple.  So, SCons just isn't going 
to happen.

I was wondering if anyone out there understood the obfuscated Perl code that is 
Cons, and could take a quick look and make a fix so that the above Construct 
file works properly.  I'm attaching our version of pcons.

Thanks.

Vic Norman


__________________________________________________________________
McAfee VirusScan Online from the Netscape Network.
Comprehensive protection for your entire computer. Get your free trial today!
http://channels.netscape.com/ns/computing/mcafee/index.jsp?promo=393397

Get AOL Instant Messenger 5.1 free of charge.  Download Now!
http://aim.aol.com/aimnew/Aim/register.adp?promo=380455

Attachment: old-pcons
Description: old-pcons


reply via email to

[Prev in Thread] Current Thread [Next in Thread]