eddelbuettel / digest

R package to create compact hash digests of R objects
https://eddelbuettel.github.io/digest
111 stars 47 forks source link

fatal error: xmmintrin.h: No such file or directory #193

Closed leechaowen closed 1 year ago

leechaowen commented 1 year ago

I meet such issue on the aarch64 platform. What does that mean fatal error: xmmintrin.h: No such file or directory ? Could you help to fix it ? Thanks.

root@Xubuntu:/# R

R version 4.3.1 (2023-06-16) -- "Beagle Scouts"
Copyright (C) 2023 The R Foundation for Statistical Computing
Platform: aarch64-unknown-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> install.packages("digest")
trying URL 'https://mirrors.tuna.tsinghua.edu.cn/CRAN/src/contrib/digest_0.6.32.tar.gz'
Content type 'application/octet-stream' length 177411 bytes (173 KB)
==================================================
downloaded 173 KB

* installing *source* package 'digest' ...
** package 'digest' successfully unpacked and MD5 sums checked
** using staged installation
** libs
using C compiler: 'gcc (Ubuntu 11.3.0-1ubuntu1~22.04.1) 11.3.0'
using C++ compiler: 'g++ (Ubuntu 11.3.0-1ubuntu1~22.04.1) 11.3.0'
g++ -std=gnu++17 -I"/usr/local/R-4.3.1/lib/R/include" -DNDEBUG -I.  -I/usr/local/include    -fPIC  -g -O2  -c SpookyV2.cpp -o Spook                                                                           yV2.o
gcc -I"/usr/local/R-4.3.1/lib/R/include" -DNDEBUG -I.  -I/usr/local/include    -fPIC  -g -O2  -c aes.c -o aes.o
gcc -I"/usr/local/R-4.3.1/lib/R/include" -DNDEBUG -I.  -I/usr/local/include    -fPIC  -g -O2  -c blake3.c -o blake3.o
In file included from /usr/include/string.h:535,
                 from blake3.c:11:
In function 'memcpy',
    inlined from 'compress_subtree_to_parent_node' at blake3.c:357:5,
    inlined from 'blake3_hasher_update.part.0' at blake3.c:535:7:
/usr/include/aarch64-linux-gnu/bits/string_fortified.h:29:10: warning: '__builtin_memcpy' reading 64 bytes from a region of size 32                                                                            [-Wstringop-overread]
   29 |   return __builtin___memcpy_chk (__dest, __src, __len,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   30 |                                  __glibc_objsize0 (__dest));
      |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/aarch64-linux-gnu/bits/string_fortified.h: In function 'blake3_hasher_update.part.0':
blake3.c:353:11: note: source object 'out_array' of size 32
  353 |   uint8_t out_array[MAX_SIMD_DEGREE_OR_2 * BLAKE3_OUT_LEN / 2];
      |           ^~~~~~~~~
In file included from /usr/include/string.h:535,
                 from blake3.c:11:
In function 'memcpy',
    inlined from 'compress_parents_parallel' at blake3.c:244:5,
    inlined from 'compress_subtree_to_parent_node' at blake3.c:356:9,
    inlined from 'blake3_hasher_update.part.0' at blake3.c:535:7:
/usr/include/aarch64-linux-gnu/bits/string_fortified.h:29:10: warning: '__builtin_memcpy' writing 32 bytes into a region of size 0                                                                            overflows the destination [-Wstringop-overflow=]
   29 |   return __builtin___memcpy_chk (__dest, __src, __len,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   30 |                                  __glibc_objsize0 (__dest));
      |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/aarch64-linux-gnu/bits/string_fortified.h: In function 'blake3_hasher_update.part.0':
blake3.c:353:11: note: at offset 32 into destination object 'out_array' of size 32
  353 |   uint8_t out_array[MAX_SIMD_DEGREE_OR_2 * BLAKE3_OUT_LEN / 2];
      |           ^~~~~~~~~
In file included from /usr/include/string.h:535,
                 from blake3.c:11:
In function 'memcpy',
    inlined from 'compress_subtree_to_parent_node' at blake3.c:357:5,
    inlined from 'blake3_hasher_update.part.0' at blake3.c:535:7:
/usr/include/aarch64-linux-gnu/bits/string_fortified.h:29:10: warning: '__builtin_memcpy' reading 64 bytes from a region of size 32                                                                            [-Wstringop-overread]
   29 |   return __builtin___memcpy_chk (__dest, __src, __len,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   30 |                                  __glibc_objsize0 (__dest));
      |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/aarch64-linux-gnu/bits/string_fortified.h: In function 'blake3_hasher_update.part.0':
blake3.c:353:11: note: source object 'out_array' of size 32
  353 |   uint8_t out_array[MAX_SIMD_DEGREE_OR_2 * BLAKE3_OUT_LEN / 2];
      |           ^~~~~~~~~
In file included from /usr/include/string.h:535,
                 from blake3.c:11:
