NetBSD-Users archive

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

Few notes&questions on NetBSD building and on wedges included by default



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!

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.

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.

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.

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.)


Home | Main Index | Thread Index | Old Index