Skip to content

Can't compile for armv7 architectureΒ #54

@floreal

Description

@floreal

Hello,

When trying to install paru on my armvv7 machine I got a bunch of errors (see bellow):

I'm trying to compile it for my Odroid XU-4.

My uname:

Linux alarm 6.6.102-1-odroid-xu3-ARCH #1 SMP PREEMPT Sat Aug 23 16:07:33 MDT 2025 armv7l GNU/Linux

Here is my lscpu:

Architecture:                armv7l
  Byte Order:                Little Endian
CPU(s):                      8
  On-line CPU(s) list:       0-7
Vendor ID:                   0x41
  Model name:                ARMv7 Processor rev 3 (v7l)
    Model:                   3
    Thread(s) per core:      1
    Core(s) per socket:      4
    Socket(s):               1
    Stepping:                0x0
    CPU(s) scaling MHz:      86%
    CPU max MHz:             1400.0000
    CPU min MHz:             200.0000
    BogoMIPS:                72.00
    Flags:                   half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
  Model name:                ARMv7 Processor rev 3 (v7l)
    Model:                   3
    Thread(s) per core:      1
    Core(s) per socket:      4
    Socket(s):               1
    Stepping:                0x2
    CPU(s) scaling MHz:      95%
    CPU max MHz:             2000.0000
    CPU min MHz:             200.0000
    BogoMIPS:                114.00
    Flags:                   half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
Vulnerabilities:             
  Gather data sampling:      Not affected
  Indirect target selection: Not affected
  Itlb multihit:             Not affected
  L1tf:                      Not affected
  Mds:                       Not affected
  Meltdown:                  Not affected
  Mmio stale data:           Not affected
  Reg file data sampling:    Not affected
  Retbleed:                  Not affected
  Spec rstack overflow:      Not affected
  Spec store bypass:         Not affected
  Spectre v1:                Mitigation; __user pointer sanitization
  Spectre v2:                Mitigation; History overwrite
  Srbds:                     Not affected
  Tsa:                       Not affected
  Tsx async abort:           Not affected

I'd like to learn how to handle this (I'm suspecting some code configuration is missing for this cpu architecture to properly handle C types in the bindings)

error[E0080]: evaluation of constant value failed
  --> /home/floreal/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/alpm-sys-4.0.3/src/ffi.rs:27:30
   |
27 |     ["Size of _alpm_list_t"][::std::mem::size_of::<_alpm_list_t>() - 24usize];
   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to compute `12_usize - 24_usize`, which would overflow

error[E0080]: evaluation of constant value failed
   --> /home/floreal/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/alpm-sys-4.0.3/src/ffi.rs:205:35
    |
205 |     ["Size of _alpm_pkg_xdata_t"][::std::mem::size_of::<_alpm_pkg_xdata_t>() - 16usize];
    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to compute `8_usize - 16_usize`, which would overflow

error[E0080]: evaluation of constant value failed
   --> /home/floreal/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/alpm-sys-4.0.3/src/ffi.rs:229:30
    |
229 |     ["Size of _alpm_file_t"][::std::mem::size_of::<_alpm_file_t>() - 24usize];
    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to compute `12_usize - 24_usize`, which would overflow

error[E0080]: evaluation of constant value failed
   --> /home/floreal/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/alpm-sys-4.0.3/src/ffi.rs:248:34
    |
248 |     ["Size of _alpm_filelist_t"][::std::mem::size_of::<_alpm_filelist_t>() - 16usize];
    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to compute `8_usize - 16_usize`, which would overflow

error[E0080]: evaluation of constant value failed
   --> /home/floreal/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/alpm-sys-4.0.3/src/ffi.rs:268:32
    |
268 |     ["Size of _alpm_backup_t"][::std::mem::size_of::<_alpm_backup_t>() - 16usize];
    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to compute `8_usize - 16_usize`, which would overflow

error[E0080]: evaluation of constant value failed
   --> /home/floreal/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/alpm-sys-4.0.3/src/ffi.rs:295:31
    |
295 |     ["Size of _alpm_group_t"][::std::mem::size_of::<_alpm_group_t>() - 16usize];
    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to compute `8_usize - 16_usize`, which would overflow

error[E0080]: evaluation of constant value failed
   --> /home/floreal/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/alpm-sys-4.0.3/src/ffi.rs:532:32
    |
532 |     ["Size of _alpm_pgpkey_t"][::std::mem::size_of::<_alpm_pgpkey_t>() - 72usize];
    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to compute `56_usize - 72_usize`, which would overflow

