News for hackers. Stuff that matters.
Re:GNU Binutils 2.32 Released by ComputerGuru on Saturday February 02, 2019 @08:53PM (#19067271)
This project could greatly benefit from a CI system testing multiple popular distros. Every other release fails to compile on FreeBSD. I tried building from 2.31 then HEAD then rolled back to 2.30 to get it to compile under FreeBSD 12 (for an embedded system where the default patched version in ports didn’t cut it).

I have notes I took last product release with a different bug, same scenario.

Unfortunately many GNU projects treat non-Linux platforms as third class citizens (GNU autotools still doesn’t always generate Makefiles compatible with bsdmake).

Re:GNU Binutils 2.32 Released by emmelaich on Saturday February 02, 2019 @10:28PM (#19067647)
The bsd community could set up such a ci/cd system themselves.

Then the GNU folks could use it or ignore it but they wouldn't be ignorant of problems.

In fact for many issues timely notice is almost all it takes to get things fixed.

Re:GNU Binutils 2.32 Released by ComputerGuru on Saturday February 02, 2019 @11:54PM (#19067944)
I don’t know. As an open source developer I put the onus on myself to make sure my releases (at the very least, not every commit) at least compile and run on Linux, macOS, WSL, and FreeBSD even though I don’t use the first two.
Re:GNU Binutils 2.32 Released by icelancer on Sunday February 03, 2019 @12:36AM (#19068061)
I mean... you just named two enormous platforms that you should test for but don't use. FreeBSD is hardly equal to either of those. It's a much much different situation.
Re:GNU Binutils 2.32 Released by viraptor on Saturday February 02, 2019 @11:49PM (#19067922)
With the current level of traffic (tens of commits a day on master) it would be within pocket money budget as well.
Re:GNU Binutils 2.32 Released by ggm on Saturday February 02, 2019 @08:57PM (#19067289)
I think the BSDL/GPL wars made people less motivated to reach out to BSD platforms for compatibility.

A lot of BSD energy goes into making base system work with as little GPL as possible. Is there no non-GPL toolsuite for the embedded systems you're targetting?

I could believe the answer is either, both of (a) no and (b) but I need to keep compatibility with GPL produced .so and related objects.

Re:GNU Binutils 2.32 Released by ajross on Saturday February 02, 2019 @11:54PM (#19067941)
Yeah, really a corrolary is the clearer explanation: Binutils runs poorly on BSD because no one working on BSD wants to work on binutils because they hate the FSF and are focusing their energies on llvm/clang toolchains.

Which is their right, of course. But it's a little salty to then turn around and demand that the GNU people then be responsible for supporting them anyway.

[dead]
Re:GNU Binutils 2.32 Released by ajross on Sunday February 03, 2019 @10:17AM (#19069984)
> binutils is included in the FreeBSD ports, which is a maintained collection

How maintained can it be if it's not tracking upstream and providing patches, even just to build it? The very premise of your question disproves this assertion.

Look, there was a time when gcc and binutils were the native toolchain on FreeBSD and you could rely on them working as well as they do anywhere. But they aren't anymore, and all the people with the skills to be maintaining a toolchain are working on other software. Binutils is left to rot, honestly.

This isn't because the FSF used to have a CI system, it's because FreeBSD used to have binutils users, and to first approximation it doesn't any more. You're one of the last.

Re:GNU Binutils 2.32 Released by ComputerGuru on Saturday February 02, 2019 @11:52PM (#19067937)
Our toolchain is actually GPL-free, but the app itself involves the use of a disassembler with support for formats (at least not previously) supported by llvm-objdump.
Re:GNU Binutils 2.32 Released by ggm on Sunday February 03, 2019 @06:50PM (#19072974)
I feel some sympathy for what you're exposed to, but I also suspect you're in a corner, or near a corner-case. Having said that, I haven't had to try and explore cross compilation for a very long time and have no dependency on it. I could well believe as a user the competing states are not helpful.

Overall I like BSD licenced code, and I like the approach to minimise dependency on GPL licenced code, but When you get down into things like binary blobs for WiFi units soldered onto mainboards, and Video drivers, things pretty quickly favour the volume of users behind GPL. I just remind myself that 2D non-accellerated graphics are probably what I need even if better 3D is what I want (the binary blobs thing really annoys me)

Re:GNU Binutils 2.32 Released by acqq on Sunday February 03, 2019 @06:22AM (#19069002)
> Every other release fails to compile on FreeBSD.

But in later message you also state:

> Our toolchain is actually GPL-free

It's obviously the conflict of the goals, where you, the way I understand it, can't complain that the GPL-based tools "don't always (in every release) perfectly (i.e. without any adjustments) work" on the platforms whose goal is to avoid the GPL.

You should be lucky that they indeed fix the issues when somebody submits the patches. But the other communities can't expect from the GPL contributors to do the very work for which the said non-GPL communities exist.

Or, in the words of my favourite Microsoft (i.e. non-GPL) developer:

https://blogs.msdn.microsoft.com/oldnewthing/20110118-00

"Don’t just stand around saying somebody should do something: Be someone"

Re:GNU Binutils 2.32 Released by Sir_Cmpwn on Sunday February 03, 2019 @05:29AM (#19068818)
sr.ht has a broad selection of build bases which is only getting broader, including FreeBSD and soon to have NetBSD and hopefully OpenBSD:

https://man.sr.ht/builds.sr.ht/compatibility.md

You don't need to be an Official Important Binutils Person to set up some CI and use it to make bug reports. You should try it out!

Re:GNU Binutils 2.32 Released by asveikau on Saturday February 02, 2019 @09:43PM (#19067476)
That's ironic given all that autotools stuff came about to get everything working on every conceivable proprietary Unix, and probably probes for a lot of things nobody will likely face.
Re:GNU Binutils 2.32 Released by pm215 on Sunday February 03, 2019 @04:57AM (#19068704)
I think part of the problem here is that if the only thing running on $MINORITY_PLATFORM is your CI loop, then when it does find an issue it's going to be harder for the devs to fix, and it's never going to get the breadth of coverage that daily use during development will (both from bits the tests don't cover and because the CI system is testing a specific OS version with a fixed set of installed packages, and likely doesn't get updated to new OS versions very promptly.) If users of an OS care about a program then there's no substitute for being involved upstream (and not just putting workaround patches in a local 'ports' system).

QEMU has this issue -- in theory we support Linux, OSX, Windows, OpenBSD, FreeBSD, NetBSD (and CI on all of those), but Linux support is much better than all the rest because all of the primary developers are using that, and contributions from users of the other platforms are much rarer. It's not a policy decision to treat the others as third-class.

Re:GNU Binutils 2.32 Released by rurban on Sunday February 03, 2019 @02:48AM (#19068338)
There's now Cirrus CI to use for free with FreeBSD images. It's also much faster than Travis CI (with macOS which is almost FreeBSD, at least their libc) and Appveyor CI.

The GNU compiler guys have setup a oldstyle build farm which I've never used, but with savannah et al there's no free CI.

Re:GNU Binutils 2.32 Released by bobbyi_settv on Saturday February 02, 2019 @10:55PM (#19067739)
But gnu make can be built for freebsd without already having other gnu stuff (or itself), right?

If so, is it really unreasonable for another gnu project to expect you to get gmake first and use that in order to compile the project?

Re:GNU Binutils 2.32 Released by ComputerGuru on Saturday February 02, 2019 @11:46PM (#19067916)
The problem with binutils wasn’t make/gmake-related. I have no problem with requiring gmake as a rule, I maintain this: https://github.com/neosmart/gmake-proxy

But the whole point of autotools is to write a flavor-agnostic Makefile that gets compiled into a working Makefile. For it not to work defeats the point.

Re:GNU Binutils 2.32 Released by acqq on Sunday February 03, 2019 @06:55AM (#19069124)
> For it not to work defeats the point.

It's just the tool to make the compatible releases possible. The compatibility doesn't fall from the sky, somebody should actively work on it. And you can be that someone.