Project

General

Profile

Bug #4204

rust: undefined symbol: llvm.x86.subborrow.64

Added by Uve Lokk 7 months ago. Updated 22 days ago.

Status:
Assigned
Priority:
Normal
Target version:
Affected Versions:
Effort:
Difficulty:
Label:
Needs backport, Rust

Description

The compilation of Suricata 6.0.1 in Debian 10 x86_64 ends with an error:

$ ./configure
/.../
$ make clean
/.../
$ make
/.../
   Compiling x509-parser v0.6.5
   Compiling der-parser v4.1.0
error: /usr/src/suricata-6.0.1/rust/target/release/deps/libder_oid_macro-6303e17a207c2efa.so: undefined symbol: llvm.x86.subborrow.64
   --> /usr/src/suricata-6.0.1/rust/vendor/der-parser/src/lib.rs:171:9
    |
171 | pub use der_oid_macro::oid;
    |         ^^^^^^^^^^^^^

error: aborting due to previous error

error: could not compile `der-parser`.
warning: build failed, waiting for other jobs to finish...
error: build failed
make[1]: *** [Makefile:544: all-local] Error 101
make[1]: Leaving directory '/usr/src/suricata-6.0.1/rust'
make: *** [Makefile:492: all-recursive] Error 1
$/usr/src/suricata-6.0.1# ldd /usr/src/suricata-6.0.1/rust/target/release/deps/libder_oid_macro-6303e17a207c2efa.so
    linux-vdso.so.1 (0x00007ffd8c5af000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fe64e875000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fe64e86b000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fe64e84a000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fe64e830000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fe64e66f000)
    /lib64/ld-linux-x86-64.so.2 (0x00007fe64e9de000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fe64e4ec000)
#1

Updated by Victor Julien 7 months ago

  • Priority changed from High to Normal
  • Target version changed from 6.0.1 to 6.0.2

We suspect this is a bug in Debians rustc package, see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=976601

A workaround is to use rustup to install rust.

#2

Updated by Victor Julien 4 months ago

  • Status changed from New to Assigned
  • Assignee set to Pierre Chifflier
  • Target version changed from 6.0.2 to 7.0rc1
  • Label Needs backport added

This issue appears to be a mix of how der-parser is working combined with some issue in Debian related to different llvm versions. Pierre is working on a way to address this in the der-parser crate.

#3

Updated by Jeff Lucovsky 4 months ago

Is a backport needed for 5.0.x?

#4

Updated by Vito Piserchia 22 days ago

This has been solved in debian using this:

--- a/rust/vendor/der-parser/src/lib.rs
+++ b/rust/vendor/der-parser/src/lib.rs
@@ -166,6 +166,6 @@

 use proc_macro_hack::proc_macro_hack;