error[E0080]: evaluation of constant value failed
   --> /home/floreal/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/alpm-sys-4.0.3/src/ffi.rs:569:35
    |
569 |     ["Size of _alpm_sigresult_t"][::std::mem::size_of::<_alpm_sigresult_t>() - 80usize];
    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to compute `64_usize - 80_usize`, which would overflow

error[E0080]: evaluation of constant value failed
   --> /home/floreal/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/alpm-sys-4.0.3/src/ffi.rs:591:33
    |
591 |     ["Size of _alpm_siglist_t"][::std::mem::size_of::<_alpm_siglist_t>() - 16usize];
    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to compute `8_usize - 16_usize`, which would overflow

error[E0080]: evaluation of constant value failed
   --> /home/floreal/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/alpm-sys-4.0.3/src/ffi.rs:683:32
    |
683 |     ["Size of _alpm_depend_t"][::std::mem::size_of::<_alpm_depend_t>() - 40usize];
    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to compute `20_usize - 40_usize`, which would overflow

error[E0080]: evaluation of constant value failed
   --> /home/floreal/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/alpm-sys-4.0.3/src/ffi.rs:711:36
    |
711 |     ["Size of _alpm_depmissing_t"][::std::mem::size_of::<_alpm_depmissing_t>() - 24usize];
    |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to compute `12_usize - 24_usize`, which would overflow

error[E0080]: evaluation of constant value failed
   --> /home/floreal/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/alpm-sys-4.0.3/src/ffi.rs:735:34
    |
735 |     ["Size of _alpm_conflict_t"][::std::mem::size_of::<_alpm_conflict_t>() - 24usize];
    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to compute `12_usize - 24_usize`, which would overflow

error[E0080]: evaluation of constant value failed
   --> /home/floreal/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/alpm-sys-4.0.3/src/ffi.rs:761:38
    |
761 |     ["Size of _alpm_fileconflict_t"][::std::mem::size_of::<_alpm_fileconflict_t>() - 32usize];
    |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to compute `16_usize - 32_usize`, which would overflow

error[E0080]: evaluation of constant value failed
   --> /home/floreal/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/alpm-sys-4.0.3/src/ffi.rs:960:10
    |
960 |         [::std::mem::size_of::<_alpm_event_package_operation_t>() - 24usize];
    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to compute `16_usize - 24_usize`, which would overflow

error[E0080]: evaluation of constant value failed
   --> /home/floreal/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/alpm-sys-4.0.3/src/ffi.rs:988:10
    |
988 |         [::std::mem::size_of::<_alpm_event_optdep_removal_t>() - 24usize];
    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to compute `12_usize - 24_usize`, which would overflow

error[E0080]: evaluation of constant value failed
    --> /home/floreal/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/alpm-sys-4.0.3/src/ffi.rs:1012:10
     |
1012 |         [::std::mem::size_of::<_alpm_event_scriptlet_info_t>() - 16usize];
     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to compute `8_usize - 16_usize`, which would overflow

error[E0080]: evaluation of constant value failed
    --> /home/floreal/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/alpm-sys-4.0.3/src/ffi.rs:1034:10
     |
1034 |         [::std::mem::size_of::<_alpm_event_database_missing_t>() - 16usize];
     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to compute `8_usize - 16_usize`, which would overflow

error[E0080]: evaluation of constant value failed
    --> /home/floreal/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/alpm-sys-4.0.3/src/ffi.rs:1056:10
     |
1056 |         [::std::mem::size_of::<_alpm_event_pkgdownload_t>() - 16usize];
     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to compute `8_usize - 16_usize`, which would overflow

error[E0080]: evaluation of constant value failed
    --> /home/floreal/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/alpm-sys-4.0.3/src/ffi.rs:1084:10
     |
1084 |         [::std::mem::size_of::<_alpm_event_pacnew_created_t>() - 32usize];
     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to compute `20_usize - 32_usize`, which would overflow

error[E0080]: evaluation of constant value failed
    --> /home/floreal/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/alpm-sys-4.0.3/src/ffi.rs:1114:10
     |
1114 |         [::std::mem::size_of::<_alpm_event_pacsave_created_t>() - 24usize];
     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to compute `12_usize - 24_usize`, which would overflow

error[E0080]: evaluation of constant value failed
    --> /home/floreal/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/alpm-sys-4.0.3/src/ffi.rs:1172:40
     |