In function 'memcpy',
    inlined from 'compress_parents_parallel' at blake3.c:244:5,
    inlined from 'compress_subtree_to_parent_node' at blake3.c:356:9,
    inlined from 'blake3_hasher_update.part.0' at blake3.c:535:7:
/usr/include/aarch64-linux-gnu/bits/string_fortified.h:29:10: warning: '__builtin_memcpy' writing 32 bytes into a region of size 0                                                                            overflows the destination [-Wstringop-overflow=]
   29 |   return __builtin___memcpy_chk (__dest, __src, __len,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   30 |                                  __glibc_objsize0 (__dest));
      |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/aarch64-linux-gnu/bits/string_fortified.h: In function 'blake3_hasher_update.part.0':
blake3.c:353:11: note: at offset 64 into destination object 'out_array' of size 32
  353 |   uint8_t out_array[MAX_SIMD_DEGREE_OR_2 * BLAKE3_OUT_LEN / 2];
      |           ^~~~~~~~~
In file included from /usr/include/string.h:535,
                 from blake3.c:11:
In function 'memcpy',
    inlined from 'compress_subtree_to_parent_node' at blake3.c:357:5,
    inlined from 'blake3_hasher_update.part.0' at blake3.c:535:7:
/usr/include/aarch64-linux-gnu/bits/string_fortified.h:29:10: warning: '__builtin_memcpy' reading 96 bytes from a region of size 32                                                                            [-Wstringop-overread]
   29 |   return __builtin___memcpy_chk (__dest, __src, __len,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   30 |                                  __glibc_objsize0 (__dest));
      |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/aarch64-linux-gnu/bits/string_fortified.h: In function 'blake3_hasher_update.part.0':
blake3.c:353:11: note: source object 'out_array' of size 32
  353 |   uint8_t out_array[MAX_SIMD_DEGREE_OR_2 * BLAKE3_OUT_LEN / 2];
      |           ^~~~~~~~~
gcc -I"/usr/local/R-4.3.1/lib/R/include" -DNDEBUG -I.  -I/usr/local/include    -fPIC  -g -O2  -c blake3_dispatch.c -o blake3_dispat                                                                           ch.o
gcc -I"/usr/local/R-4.3.1/lib/R/include" -DNDEBUG -I.  -I/usr/local/include    -fPIC  -g -O2  -c blake3_portable.c -o blake3_portab                                                                           le.o
gcc -I"/usr/local/R-4.3.1/lib/R/include" -DNDEBUG -I.  -I/usr/local/include    -fPIC  -g -O2  -c crc32.c -o crc32.o
g++ -std=gnu++17 -I"/usr/local/R-4.3.1/lib/R/include" -DNDEBUG -I.  -I/usr/local/include    -fPIC  -g -O2  -c crc32c.cpp -o crc32c.                                                                           o
g++ -std=gnu++17 -I"/usr/local/R-4.3.1/lib/R/include" -DNDEBUG -I.  -I/usr/local/include    -fPIC  -g -O2  -c crc32c_portable.cpp -                                                                           o crc32c_portable.o
In file included from crc32c_portable.cpp:10:
crc32c/crc32c_prefetch.h:18:10: fatal error: xmmintrin.h: No such file or directory
   18 | #include <xmmintrin.h>
      |          ^~~~~~~~~~~~~
compilation terminated.
make: *** [/usr/local/R-4.3.1/lib/R/etc/Makeconf:200: crc32c_portable.o] Error 1
ERROR: compilation failed for package 'digest'
* removing '/usr/local/R-4.3.1/lib/R/library/digest'

The downloaded source packages are in
        '/tmp/RtmpG8JDPa/downloaded_packages'
Updating HTML index of packages in '.Library'
Making 'packages.html' ... done
Warning message:
In install.packages("digest") :
  installation of package 'digest' had non-zero exit status
>

> print(.Platform)
$OS.type
[1] "unix"

$file.sep
[1] "/"

$dynlib.ext
[1] ".so"

$GUI
[1] "unknown"

$endian
[1] "little"

$pkgType
[1] "source"

$path.sep
[1] ":"

$r_arch
[1] ""

> print(sessionInfo())
R version 4.3.1 (2023-06-16)
Platform: aarch64-unknown-linux-gnu (64-bit)
Running under: Ubuntu 22.04.1 LTS

Matrix products: default
BLAS:   /usr/local/R-4.3.1/lib/R/lib/libRblas.so
LAPACK: /usr/lib/aarch64-linux-gnu/lapack/liblapack.so.3.10.0

locale:
[1] C

time zone: Asia/Shanghai
tzcode source: system (glibc)

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

loaded via a namespace (and not attached):
[1] compiler_4.3.1 tools_4.3.1
>
leechaowen commented 1 year ago

Sorry, i check there has others raise this issue in the closed issue. Could install this packages from github not from CRAN, wait CRAN ready is long time.