-#[proc_macro_hack]
-/// Procedural macro to get encoded oids, see the [oid module](oid/index.html).
-pub use der_oid_macro::oid;
+//#[proc_macro_hack]
+///// Procedural macro to get encoded oids, see the [oid module](oid/index.html).
+//pub use der_oid_macro::oid;
--- a/rust/vendor/der-parser/.cargo-checksum.json
+++ b/rust/vendor/der-parser/.cargo-checksum.json
@@ -1 +1 @@
-{"files":{".travis.yml":"0b19777da412e2ca367473479d95a122943938502966ecd7ce2e01c5a74b486e","CHANGELOG.md":"558c54b9259675e9acf1bd3bf303428c17232cc21ef5a3ee4feccd5b00235aa1","Cargo.toml":"9d7011d6e3eadebd6e32f604424e639ac504d607399e61b29e84998ca3a72771","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"a5c61b93b6ee1d104af9920cf020ff3c7efe818e31fe562c72261847a728f513","README.md":"6ab50073cc39ccaf6c258e3e0d8d97bd1633eaf5a2bc98c13bcb2b9c7693aee6","UPGRADING.md":"a9d44fde018a0066ad440f3848b50b262a68f76843d28cdebcef3f1128989dd6","src/ber/ber.rs":"b69b2d3e1a77042b1f4c176c892f497079771a513f74cab4b25d2de2df4a7b50","src/ber/mod.rs":"8fafa0402f4f14a98bc61248d4e9ae11bb95bb56d2b7ef194df9baf5a203c911","src/ber/multi.rs":"c03940b11e1a61f2904b96fa80070f4fed9cb7dea8a6231c57bea50f25a882b0","src/ber/parser.rs":"9c0d7b93b3c583918525148fbbb3af06df82b328b4fd8f42b98dcbb652ef8eb7","src/ber/print.rs":"e68c2c4afa172b8289d085086dc5b1dc1e76f92ab1bcaeba1f747527298fd4cf","src/ber/serialize.rs":"4f08fd9e17381f97a50609ef714263720b071ff18253a2fda258fb7fc7780016","src/ber/tagged.rs":"564ecffd403712dad37529279d73a3a19de94498d8125fc5a353ab7c7bd96cfe","src/der/mod.rs":"0364bb979648a677d44efa713dae157dca776e9b7ade86ce0eb6eb43d28056da","src/der/parser.rs":"06909ee0188926a0d154bd072fca614a54dc272fafa557547b967b13844fc1a9","src/error.rs":"2d120f52186528a6681c647b4a4f97083b0601cd6229681b96211d83d10a8599","src/lib.rs":"b478a1fea918f63143d91d79ecb1c1fcbf28f25c496051f5f1a2c911a3d9f261","src/macros.rs":"b17fbf2307e6eed10f729070db93ed3551baf6d17da6b0335d009ea2d287897f","src/oid.rs":"1c1b1110533e0e80650c28225fd4916278b1dc845432c2d129d9c6aa22fff051","tests/ber_parser.rs":"a845c0a0236ca8061c06e8f8bd9afa4b869341704610b11436de05521e9d935e","tests/constructed.rs":"f46abe4f4f99d2f12b6506016c193ed71107ddc963cd40de703f8c417a728acd","tests/der_parser.rs":"c9a5fc02f2a4d419960eba70ef6842922097fa7a5dabf1281f3f31ca7f369dc5","tests/fuzz01.rs":"b1929c8183fdba11ea73618ef48b23d4d3d39df79ac70e1c46787c3dcfcf9ec9","tests/fuzz02.rs":"b1e4ae20a40bb74887b7d62e9bbec5919f7c963b3f699e01888755e3637877a5","tests/macros.rs":"f78d75ccaa2c66593c6bee6884d817bdb68f84057665ad12d71b642f7d234137","tests/oid.rs":"cab265dbb0e47c53b258abf0475f5356c836a8ec0180facbb942e2651da17be2","tests/primitive.rs":"e9d4aec6435a7251df3b2c04cc124f4c40e07b96f78c06f8eb7b229fbb6c85e2"},"package":"caca07c50eaae94d43e21f4d14eca5543b6f5f5ce64715e9b7665ac5f5185b4e"}
\ No newline at end of file
+{"files":{".travis.yml":"0b19777da412e2ca367473479d95a122943938502966ecd7ce2e01c5a74b486e","CHANGELOG.md":"558c54b9259675e9acf1bd3bf303428c17232cc21ef5a3ee4feccd5b00235aa1","Cargo.toml":"9d7011d6e3eadebd6e32f604424e639ac504d607399e61b29e84998ca3a72771","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"a5c61b93b6ee1d104af9920cf020ff3c7efe818e31fe562c72261847a728f513","README.md":"6ab50073cc39ccaf6c258e3e0d8d97bd1633eaf5a2bc98c13bcb2b9c7693aee6","UPGRADING.md":"a9d44fde018a0066ad440f3848b50b262a68f76843d28cdebcef3f1128989dd6","src/ber/ber.rs":"b69b2d3e1a77042b1f4c176c892f497079771a513f74cab4b25d2de2df4a7b50","src/ber/mod.rs":"8fafa0402f4f14a98bc61248d4e9ae11bb95bb56d2b7ef194df9baf5a203c911","src/ber/multi.rs":"c03940b11e1a61f2904b96fa80070f4fed9cb7dea8a6231c57bea50f25a882b0","src/ber/parser.rs":"9c0d7b93b3c583918525148fbbb3af06df82b328b4fd8f42b98dcbb652ef8eb7","src/ber/print.rs":"e68c2c4afa172b8289d085086dc5b1dc1e76f92ab1bcaeba1f747527298fd4cf","src/ber/serialize.rs":"4f08fd9e17381f97a50609ef714263720b071ff18253a2fda258fb7fc7780016","src/ber/tagged.rs":"564ecffd403712dad37529279d73a3a19de94498d8125fc5a353ab7c7bd96cfe","src/der/mod.rs":"0364bb979648a677d44efa713dae157dca776e9b7ade86ce0eb6eb43d28056da","src/der/parser.rs":"06909ee0188926a0d154bd072fca614a54dc272fafa557547b967b13844fc1a9","src/error.rs":"2d120f52186528a6681c647b4a4f97083b0601cd6229681b96211d83d10a8599","src/lib.rs":"a21b35beacfbd81e9d8ec516c847af0692c8f9eceee9d2578139baadbf827f75","src/macros.rs":"b17fbf2307e6eed10f729070db93ed3551baf6d17da6b0335d009ea2d287897f","src/oid.rs":"1c1b1110533e0e80650c28225fd4916278b1dc845432c2d129d9c6aa22fff051","tests/ber_parser.rs":"a845c0a0236ca8061c06e8f8bd9afa4b869341704610b11436de05521e9d935e","tests/constructed.rs":"f46abe4f4f99d2f12b6506016c193ed71107ddc963cd40de703f8c417a728acd","tests/der_parser.rs":"c9a5fc02f2a4d419960eba70ef6842922097fa7a5dabf1281f3f31ca7f369dc5","tests/fuzz01.rs":"b1929c8183fdba11ea73618ef48b23d4d3d39df79ac70e1c46787c3dcfcf9ec9","tests/fuzz02.rs":"b1e4ae20a40bb74887b7d62e9bbec5919f7c963b3f699e01888755e3637877a5","tests/macros.rs":"f78d75ccaa2c66593c6bee6884d817bdb68f84057665ad12d71b642f7d234137","tests/oid.rs":"cab265dbb0e47c53b258abf0475f5356c836a8ec0180facbb942e2651da17be2","tests/primitive.rs":"e9d4aec6435a7251df3b2c04cc124f4c40e07b96f78c06f8eb7b229fbb6c85e2"},"package":"caca07c50eaae94d43e21f4d14eca5543b6f5f5ce64715e9b7665ac5f5185b4e"}

Already solved in https://packages.debian.org/buster-backports/suricata package and applicable to 6.0.2 exactly in the same way

Also available in: Atom PDF