Opened 16 years ago

Closed 16 years ago

Last modified 15 years ago

#15530 closed defect (fixed)

port build: assembled command's debug output missing parallel build argument

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by: afb@…
Priority: Normal Milestone: MacPorts 1.7.0
Component: base Version: 1.7.0
Keywords: Cc:
Port:

Description

I have buildmakejobs set to 2 and buildnicevalue set to 1 in my macports.conf. I'm using MacPorts trunk (@37400), Xcode 2.4.1, Mac OS X 10.4.11, MacBook Pro. When I build e.g. apr with debug output I see this:

--->  Building apr with target all
DEBUG: Executing org.macports.build (apr)
DEBUG: port allows a parallel build
DEBUG: Environment: "MACOSX_DEPLOYMENT_TARGET"='10.4'
DEBUG: Assembled command: 'cd "/mp/var/macports/build/_Users_rschmidt_macports_dports_devel_apr/work/apr-1.2.12" && nice -n 1 make all'

The problem is it doesn't show the -j2 argument to the make command, but the port does allow parallel building, and I can tell from my CPU monitor that the port is building in parallel. So it seems the command it says it assembled isn't the command it's actually running.

In r36907 it was working properly:

DEBUG: Assembled command: 'cd "/mp/var/macports/build/_Users_rschmidt_macports_dports_devel_apr/work/apr-1.2.12" && nice -n 1 make -j2 all'
[snip proper build output]

In r36913 and r36914 port no longer builds, and -j2 has disappeared from the advertised assembled command:

DEBUG: Assembled command: 'cd "/mp/var/macports/build/_Users_rschmidt_macports_dports_devel_apr/work/apr-1.2.12" && make all'
make: *** No rule to make target `all'.  Stop.
Error: Target org.macports.build returned: shell command "nice -n 1  cd "/mp/var/macports/build/_Users_rschmidt_macports_dports_devel_apr/work/apr-1.2.12" && make all  -j2" returned error 2

In r36915 it builds but -j2 is still absent from the command shown:

DEBUG: Assembled command: 'cd "/mp/var/macports/build/_Users_rschmidt_macports_dports_devel_apr/work/apr-1.2.12" && nice -n 1 make all'
[snip proper build output]

We should fix this, but I'm also curious why the command we're running isn't the command we're printing. Why don't the two come from the same variable?

Change History (5)

comment:1 Changed 16 years ago by afb@…

Status: newassigned
Summary: port build: assembled command missing parallel build argumentport build: assembled command's debug output missing parallel build argument

Yes, this is a known shortcoming. The debug output of command_exec only shows the command, and not the command_prefix or command_suffix arguments - that the current parallel build workaround uses.

comment:2 Changed 16 years ago by afb@…

r36907/r31807 of src/port1.0/portbuild.tcl didn't work due to #15295 (destroot.cmd inheriting build.cmd)

comment:3 Changed 16 years ago by afb@…

Resolution: fixed
Status: assignedclosed

Fixed, r37503.

comment:4 Changed 16 years ago by tobypeterson

Milestone: MacPorts base bugsMacPorts Future

Milestone MacPorts base bugs deleted

comment:5 Changed 15 years ago by jmroot (Joshua Root)

Milestone: MacPorts FutureMacPorts 1.7.0
Note: See TracTickets for help on using tickets.