NetBSD-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Few notes&questions on NetBSD building and on wedges included by default
On Tue, Sep 24, 2013 at 2:33 PM, scft <scft%yandex.com@localhost> 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?
Home |
Main Index |
Thread Index |
Old Index