1172 |     ["Size of _alpm_event_hook_run_t"][::std::mem::size_of::<_alpm_event_hook_run_t>() - 40usize];
     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to compute `20_usize - 40_usize`, which would overflow

error[E0080]: evaluation of constant value failed
    --> /home/floreal/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/alpm-sys-4.0.3/src/ffi.rs:1202:10
     |
1202 |         [::std::mem::size_of::<_alpm_event_pkg_retrieve_t>() - 24usize];
     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to compute `12_usize - 24_usize`, which would overflow

error[E0080]: evaluation of constant value failed
    --> /home/floreal/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/alpm-sys-4.0.3/src/ffi.rs:1245:31
     |
1245 |     ["Size of _alpm_event_t"][::std::mem::size_of::<_alpm_event_t>() - 40usize];
     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to compute `20_usize - 40_usize`, which would overflow

error[E0080]: evaluation of constant value failed
    --> /home/floreal/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/alpm-sys-4.0.3/src/ffi.rs:1330:10
     |
1330 |         [::std::mem::size_of::<_alpm_question_install_ignorepkg_t>() - 16usize];
     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to compute `12_usize - 16_usize`, which would overflow

error[E0080]: evaluation of constant value failed
    --> /home/floreal/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/alpm-sys-4.0.3/src/ffi.rs:1360:10
     |
1360 |         [::std::mem::size_of::<_alpm_question_replace_t>() - 32usize];
     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to compute `20_usize - 32_usize`, which would overflow

error[E0080]: evaluation of constant value failed
    --> /home/floreal/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/alpm-sys-4.0.3/src/ffi.rs:1390:10
     |
1390 |         [::std::mem::size_of::<_alpm_question_conflict_t>() - 16usize];
     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to compute `12_usize - 16_usize`, which would overflow

error[E0080]: evaluation of constant value failed
    --> /home/floreal/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/alpm-sys-4.0.3/src/ffi.rs:1418:10
     |
1418 |         [::std::mem::size_of::<_alpm_question_corrupted_t>() - 24usize];
     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to compute `16_usize - 24_usize`, which would overflow

error[E0080]: evaluation of constant value failed
    --> /home/floreal/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/alpm-sys-4.0.3/src/ffi.rs:1446:10
     |
1446 |         [::std::mem::size_of::<_alpm_question_remove_pkgs_t>() - 16usize];
     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to compute `12_usize - 16_usize`, which would overflow

error[E0080]: evaluation of constant value failed
    --> /home/floreal/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/alpm-sys-4.0.3/src/ffi.rs:1474:10
     |
1474 |         [::std::mem::size_of::<_alpm_question_select_provider_t>() - 24usize];
     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to compute `16_usize - 24_usize`, which would overflow

error[E0080]: evaluation of constant value failed
    --> /home/floreal/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/alpm-sys-4.0.3/src/ffi.rs:1504:10
     |
1504 |         [::std::mem::size_of::<_alpm_question_import_key_t>() - 24usize];
     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to compute `16_usize - 24_usize`, which would overflow

error[E0080]: evaluation of constant value failed
    --> /home/floreal/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/alpm-sys-4.0.3/src/ffi.rs:1543:34
     |
1543 |     ["Size of _alpm_question_t"][::std::mem::size_of::<_alpm_question_t>() - 32usize];
     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to compute `20_usize - 32_usize`, which would overflow

error[E0080]: evaluation of constant value failed
    --> /home/floreal/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/alpm-sys-4.0.3/src/ffi.rs:1653:10
     |
1653 |         [::std::mem::size_of::<_alpm_download_event_progress_t>() - 16usize];
     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to compute `8_usize - 16_usize`, which would overflow

error[E0080]: evaluation of constant value failed
    --> /home/floreal/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/alpm-sys-4.0.3/src/ffi.rs:1693:10
     |
1693 |         [::std::mem::size_of::<_alpm_download_event_completed_t>() - 16usize];
     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to compute `8_usize - 16_usize`, which would overflow

error[E0080]: evaluation of constant value failed
    --> /home/floreal/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/alpm-sys-4.0.3/src/ffi.rs:2834:31
     |
2834 |     ["Size of __va_list_tag"][::std::mem::size_of::<__va_list_tag>() - 24usize];
     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to compute `16_usize - 24_usize`, which would overflow

For more information about this error, try `rustc --explain E0080`.
error: could not compile `alpm-sys` (lib) due to 34 previous errors

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions