On 05/16/18 16:41, Jason Bacon wrote:
On 05/15/18 16:31, Jason Bacon wrote:On 05/15/18 15:22, J. Lewis Muir wrote:OK, thanks. I'll give this some thought while I do more testing. The patch is working great for normal builds but for some reason it's failing to find the linker under pbulk. I'll get back to you when I have more info.On 05/13, Jason Bacon wrote:The problem is actually more widespread than I realized. I found more failures in the logs from my 2018Q1 bulk builds, including qt5-qtbase, which prevented several other packages from building on CentOS 6. I'd like to get a patch into all the GCC packages ASAP. Does anyone have suggestions for improving on the patch above? After giving it a little thought, I don't like the idea of directly checking the version of tool chains outside pkgsrc, as they may change or even be removed unbeknownst to pkgsrc. I think consistently using pkgsrc binutils when Enterprise Linux is detected will lead to the fewest problems.Hi, Jason! Hmm, to me this doesn't seem like the best way to go. I would be in favor of checking for the feature you need rather than the OS. Or in this case, if you need a minimum version of binutils, I think it's better to check the binutils version rather than the OS version. This seems similar to the principle of checking for the feature in an Autotools configure script rather than checking for the OS as noted in the pkgsrc guide in section 11.3.4, Patching guidelines, at:http://www.netbsd.org/docs/pkgsrc/components.html#components.patches.guidelinesRegards, LewisRegards, JasonSo pbulk revealed that we also need to set BUILDLINK_DEPMETHOD.binutils= fullPbulk deinstalls build dependencies as soon as they are no longer needed, so it exposedthe risk of binutils going away after gcc5 is built. Here is my current patch: .if exists(/etc/redhat-release) CONFIGURE_ARGS+= --with-gnu-as --with-as=${PREFIX}/bin/gas CONFIGURE_ARGS+= --with-gnu-ld --with-ld=${PREFIX}/bin/gld BUILDLINK_DEPMETHOD.binutils= full . include "../../devel/binutils/buildlink3.mk" .endifI've hit some libdl issues that I suspect might be due to the fact that my tree had other packages installed built with the old binutils, so I'm rebuilding a test package in a pristine tree with the patched gcc5.Also doing a full pbulk build with the patch.While we're waiting for that, how exactly would you suggest changing the patch above to check thebinutils version instead of the Linux distro?
One more thing: If we go with an OS check, I would switch to .if ${OS_VARIANT} == "redhat"instead of the exists() check, since this is already supported in bsd.prefs.mk.