conda-forge / ctng-compilers-feedstock

A conda-smithy repository for ctng-compilers.
BSD 3-Clause "New" or "Revised" License
12 stars 26 forks source link

Assembly error (on Linux ARM): Error: unknown pseudo-op: `.alig' #99

Closed jakirkham closed 2 years ago

jakirkham commented 2 years ago

Solution to issue cannot be found in the documentation.

Issue

Am seeing the following assembly error on CI when building for Linux ARM ( https://github.com/conda-forge/arrow-cpp-feedstock/pull/723#issuecomment-1123276844 ):

{standard input}: Assembler messages:
{standard input}:186007: Warning: end of file not at end of a line; newline inserted
{standard input}:186154: Error: unknown pseudo-op: `.alig'
aarch64-conda-linux-gnu-c++: fatal error: Killed signal terminated program cc1plus
compilation terminated.

More details in this CI log.

Installed packages

_openmp_mutex          4.5-2_gnu                      conda-forge
abseil-cpp             20210324.2-h01db608_0          conda-forge
aws-c-cal              0.5.11-h76602a3_0              conda-forge
aws-c-common           0.6.2-hf897c2e_0               conda-forge
aws-c-event-stream     0.2.7-hf314db3_13              conda-forge
aws-c-io               0.10.5-h5a3db43_0              conda-forge
aws-checksums          0.1.11-hafdcbdd_7              conda-forge
aws-sdk-cpp            1.8.186-h3fd84e4_3             conda-forge
boost-cpp              1.79.0-ha1c1135_0              conda-forge
brotli                 1.0.9-h4e544f5_7               conda-forge
brotli-bin             1.0.9-h4e544f5_7               conda-forge
bzip2                  1.0.8-hf897c2e_4               conda-forge
c-ares                 1.18.1-hf897c2e_0              conda-forge
ca-certificates        2021.10.8-h4fd8a4c_0           conda-forge
clang                  10.0.1-default_hcf6a1e0_1      conda-forge
clang-tools            10.0.1-default_hcf6a1e0_1      conda-forge
clangdev               10.0.1-default_hcf6a1e0_1      conda-forge
clangxx                10.0.1-default_hde54327_1      conda-forge
gflags                 2.2.2-h54f1f3f_1004            conda-forge
glog                   0.6.0-h8ab10f1_0               conda-forge
google-cloud-cpp       1.36.0-h82cccae_0              conda-forge
grpc-cpp               1.43.2-h4e595cf_3              conda-forge
icu                    70.1-ha18d298_0                conda-forge
keyutils               1.6.1-h4e544f5_0               conda-forge
krb5                   1.19.3-h7c456eb_0              conda-forge
ld_impl_linux-aarch64  2.36.1-h02ad14f_2              conda-forge
libblas                3.9.0-14_linuxaarch64_openblas conda-forge
libbrotlicommon        1.0.9-h4e544f5_7               conda-forge
libbrotlidec           1.0.9-h4e544f5_7               conda-forge
libbrotlienc           1.0.9-h4e544f5_7               conda-forge
libcblas               3.9.0-14_linuxaarch64_openblas conda-forge
libclang               10.0.1-default_hcf6a1e0_1      conda-forge
libclang-cpp           10.0.1-default_hcf6a1e0_1      conda-forge
libclang-cpp10         10.0.1-default_hcf6a1e0_1      conda-forge
libcrc32c              1.1.2-h01db608_0               conda-forge
libcurl                7.83.0-h8fd98b7_0              conda-forge
libedit                3.1.20191231-he28a2e2_2        conda-forge
libev                  4.33-h516909a_1                conda-forge
libevent               2.1.10-h6aed413_4              conda-forge
libffi                 3.4.2-h3557bc0_5               conda-forge
libgcc-ng              11.2.0-hf1cc4e7_16             conda-forge
libgfortran-ng         11.2.0-he9431aa_16             conda-forge
libgfortran5           11.2.0-h440fb59_16             conda-forge
libgomp                11.2.0-hf1cc4e7_16             conda-forge
libgoogle-cloud        1.36.0-h82cccae_0              conda-forge
liblapack              3.9.0-14_linuxaarch64_openblas conda-forge
libllvm10              10.0.1-he513fc3_3              conda-forge
libnghttp2             1.47.0-h75cb1c7_0              conda-forge
libnsl                 2.0.0-hf897c2e_0               conda-forge
libopenblas            0.3.20-pthreads_h6cb6f83_0     conda-forge
libprotobuf            3.19.4-h469bdbd_0              conda-forge
libssh2                1.10.0-h1ab2c7b_2              conda-forge
libstdcxx-ng           11.2.0-h0d0a5bb_16             conda-forge
libthrift              0.16.0-h0cb72c4_1              conda-forge
libutf8proc            2.7.0-hf897c2e_0               conda-forge
libuuid                2.32.1-hf897c2e_1000           conda-forge
libzlib                1.2.11-h4e544f5_1014           conda-forge
llvm-tools             10.0.1-he513fc3_3              conda-forge
llvmdev                10.0.1-he513fc3_3              conda-forge
lz4-c                  1.9.3-h01db608_1               conda-forge
ncurses                6.3-headf329_1                 conda-forge
nlohmann_json          3.10.5-h01db608_0              conda-forge
numpy                  1.19.5-py39h53e47e4_3          conda-forge
openssl                1.1.1o-h4e544f5_0              conda-forge
orc                    1.7.3-h5c30ecb_0               conda-forge
python                 3.9.12-h2eada40_1_cpython      conda-forge
python_abi             3.9-2_cp39                     conda-forge
rapidjson              1.1.0-h54f1f3f_1002            conda-forge
re2                    2022.02.01-h01db608_0          conda-forge
readline               8.1-h1a49cc3_0                 conda-forge
s2n                    1.0.10-h6aed413_0              conda-forge
snappy                 1.1.9-hc7e91e1_0               conda-forge
sqlite                 3.38.5-hc74f5b8_0              conda-forge
thrift-compiler        0.16.0-h0cb72c4_1              conda-forge
thrift-cpp             0.16.0-ha072818_1              conda-forge
tk                     8.6.12-hd8af866_0              conda-forge
tzdata                 2022a-h191b570_0               conda-forge
xz                     5.2.5-h6dd45c4_1               conda-forge
zlib                   1.2.11-h4e544f5_1014           conda-forge
zstd                   1.5.2-h41fb7a4_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=aarch64
       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-aarch64
                          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-aarch64
             user-agent : conda/4.12.0 requests/2.27.1 CPython/3.9.12 Linux/5.13.0-35-generic centos/7.9.2009 glibc/2.17
                UID:GID : 1000:1000
             netrc file : None
           offline mode : False
jakirkham commented 2 years ago

Would think the assembly op would be .align so this may just be a typo somewhere. Searching for similar issues seems to reveal a similar core issue (some typo somewhere). Not seeing any assembly in the source code (though could be overlooking something). Also not seeing this error in x86_64 or other builds. So wondering if this may be a compiler bug of some kind. Though could be wrong about that

isuruf commented 2 years ago

Not an issue of the compiler. The compiler backend (cc1plus) got killed by a signal (maybe it was using too much memory?) and the front end (g++) passed the incomplete file to the assembler.

jakirkham commented 2 years ago

Good eye. Missed that. Yeah oversubscription seems like a potential cause. Will try dialing back the build threads used further. Thanks! 🙏