illumos watch for August

VMware Fusion 8 vmware-tools may be problematic for oi hipster users

Toomas Soome pinged people on irc with following:

09:17 < tsoome> oi people may be interested vmware fusion/workstation is updated, but apparently the vmware-tools seem to be poisonous with Xorg in hipster - no mouse/kbd after installing tools.
09:25 < madwizard> tsoome: Thanx for heads up
09:26 < tsoome> it may be issue with my vm, also uninstall did clean it up, but still
Worth other people checking out and giving a shout on irc/mailing list.

SMBIOS 3.0 support

Robert Mustacchi posted a webrev for series of issues: 6189-6192 want smbios 3.0 support and various bugfixes. Reading his short mail and issues descriptions on illumos issue tracker, turns out smbios in illumos had some bugs that provided user with inaccurate or wrong information.
6189 - want smbios 3.0 support is an "upgrade" issue, providing illumos with support for new smbios, used on some newer hardware platforms.
Next three: 6190, 6191 and 6192 deal with illumos smbios bugs.

Josef Sipek - Ditch studio support?

In a middle of a thread about proper POSIX definition of NULL, Josef Sipek sent e-mail with thoughtful Subject: Ditching studio support? In it he expressed his dislike for some loops developrs need to jump through to satisfy the compiler suite:
Bleh. I really don't like obfuscating the code and build system to support a compiler which none of the major distros use. I think that it is time to ditch support for studio. Thoughts? (The details of *how* to proceed can be ironed out later. Currently, I'm curious about the community's stance on the high level idea of removing studio.)
Jeff.

As could be expected, it evolved in a longer thread. Saso Kiselkov wanted to know, if GCC can build SPARC binaries. Reply was that yes, it can.

