OpenSolaris

Printable Version Enter a New Search
Bug ID 4764511
Synopsis Should be able to build for sparc and x86 in a single workspace
State 3-Accepted (Yes, that is a problem)
Category:Subcategory consolidation:os-net-tools
Keywords
Responsible Engineer James Mcpherson
Reported Against s10_20
Duplicate Of
Introduced In
Commit to Fix
Fixed In
Release Fixed
Related Bugs 4795906 , 6709415
Submit Date 17-October-2002
Last Update Date 2-February-2009
Description
Having to maintain two workspaces for each bug or feature you're working
on is painful, error-prone and a waste of time.   If I try to build for
x86 in a suitably auto-mounted ws in which a previous sparc build was done
(using "t" in the flags: compile & use tools from the ws):

/net/kriek/export/ws/jgh/1222490/usr/src/cmd/lp/model/netpr
sleazy --> serial
install -s -d -m 755 -u root -g bin /net/kriek/export/ws/jgh/1222490/proto/root_i386/usr/lib/lp/bin
sleazy --> serial
install -s -m 04511 -u root -g bin -f /net/kriek/export/ws/jgh/1222490/proto/root_i386/usr/lib/lp/bin netpr
`install' is up to date.
`install' is up to date.
`install' is up to date.
ld: fatal: file ../common/glob.o: wrong ELF machine type: EM_SPARC
ld: fatal: File processing errors. No output written to dpost
*** Error code 1
[...]
Current working directory /net/kriek/export/ws/jgh/1222490/usr/src/cmd/lp/filter/postscript/dpost


Complete nightly.log attached.
Work Around
Peter Memishian offered this, paraphrased by me:

		/ws/on10-patch-clone
		       ^
		       |
		   /ws/yourws
		       ^
		       |
		      / \
		     /   \
		    /	  \
        /ws/x86-buildws  /ws/sparc-buildws

Whereby you bringover from your local clone to your own master
workspace.  Within your master workspace (yourws) you make any changes
and 'sccs delget' or 'sccs create' as needed.  To build the workspace
take a child of your workspace per architecture (x86-buildws &
sparc-buildws in the example above).  Note that your changes must be
checked in to your master workspace (yourws) for bringover to copy the
changes to your child workspace.

Once the project is completed you will need to collapse your SCCS
deltas in your workspace (yourws) for putback; use 'wx redelget'.
Remove your child workspaces and take fresh ones for the final
nightly.

Be careful to remove the children and not your master ;-)
Another model (which expands easily to multiple-people projects) is:

      onwhatever-clone
          |
          |
       myproject-gate
       /   |    \
      /    |     \
 build-x86 |      \
     build-sparc   \
                  myproject-ws

do all of your work in myproject-ws, putback to myproject-gate whenever you want to
do a build, bringover to the two build-* workspaces and build.
Comments
N/A