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