On Tue, Sep 24, 2013 at 2:33 PM, scft <s...@yandex.com> wrote: > Hi, NetBSD mailing lists. > > I'm intending to cross-build NetBSD to try it out. I very much liked project > goals, as well as emphasis on code clarity and portability. > Minimalism and perfectionism are attractive. > However, i have one practical question (which is 2.) and a few > suggestions\fixes on building process. > > 1. I'm actually do cross-building because installer fails with "wd0: device > busy" (googling for further info i found out that it's because of some thing > called wedges.). > Then why to include this unnecessary whistle by default? The goal of defaults > is by definition to fit to most users. Either fix sysinst, or kernel config! >
I'm not sure this is necessarily the case, but why not? > 2. The only value for x86 architecture is i386. Which obviously means that > new features from >i486 are not included, sse is (i guess) not included, amd > k8 & opteron optimizations are not included... It is possible to fine-tune > these settings in FreeBSD (see: > http://svnweb.freebsd.org/base/head/share/mk/bsd.cpu.mk?view=co). Judging by > absence of such in /usr/share/mk of NetBSD, it is not possible to get this > without DIY there. Why not to implement and document this? > It is not even explained anywhere, what's the difference between MACHINE and > MACHINE_ARCH. BUILDING says that MACHINE_ARCH should always be an exact > architecture, MACHINE may be not. And it says that by saying that first is > "architecture", second is "type" Very straightforward. > You may not want to make so many assumptions about x86/i386. FreeBSD build system is not the same as NetBSD. The make files are different. > 3. I've also found a bug in BUILDING documentation file. It says that > HOST_CXX is a C++ compiler. Yet setting HOST_CXX to g++ makes build,sh fail > with messages like "C preprocessor fails sanity check". By setting HOST_CXX > to c preproc, i have no such messages. > > 4. There is no option to actually set c++ compiler then. Groff needs it and > fails without it. So i have a choice between hacking makefiles and setting > MKGROFF=no. I chose second - nobody loves to hack makefiles. Especially those > makefiles that are written by other people. > I suggest you to implement HOST_CPLUS feature. > CPLUS, not CPP. So that nobody'll be confused with cpp\cxx. > I'm willing to bet this is more of an issue with how you executed the build. > 5. mk.conf is somewhat badly documented. E.g. i've found new mk.conf options > in makefiles, which are not listed in documentation. Some options listed in > mk.conf(5) are not listed in BUILDING or handbook, and vice versa. > true > 6. libc fails to build with MKPICLIB=no, saying that '-lgcc is not found'. > Even though i've found that i actually need MKPICLIB set to yes, seem as a > bug. (This happened when i tried to crossbuild it on both FreeBSD and on an > unpopular Ubuntu Linux derivative.) how are you executing build.sh?