Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Inclusion of CXXFLAGS from x86_64 & aarch64 Linux variants causes build error #74

Open
1 task done
jakirkham opened this issue May 13, 2022 · 9 comments · Fixed by conda-forge/r-base-feedstock#213
Open
1 task done
Labels
bug Something isn't working

Comments

@jakirkham
Copy link
Member

jakirkham commented May 13, 2022

Solution to issue cannot be found in the documentation.

  • I checked the documentation.

Issue

It appears that flags are being set by both x86_64 & aarch64 Linux compiler variants, which is leading to issues building xgboost R packages. More details in comment ( conda-forge/xgboost-feedstock#88 (comment) ). Appears related to PR ( #67 ).

Here's the CI build and the attached CI log for posterity.

cc @hcho3 @xhochy

Installed packages

_libgcc_mutex                  0.1-conda_forge         conda-forge
_openmp_mutex                  4.5-2_gnu               conda-forge
binutils_impl_linux-64         2.36.1-h193b22a_2       conda-forge
binutils_impl_linux-aarch64    2.36.1-he24a65f_2       conda-forge
binutils_linux-aarch64         2.36-h38357a0_9         conda-forge
bzip2                          1.0.8-h7f98852_4        conda-forge
c-ares                         1.18.1-h7f98852_0       conda-forge
ca-certificates                2021.10.8-ha878542_0    conda-forge
cmake                          3.23.1-h5432695_0       conda-forge
curl                           7.83.0-h2283fc2_0       conda-forge
expat                          2.4.8-h27087fc_0        conda-forge
gcc_impl_linux-64              10.3.0-hf2f2afa_16      conda-forge
gcc_impl_linux-aarch64         10.3.0-h3721c86_16      conda-forge
gcc_linux-aarch64              10.3.0-hd47fc70_9       conda-forge
gettext                        0.19.8.1-h73d1719_1008  conda-forge
git                            2.35.3-pl5321h04cb727_0 conda-forge
gxx_impl_linux-64              10.3.0-hf2f2afa_16      conda-forge
gxx_impl_linux-aarch64         10.3.0-h3721c86_16      conda-forge
gxx_linux-aarch64              10.3.0-hab23ad4_9       conda-forge
kernel-headers_linux-64        2.6.32-he073ed8_15      conda-forge
kernel-headers_linux-aarch64   4.18.0-h5b4a56d_13      conda-forge
keyutils                       1.6.1-h166bdaf_0        conda-forge
krb5                           1.19.3-h08a2579_0       conda-forge
ld_impl_linux-64               2.36.1-hea4e1c9_2       conda-forge
ld_impl_linux-aarch64          2.36.1-h4e2ea54_2       conda-forge
libcurl                        7.83.0-h2283fc2_0       conda-forge
libedit                        3.1.20191231-he28a2e2_2 conda-forge
libev                          4.33-h516909a_1         conda-forge
libffi                         3.4.2-h7f98852_5        conda-forge
libgcc-devel_linux-64          10.3.0-he6cfe16_16      conda-forge
libgcc-devel_linux-aarch64     10.3.0-hfaf2395_16      conda-forge
libgcc-ng                      11.2.0-h1d223b6_16      conda-forge
libgomp                        11.2.0-h1d223b6_16      conda-forge
libiconv                       1.16-h516909a_0         conda-forge
libnghttp2                     1.47.0-he49606f_0       conda-forge
libnsl                         2.0.0-h7f98852_0        conda-forge
libsanitizer                   10.3.0-h26c7422_16      conda-forge
libssh2                        1.10.0-ha35d2d1_2       conda-forge
libstdcxx-devel_linux-64       10.3.0-he6cfe16_16      conda-forge
libstdcxx-devel_linux-aarch64  10.3.0-hfaf2395_16      conda-forge
libstdcxx-ng                   11.2.0-he4da1e4_16      conda-forge
libuv                          1.43.0-h7f98852_0       conda-forge
libzlib                        1.2.11-h166bdaf_1014    conda-forge
lz4-c                          1.9.3-h9c3ff4c_1        conda-forge
ncurses                        6.3-h27087fc_1          conda-forge
ninja                          1.10.2-h4bd325d_1       conda-forge
openssl                        3.0.2-h166bdaf_1        conda-forge
pcre2                          10.37-h032f7d1_0        conda-forge
perl                           5.32.1-2_h7f98852_perl5 conda-forge
rhash                          1.4.1-h7f98852_0        conda-forge
sysroot_linux-64               2.12-he073ed8_15        conda-forge
sysroot_linux-aarch64          2.17-h43d7e78_13        conda-forge
tk                             8.6.12-h27826a3_0       conda-forge
xz                             5.2.5-h516909a_1        conda-forge
zlib                           1.2.11-h166bdaf_1014    conda-forge
zstd                           1.5.2-ha95c52a_0        conda-forge

Environment info

active environment : base
    active env location : /opt/conda
            shell level : 1
       user config file : /home/conda/.condarc
 populated config files : /opt/conda/.condarc
                          /home/conda/.condarc
          conda version : 4.12.0
    conda-build version : 3.21.8
         python version : 3.9.12.final.0
       virtual packages : __linux=5.13.0=0
                          __glibc=2.17=0
                          __unix=0=0
                          __archspec=1=x86_64
       base environment : /opt/conda  (writable)
      conda av data dir : /opt/conda/etc/conda
  conda av metadata url : None
           channel URLs : https://conda.anaconda.org/conda-forge/linux-64
                          https://conda.anaconda.org/conda-forge/noarch
          package cache : /opt/conda/pkgs
                          /home/conda/.conda/pkgs
       envs directories : /opt/conda/envs
                          /home/conda/.conda/envs
               platform : linux-64
             user-agent : conda/4.12.0 requests/2.27.1 CPython/3.9.12 Linux/5.13.0-1022-azure centos/7.9.2009 glibc/2.17
                UID:GID : 1001:1001
             netrc file : None
           offline mode : False
@jakirkham jakirkham added the bug Something isn't working label May 13, 2022
@jakirkham
Copy link
Member Author

cc @beckermr @isuruf

@isuruf
Copy link
Member

isuruf commented May 16, 2022

gcc_linux-aarch64 and gcc_linux-64 are not meant to be installed at the same time. Maybe r-base should depend only on the gcc_impl_ packages

@jakirkham
Copy link
Member Author

jakirkham commented May 16, 2022

Naive question, should r-base have a run time dependency on compilers at all? Or should that be up to others to add? Or perhaps be part of a split package (r-build or similar?)?

Idk the full history of the compiler dependency of r-base, but seems they were added in PR ( conda-forge/r-base-feedstock#61 ).

Interestingly this isn't the first time there have been issues with r-base's handling of compilers and downstream dependencies ( conda-forge/r-base-feedstock#111 ).

cc @conda-forge/r-base (in case others have thoughts on moving to gcc_impl_* or this issue generally)

@jakirkham
Copy link
Member Author

This came up in the conda-forge meeting today.

Basically R users expect a compiler to be available at install time and R expects it to be the same one it was built against. So this is why it is requirement. Also packages installed there are installed from source so need to be compiled (there is not a prebuilt binary format).

That said, there isn't a need to have the compiler activated, which switching to the gcc_impl_* packages should fix.

Another item that came up is whether r-base is the right package to include these in or whether there should be a more minimal package (like r-base-base or similar :) or a different split package to have it in (like r-compilers).

Of these options sounds like we will go forward with gcc_impl_*. We could discuss a different split package structure in the future

@hcho3
Copy link

hcho3 commented May 24, 2022

@jakirkham Any updates on this one? Let me know if there's anything I can help with.

@jakirkham
Copy link
Member Author

@hcho3 the comment above outlines the path forward. Have not had time to pick this up. So if this is something you are interested in and have time to pursue, feel free to give that a go. Though no worries if not

@jakirkham
Copy link
Member Author

Submitted PR ( conda-forge/r-base-feedstock#213 ) based on the recommendations above

@hcho3
Copy link

hcho3 commented Aug 8, 2022

Can we close this issue now that conda-forge/r-base-feedstock#213 is merged?

@jakirkham
Copy link
Member Author

We can. It was actually suppose to close when that PR was merged. Not sure why it didn't.

That said, it looks like PR ( conda-forge/xgboost-feedstock#88 ) is still failing. So we might want to keep this open given it looks like there may be more work to do here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants