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:47, Jason Bacon wrote:
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:

http://www.netbsd.org/docs/pkgsrc/components.html#components.patches.guidelines

Regards,

Lewis
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.

Regards,

    Jason

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/buildlink3.mk"
.endif

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 bsd.prefs.mk.

Still hitting libdl issues, even on a pristine pkgsrc installation.  Anyone know of a solution for this?

make[3]: Entering directory `/home/sharedapps/pkgsrc-2018Q1/fonts/harfbuzz/work/harfbuzz-1.7.6/test/api'
  CCLD     test-unicode
/sharedapps/pkg-2018Q1/bin/gld: warning: libdl.so.2, needed by /home/sharedapps/pkgsrc-2018Q1/fonts/harfbuzz/work/.buildlink/lib/libicuuc.so, not found (try using -rpath or -rpath-link) /home/sharedapps/pkgsrc-2018Q1/fonts/harfbuzz/work/.buildlink/lib/libicuuc.so: undefined reference to `dlsym@GLIBC_2.2.5' /home/sharedapps/pkgsrc-2018Q1/fonts/harfbuzz/work/.buildlink/lib/libicuuc.so: undefined reference to `dlclose@GLIBC_2.2.5' /home/sharedapps/pkgsrc-2018Q1/fonts/harfbuzz/work/.buildlink/lib/libicuuc.so: undefined reference to `dlopen@GLIBC_2.2.5'
collect2: error: ld returned 1 exit status
make[3]: *** [test-unicode] Error 1
make[3]: Leaving directory `/home/sharedapps/pkgsrc-2018Q1/fonts/harfbuzz/work/harfbuzz-1.7.6/test/api'

[root@sciprog2 qt5-qtbase]# /lib/libc.so.6
GNU C Library stable release version 2.12, by Roland McGrath et al.
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 4.4.7 20120313 (Red Hat 4.4.7-18).
Compiled on a Linux 2.6.32 system on 2017-06-20.
Available extensions:
    The C stubs add-on version 2.1.2.
    crypt add-on version 2.1 by Michael Glad and others
    GNU Libidn by Simon Josefsson
    Native POSIX Threads Library by Ulrich Drepper et al
    BIND-8.2.3-T5B
    RT using linux kernel aio
libc ABIs: UNIQUE IFUNC
For bug reporting instructions, please see:
<http://www.gnu.org/software/libc/bugs.html>.



Home | Main Index | Thread Index | Old Index