Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 6 Jun 1995 23:00:39 +0200
From:      Julian Howard Stacey <jhs@vector.eikon.e-technik.tu-muenchen.de>
To:        current@FreeBSD.ORG
Subject:   obj sym links, & nfs & share/mk: usage with 2 processors and 1 tree
Message-ID:  <199506062100.XAA10449@vector.eikon.e-technik.tu-muenchen.de>

next in thread | raw e-mail | index | archive | help

This is for those who like to think about obj sym links, & nfs & share/mk;
those who prefer not to worry about those things should skip this :-) .....


I'd welcome suggestions for a puzzle I'm working on:
	( perhaps I haven't realised an env. var. exists, or perhaps 
	the mk/ files could do with enhancement ? )

I'm trying (with current) to compile different subdirs of 1 common src/
and 1 common obj/ tree on 2 different nfs mounted hosts simultaneously ...
& failing so far ... either I've not got something right, or perhaps no one
else has tried this ?
	(& yes I know I need to keep my /usr/include in step etc)

I have previously succeeded with 1 nfs mounted src & 2 seperate obj trees,
when compiling on 2 hosts, but I thought it'd be nice to be able to do a 
fast check compile of the tree using power of 2 processors in parallel ...

My set up:
	2 hosts: vector & lion
	vector 
		/etc/exports:
			/       -maproot=root   -alldirs  
			/usr    -maproot=root   -alldirs  
			/usr1   -maproot=root   -alldirs  
			/usr2   -maproot=root   -alldirs  
		mount:
			lion:/ on /net/lion
			lion:/usr on /net/lion/usr
			lion:/usr1 on /net/lion/usr1
		/usr/src@ -> ../usr1/src
		../usr1/src  -> /usr/public/freebsd/compile/src
		/usr/obj@ -> ../usr2/data/obj
		/usr2/data/obj/net/lion@ -> ..
		/usr2/data/obj/net/vector@ -> ..
		/usr/ftp@ -> ../usr1/ftp
	lion
		/etc/exports:
			/       -maproot=root   -alldirs
			/usr    -maproot=root   -alldirs 
			/usr1   -maproot=root   -alldirs
		mount:
			vector:/ on /net/vector
			vector:/usr on /net/vector/usr
			vector:/usr1 on /net/vector/usr1
			vector:/usr2 on /net/vector/usr2
		/usr/src@ -> ../net/vector/usr/src
		/usr/obj@ -> ../net/vector/usr/obj
		/usr/ftp@ -> ../net/vector/usr/ftp

I did the initial compile on vector, & acquired obj links such as:
	/usr1/ftp/public/freebsd/compile/src/sbin/adjkerntz/obj@ -> \
		/usr/obj/usr1/ftp/public/freebsd/compile/src/sbin/adjkerntz
but couldnt use this on lion:
	make: don't know how to make /usr1/ftp/public/freebsd/compile/src/\
		sbin/adjkerntz/adjkerntz.c. Stop

( I'm not sure where this rooted path /usr1/.... is coming from, ? )

On lion I tried:
	make clean
	make obj
		/net/vector/usr1/ftp/public/freebsd/compile/src/sbin/adjkerntz \
			-> /usr/obj/net/vector/usr1/ftp/public/freebsd/\
			compile/src/sbin/adjkerntz
	make
This then worked for vector & lion, but means I can't use all the obj
links created by future make worlds run on vector, & that in future I must 
do my make obj run on src from any host other than the one running the make 
world, (& must meantime on lion do a   find src -type l -name obj | xargs rm)

I have cludged the thing on lion for now by doing
	ln -s ../usr/ftp /usr1/ftp
but /usr1 on lion is not always there (sometimes unmounted for other stuff),
(OK I could create a /usr1/... on lion:/usr while /usr1 unmounted too).

Is there an elegant solution ? (apart from a mega fast Pentium ;-)
& where's that rooted /usr1/.... coming from ?

Julian S	jhs@freebsd.org



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199506062100.XAA10449>