To view parent comment, click here.
To read all comments associated with this story, please click here.
This is interesting. I have heard from several old solaris sysadmins that Linux is non posix compliant, and therefore there are problems porting Linux software. Some people say this is not true. That Linux is posix compliant. That Linux software is correctly written.
OTOH there are old solaris sysadmins stating the opposite, that Linux code is a mess written by amateurs, that Linux does not follow true Unix traditions and instead follows GNU. That even old Solaris code is portable, while Linux code is very often not portable.
So what is true? Can anyone shed some light on this? I think the best would be to ask old sysadmins on AIX, Solaris and HP-UX. But are there any such sysadmins here? I dont have knowledge on this, myself. Would be interesting to hear more on this.
The toolchain and basic userland are highly portable. OpenSolaris is a testimony of this. There are few GNUism's here and there, but every large codebase contains similar things.
But when the talk turns about "Linux software" in general, the picture is not so bright. Increasingly open source software is written only and only for Linux. This is especially true with desktop-related software and different, often hardware-related, abstraction layers, IMO. Porting of these is often impossible without creeping adaption of the system to match Linux.
Long gone are the shiny days of open source and free software when it was a personal ambition to get your software running on everything from Linux to AIX.
EDIT: spelling.
Edited 2009-10-13 18:15 UTC
The biggest problem with compatibility is compiler and library implementation (glibc et al) pitfalls - or kernel specific stuff obviously. It always has been, even when POSIX compliance was supposedly all the rage in the 80s and 90s. We still got a ton of incompatible software then, which is why people talked about a 'fragmented' Unix world.
Still, things are a lot better now than they were then. The BSDs seem to have no trouble porting over a great deal of open source software that was probably originally written on a Linux based platform, but that's probably because they're largely using the GNU toolchain. Still, it shows that portability on a practical basis has definitely improved.
The only thing that Solaris/OpenSolaris seems to lack is the manpower to port more updated software.
Edited 2009-10-13 21:31 UTC
Outdated according to what? Solaris' userland is perfectly up to date with whatever Unix standard there is. If it weren't it wouldn't be certified. On the other hand, gnu coreutils are non-standard and sometimes broken (tar). Top was for example measured to be 10 times less effective than prstat (I know that it's usually not an issue.) ls -v doesn't work... To be fair, Sun really has room to improve some command line options, I would welcome -[cma]min and -iname for 'find' and -R for 'grep' for example. It shouldn't require much work, so shame on them for being lazy
There actually is strong evidence of incompliance. For userland example I recall that tar -I doesn't work. More importatnt for system calls and library functions I stumbled upon union semun, which is used with semctl. It has one extra entry and even the man page states that it's Linux specific. These are just things that come to mind without extra research and I'm not a programmer. I'm pretty sure there must be plenty of other differences that experienced Unix/C programmer would reveal for us.
ls -v should work with all versions of Opensolaris post build 116 (2009.06 is based on build 111b) they added in a large subset of the gnu extensions to ls.
http://arc.opensolaris.org/caselog/PSARC/2009/228/
http://opensolaris.org/os/community/on/flag-days/116-120/





Member since:
2005-07-06
I think that's possibly the worst excuse I have ever seen for the poor and outdated state of Solaris's userland. There is no evidence at all for trying to label Linux systems and the GNU-based userland as problematically non-POSIX compliant as regards availability of popular userland software.