pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: GCC and as

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:
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:


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.



So pbulk revealed that we also need to set

BUILDLINK_DEPMETHOD.binutils=   full

Pbulk deinstalls build dependencies as soon as they are no longer needed, so it exposed
the 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/"

I'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 the
binutils 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

Home | Main Index | Thread Index | Old Index