In Other BSDs for 2016/03/26

By the time you read this, I will have already been at my second job for 5 hours.

clang in DragonFly, soon

John Marino has added the starting framework to use clang as the alternate base compiler in DragonFly.  Note that it’s not hooked into the build yet.  This is the first non-GCC compiler added into DragonFly, so there’s some work yet before you can have an all-clang system.  This should replace GCC 4.7, which is the current alternate compiler.  GCC 5.0 is the default, if you didn’t know.

Note that clang is present in dports, so it’s already been available for general use, for some time.  This framework is for building DragonFly itself.

Hammer not show

The ‘hammer show’ command can be used to dump the B-Tree structure of a Hammer volume, and CRC errors can be spotted.  It’s rare that anyone would need it, but if you do, this dumped information will include file hierarchy information.

If that makes you a bit nervous to repost any of that information when talking about it in public, Tomohiro Kusumi has added an ‘obfuscate’ option to ‘hammer show’ that does just that – it hides path information from the debug output.

New CPUTYPE variables

John Marino rearranged how GCC5 handles CPUTYPE settings.  If you are specifically setting the target CPU when compiling, his commit will give you an exact list of what to target.

Note that I am not saying another architecture – this is all x86_64.  I also don’t recommend doing this unless you have a specific use for it – compiler overoptimizations often create more problems than they fix.

Default shells and library changes

I see this bite people irregularly over the years: if your default shell on login can’t run, what do you do?  I’ve seen it happen because of a missing /usr/lib, and it can happen with out-of-date library references, too.   There’s several different ways to deal with it:

That last one may be useful if your dports setup gets mangled, somehow – though ‘pkg upgrade’ has always worked for me.