Port-arm archive

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

Re: Problem building NetBSD-8 for rpi (evbarm)



On Tue, Oct 22, 2019 at 12:32:02AM -0700, pimin inwa wrote:
> Build command:
> (rm -fr ./RPI_OBJ/* ./RPI_TOOL/* & wait & cvs update -Pd & pushd ../xsrc &&
> cvs update -Pd & pushd external && cvs update -Pd & pwd& wait) &&
> ./build.sh -m evbarm -O RPI_OBJ -T RPI_TOOL -V
> TOOLDIR=/usr/src/rpi/RPI_TOOL -V X11SRCDIR=/usr/src/rpi/xsrc -R
> /usr/src/rpi/xreleasedir -o -x -X /usr/src/rpi/xsrc cleandir tools build
> distribution release kernel=GENERIC | tee /tmp/bld.out 2>/tmp/rpi,bld.err
> Where Have I gone wrong?

I see a couple of nits.

> (rm -fr ./RPI_OBJ/* ./RPI_TOOL/* & wait &

Putting the "wait" into the background does nothing useful.  But it
shouldn't do any harm.

> cvs update -Pd &
> pushd ../xsrc && cvs update -Pd &
> pushd external && cvs update -Pd &

You do not want a to do cvs update of both src and src/external at the
same time.  Besides, updating src/external after you already updated src
is redundant and only costs you time.

> pwd& wait) &&

I'm unclear what you want to achive with the pwd running in the background.
But it won't do harm.

> ./build.sh -m evbarm -O RPI_OBJ -T RPI_TOOL -V
> TOOLDIR=/usr/src/rpi/RPI_TOOL -V X11SRCDIR=/usr/src/rpi/xsrc -R
> /usr/src/rpi/xreleasedir -o -x -X /usr/src/rpi/xsrc cleandir tools build
> distribution release kernel=GENERIC | tee /tmp/bld.out 2>/tmp/rpi,bld.err

You should not set TOOLDIR and X11SRCDIR with -V when you already told
build.sh to set them with -T and -X.

It is not a good idea to run build.sh with -o, preventing it from creating
objdirs.  I've only ever found that useful when used together with -u for
an update build when the objdirs are known to exist.

"cleandir" is redundant if you don't specify -u and if you do use -u
then you presumably did so because you didn't want to run cleandir.
But it shouldn't do any harm.  Just cost you time.

> | tee /tmp/bld.out 2>/tmp/rpi,bld.err

This is going to catch error messages from tee(1) only.  You want:

  2>/tmp/rpi,bld.err | tee /tmp/bld.out

if you want to save the errors produced while running build.sh.

I use "2>&1 | tee -a build.log" to save both the commands and the errors
in the same file.

Lastly, for what RPI versions exactly do you want to build?  RPI1, RPI2,
RPI3 or one of the other board versions?  They use different MACHINE and
MACHINE_ARCH combinations.  E.g. RPI2 should be an evbarmv7hf-el build.

Maybe retry with:

  (rm -fr ./RPI_OBJ/* ./RPI_TOOL/*  && cvs update -Pd && pushd ../xsrc &&
  cvs update -Pd ) 2>&1 tee -a /tmp/cvsupdate.out &&
  ./build.sh -m evbarm64 -O RPI_OBJ -T RPI_TOOL \
  -R /usr/src/rpi/xreleasedir -X /usr/src/rpi/xsrc -x \
  cleandir tools build distribution release kernel=GENERIC \
  2>&1 | tee /tmp/bld.out

For RPI2 substitute the evbarm64 with evbarmv7hf-el.

You should get the real error message in bld.out.

Also check you /etc/mk.conf.

--chris


Home | Main Index | Thread Index | Old Index