Current-Users archive

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

Re: How to build only one part of NetBSD system



On Thu, Jan 19, 2023 at 05:33:03AM +0000, Thomas Mueller wrote:
> >From /usr/src/UPDATING,
       
> Recent changes:
 ^^^^^^^^^^^^^^^
       
> > 20230112:
> >         New binutils require an updated ld.elf_so. If you are doing
> >         (unsupported) in-place self builds (with the -E flag to build.sh),
> >         make sure to have installed latest ld.elf_so before you rebuild
> >         userland.
       
> > So how do I build /usr/src/lbexec/ld.elf_so preliminary to rebuilding the whole NetBSD (current)?
        
> If you are not using something like "build.sh -E -D /" you should ignore that
> entry.  

> > I tried going into libexec/ld.elf_so and running "make install" but that didn't work or even come close.

> It would be something like:
        
>         cd src/libexec/ld.elf_so
>         ${TOOLDIR}/bin/nbmake-${arch} dependall
>         ${TOOLDIR}/bin/nbmake-${arch} install
        
> > I don't think I could have used build.sh for just this component.
        
> Right.
        
> > I had two failed builds of NetBSD-current (10.99.2) before looking more closely at /usr/src/UPDATING.
        
> Failed builds how? If you are using "build.sh -u" you may need to manually
> clean the object dir for all instances of "binutils" (depending on when
> you did the last sucessful build). 

> A safe way is to completely remove the object dir and build everything from
> scratch.

> Martin

I remember I did remove object dir and old tools (from TOOLDIR and DESTDIR), which were from 

NetBSD amelia2 9.99.82 NetBSD 9.99.82 (NetBSD-HEAD amd64.nb999-20210601) #0: Tue Jun  1 21:21:00 GMT 2021  root@amelia2:/usr/obj/usr/src/sys/arch/amd64/compile/SANDY7 amd64

I have never used -E with build.sh, heeding the advice on the hazards that would entail.

Where the error showed toward the end of the build log,

Stop.
nbmake[7]: stopped in /BETA1/netbsd-HEAD/usr/src/sys/modules/amdgpu

*** Failed target:  dependall
*** Failed command: cd "/BETA1/netbsd-HEAD/usr/src/sys/modules/amdgpu"; /BETA1/netbsd-HEAD/usr/src/../tooldir/bin/nbmake realall
*** Error code 1

Stop.
nbmake[6]: stopped in /BETA1/netbsd-HEAD/usr/src/sys/modules/amdgpu

*** Failed target:  dependall-amdgpu
*** Failed command: _makedirtarget() { dir="$1"; shift; target="$1"; shift; case "${dir}" in /*) this="${dir}/"; real="${dir}" ;; .) this="sys/modules/"; real="/BETA1/netbsd-HEAD/usr/src/sys/modules" ;; *) this="sys/modules/${dir}/"; real="/BETA1/netbsd-HEAD/usr/src/sys/modules/${dir}" ;; esac; show=${this:-.}; echo "${target} ===> ${show%/}${1:+ (with: $@)}"; cd "${real}" && /BETA1/netbsd-HEAD/usr/src/../tooldir/bin/nbmake _THISDIR_="${this}" "$@" ${target}; }; _makedirtarget amdgpu dependall
*** Error code 1

Stop.
nbmake[5]: stopped in /BETA1/netbsd-HEAD/usr/src/sys/modules

*** Failed target:  dependall-modules
*** Failed command: _makedirtarget() { dir="$1"; shift; target="$1"; shift; case "${dir}" in /*) this="${dir}/"; real="${dir}" ;; .) this="sys/"; real="/BETA1/netbsd-HEAD/usr/src/sys" ;; *) this="sys/${dir}/"; real="/BETA1/netbsd-HEAD/usr/src/sys/${dir}" ;; esac; show=${this:-.}; echo "${target} ===> ${show%/}${1:+ (with: $@)}"; cd "${real}" && /BETA1/netbsd-HEAD/usr/src/../tooldir/bin/nbmake _THISDIR_="${this}" "$@" ${target}; }; _makedirtarget modules dependall
*** Error code 1


I just did what you suggested, it seemed to build and install, I will have to try again after running "cvs up -dP -A" in src and xsrc directories.

Thanks for your help; I don't know if this will give me a successful build until I try it, hopefully this upcoming weekend.

Tom



Home | Main Index | Thread Index | Old Index