[GLLUG] FreeBSD has now removed almost all GNU/GPL'd code

Clay Dowling clay at lazarusid.com
Fri Sep 23 11:25:05 EDT 2011


On 09/23/2011 05:44 AM, Philip J. Robar wrote:
> Once upon a time all the world was a VAX, then it was Solaris, for now 
> the current fad is GNU/Linux. This too will pass. If people understood 
> and wrote software to standards such as SVID, POSIX, FIPS, the Single 
> UNIX Spec, LSB, etc. and held their vendors to them then we wouldn’t 
> need complicated things like autoconf or the poorly conceived #ifdef’s 
> that pollute so much of open source. Assuming a particular compiler is 
> going to be used is a particularly stupid way to develop software.
I agree that autoconf is a steaming pile of plant growth promoter, but 
"writing to standard" isn't always possible.  The standards are a 
starting point, but each system implements a different feature set.  A 
BSD unix (FreeBSD, OpenBSD) and a System V unix (Linux, Solaris) have 
different features, and the #ifdef mess is necessary if you're going to 
deploy the same source code across multiple systems.

That's not the root of the problem though.  The root of the problem for 
using generic C++ compilers (separate from C compilers) is that the C++ 
standard leaves several implementation details up to the implementer. So 
if a package is written using Visual C++, there is a good chance that it 
will behave differently when compiled with gcc or CLang.  It's not a 
problem with any of the compilers.  They're all excellent compilers that 
major systems are built on.

The new C++11 standard removes most, if not all, of the wiggle room, so 
theoretically as developers move to the newer compilers a lot of the 
compatibility problems will go away. But the ink isn't dry on the 
standard yet, so for now we have to deal with the fact that not every 
package can be compiled successfully with every compiler.

Clay


More information about the linux-user mailing list