Peter Tribble voted for yes, but brought up an interesting question:
But there's really a wider question of compiler support here. For one, it's good to be able to have a second compiler to add checks and balances (that's really all that Studio is doing at this point), so how do we get another compiler (llvm/clang, presumably) into the mix? And how do we get to a newer gcc - and make it easier to keep up with gcc releases going forward?

Richard Palo voted for clang being the second compiler:
Advantage of having clang as at least the shadow compiler is that it can be built to provide the clang-static-analyzer. That is, not to be forgotten is some kind of "lint", although there may be other alternatives.

Toomas Soome replied with some concerns, reminding:
My concern is lint and/or its replacement, as lint is last bit from studio, and at least from my point of view, its still valuable tool to discover issues - of course the work Igor has done with checking out more recent gcc and better diagnostic from there is one possible option, but while 4.4.4 is the only supported compiler, its clearly not enough to ensure the quality.

as for example, see https://www.illumos.org/issues/6087 granted, lint may not be the best tool for such job but at the moment it is (only) one we have:)

Dr. Udo Grabowski disagrees with the move, citing lack of gcc-built distros proven under heavy load, concerns about GCC S and C++ standards interpretations.

A question came up, if Oracle Solaris Studio is freely available for use to build illumos. Alan Coopersmith http://www.oracle.com/technetwork/server-storage/solarisstudio/downloads/index.html?ssSourceSiteId=ocomen offers a "perpetual no-cost license for production use and the development of commercial applications" for the Studio 12.4 GA release. Access to support materials, including post-GA patches/updates, requires either purchase of a support contract or membership at certain levels in one of Oracle's partner programs.

There is no OpenSolaris specific license, and as noted in my previous e-mail, Studio 12.4 does not work on OpenSolaris-derived OS'es missing the changes delivered in Solaris 11.2 & later that Studio 12.4 requires.

The thread goes on. Generally, as I understand it, the problem ain't getting Oracle Solaris Studio, but rather historical releases, as illumos-gate is missing the code changes needed for newer versions to work. There seems to be general consensus, that studio is used mostly for its lint tool, which is not easily replaceable. As a closing of this thread here, on illumos watch, have a read of Garrett's thoughful mail in the thread.

m4 place in filsystem tree

Gary Mills asked, where in the filesystem m4 ought to live: In illumos' Makefile.master, the M4 macro is defined as /usr/ccs/bin/m4 . This value is used by other Makefiles lower down in the tree. This works fine for OI because /usr/ccs/bin/m4 is a symlink to /usr/bin/m4 . However, I'm building illumos on a T2000 (SPARC sun4v) running dilos. The symlink is missing on dilos. Would it be reasonable to change the M4 macro in Makefile.master to the value /usr/bin/m4 instead? Is /usr/bin a better location, one that works on all platforms where illumos is built?
The answers from Igor Kozhukhov and Richard Lowe both point out that /usr/ccs is old location and that m4 has been recently moved to /usr/bin. The symlink in /usr/ccs is kept for backwards compatibility.

Cirtular dependancy building illumos

Gary Mills is hunting for issues preventing illumos from being built. As a part of the process he does the build on T2000 platform with 32 virtual cpus. A circular dependency came up and he posted it to illumos developer mailing list. There were several replies ackowleding that it is a known issue, with one from Robert Mustacchi being quite interesting: This has come up before. There aren't any great solutions at the moment, though stub libraries would help. Here's how you get down this path (each -> is a dependency): libuuid->libdlpi->libdladm->libdevinfo->libsec->libidmap->libldap5->libsasl->pcks11 And pcks11 depends on libuuid. Noet that these aren't library dependencies per se, but build dependencies. There are probably a few options here. One would be to separate out the iteration aspects of libdladm which libdlpi is relying on into a separate library. There are a few other cases we've hit recently that would make this useful. Alternatively, finishing up the stubs work would probably do it as well, though I don't know where Rich is on that or if it's even close to being ready for prime time. It also turns out there's already issue for that: 6114 factor out dladm walking into its own library.

cpqary3 support from HP

Robert Mustacchi sent mail: https://us-east.manta.joyent.com/rmustacc/public/webrevs/6113/index.html HP has generously given us updates to the cpqary3 driver to get support for the latest generation of parts. Robert It got few LGTM from other developers.

i40e snapshot from Dan McDonald

Dan posted a new i40e snapshot that possibly can be used with any recent illumos distro: I plan to update this as I move things along. Feel free to look and laugh at the driver newbie's work here: http://kebe.com/~danmcd/webrevs/i40e/ This webrev is against illumos-omnios, but in reality would apply cleanly to illumos-gate or any of its children. I hope to update this daily. It's not even CLOSE to ready yet, but I figure transparency is good here, especially given my newness in these matters, along with the idea that transparency in general is good.

ZFS and ARC memory pressure

There is a very informative thread that I'm not gonna repost here. Go and read it, really. It started with Toomas Soome asking some questions about ARC and how memory reclaim works. He got very interesting reply from Richard Elling. They exchanged a few mails. Go and read the thread yourself. Worth it.

Loader project demo iso

Toomas Soome sent a link for his alternate loader project .iso along with explanation, what works and what eventually needs manual intervention, if you want to actually boot installed system: as I got rather simple boot menu fixed, I think its time to give out cd iso image for review/test purposes. lacking better alternatives at the moment, I uploaded the iso to: https://mega.nz/#!XxB1gJBY!Pf_4FHZ_7ickuRqlYqtndlrQdqQ1rrMazjoNzGQvKCQ Its built on top of OI hipster and I just did generate simple text mode image; it should also be installable, but as i haven’t touched installer, the bootblock install needs to be done manually - also, I did left in “unusable” publishers on purpose, as it is just test/demo image. if you wanna see what and how is loaded, get out of menu and enter use “start” command - that will read in kernel+modules; lsmod will list loaded files. also it should be possible to “load /boot/memtest86+.bin” and then boot. I have tested this stuff only on VM myself… also don’t hesitate to comment/suggest stuff:) ah, and don’t forget about famous "1 1 + . cr” sequence on ok prompt;) thanks, toomas

illumos needs reviewers

Recently a thread came about on irc and I know it's coming back now and then. illumos needs more people capable of doing code reviews and RTIs. According to developers lots of new drivers, features and fixes are waiting for their reviews, not landing in illumos-gate. If you are capable and can donate your knowledge and time, there's some good to be done. :)