Android armv7 cross-compilation failure
Hi guys, I'm getting an error trying to cross-compile for android armv7, as a reference, both armv8 and x64 android targets work fine (as well as windows targets, and a whole bunch of linux targets).
LLVM complains about an Unknown specifier in datalayout string
. Here is the full build log:
make -j8
in dir /home/embybuilder/Buildbot/armv7_android/librsvg-armv7_android/build/librsvg-2.54.4 (timeout 3600 secs)
watching logfiles {}
argv: [b'make', b'-j8']
environment:
AR=llvm-ar
AS=arm-linux-androideabi-clang
CC=arm-linux-androideabi-clang
CFLAGS=-march=armv7-a -mfloat-abi=softfp -mfpu=neon -mthumb -Os -pipe -I/home/embybuilder/Buildbot/armv7_android/staging/include
CHOST=arm-linux-androideabi
CPPFLAGS= -I/home/embybuilder/Buildbot/armv7_android/staging/include
CXX=arm-linux-androideabi-clang++
CXXFLAGS=-march=armv7-a -mfloat-abi=softfp -mfpu=neon -mthumb -Os -pipe -I/home/embybuilder/Buildbot/armv7_android/staging/include
HOME=/home/embybuilder
INVOCATION_ID=5dbf3a9c448d4b348c0f0a5dcd7c2bf9
JOURNAL_STREAM=8:34746110
LANG=en_US.UTF-8
LC_ALL=en_US.UTF-8
LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -fuse-ld=gold -static-libstdc++ -L/home/embybuilder/Buildbot/armv7_android/staging/lib -Wl,-rpath-link,/home/embybuilder/Buildbot/armv7_android/staging/lib
LIBTOOL=libtool
LOGNAME=embybuilder
NM=llvm-nm
OSXCROSS_PKG_CONFIG_USE_NATIVE_VARIABLES=1
PATH=/home/embybuilder/Buildbot/armv7_android/toolchain/bin:/home/embybuilder/Buildbot/armv7_android/staging/bin:/home/embybuilder/Buildbot/armv7_android/staging/sbin:/usr/local/sbin:/usr/local/bin:/usr/bin:/var/lib/snapd/snap/bin
PKG_CONFIG=pkg-config
PKG_CONFIG_LIBDIR=/home/embybuilder/Buildbot/armv7_android/staging/lib/pkgconfig:/home/embybuilder/Buildbot/armv7_android/staging/share/pkgconfig
PKG_CONFIG_PATH=/home/embybuilder/Buildbot/armv7_android/staging/lib/pkgconfig:/home/embybuilder/Buildbot/armv7_android/staging/share/pkgconfig
PWD=/home/embybuilder/Buildbot/armv7_android/librsvg-armv7_android/build/librsvg-2.54.4
RANLIB=arm-linux-androideabi-ranlib
RUST_TARGET=armv7-linux-androideabi
SHELL=/usr/bin/fish
STRINGS=arm-linux-androideabi-strings
STRIP=arm-linux-androideabi-strip
SYSTEMD_EXEC_PID=1757088
USER=embybuilder
XDG_DATA_DIRS=/var/lib/flatpak/exports/share:/usr/local/share/:/usr/share/
using PTY: False
make all-recursive
make[1]: Entering directory `/home/embybuilder/Buildbot/armv7_android/librsvg-armv7_android/build/librsvg-2.54.4'
Making all in .
make[2]: Entering directory `/home/embybuilder/Buildbot/armv7_android/librsvg-armv7_android/build/librsvg-2.54.4'
CC _rsvg_dummy.lo
cd . && \
PKG_CONFIG_ALLOW_CROSS=1 \
PKG_CONFIG='pkg-config' \
CARGO_TARGET_DIR=/home/embybuilder/Buildbot/armv7_android/librsvg-armv7_android/build/librsvg-2.54.4/target \
cargo --locked build --target=armv7-linux-androideabi --release --lib \
&& cd /home/embybuilder/Buildbot/armv7_android/librsvg-armv7_android/build/librsvg-2.54.4 && /bin/sh ./libtool --silent --tag=CC --mode=link arm-linux-androideabi-clang -march=armv7-a -mfloat-abi=softfp -mfpu=neon -mthumb -Os -pipe -I/home/embybuilder/Buildbot/armv7_android/staging/include -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -fuse-ld=gold -static-libstdc++ -L/home/embybuilder/Buildbot/armv7_android/staging/lib -Wl,-rpath-link,/home/embybuilder/Buildbot/armv7_android/staging/lib -o librsvg_c_api.la _rsvg_dummy.lo && mv /home/embybuilder/Buildbot/armv7_android/librsvg-armv7_android/build/librsvg-2.54.4/target/armv7-linux-androideabi/release/liblibrsvg.a .libs/librsvg_c_api.a
Compiling serde v1.0.137
Compiling autocfg v1.1.0
Compiling proc-macro2 v1.0.39
Compiling unicode-ident v1.0.0
Compiling heck v0.4.0
Compiling smallvec v1.8.0
Compiling version-compare v0.1.0
Compiling pkg-config v0.3.25
Compiling libc v0.2.126
Compiling syn v1.0.96
Compiling cfg-if v1.0.0
Compiling ppv-lite86 v0.2.16
Compiling getrandom v0.1.16
Compiling siphasher v0.3.10
Compiling version_check v0.9.4
Compiling memchr v2.5.0
Compiling futures-core v0.3.21
Compiling futures-task v0.3.21
Compiling once_cell v1.12.0
Compiling anyhow v1.0.57
Compiling futures-util v0.3.21
Compiling scopeguard v1.1.0
Compiling pin-utils v0.1.0
Compiling pin-project-lite v0.2.9
Compiling slab v0.4.6
Compiling bitflags v1.3.2
Compiling proc-macro-hack v0.5.19
Compiling futures-channel v0.3.21
Compiling crossbeam-utils v0.8.8
Compiling lazy_static v1.4.0
Compiling encoding_index_tests v0.1.4
Compiling matches v0.1.9
Compiling parking_lot_core v0.9.3
Compiling new_debug_unreachable v1.0.4
Compiling bytemuck v1.9.1
Compiling log v0.4.17
Compiling tinyvec_macros v0.1.0
Compiling rayon-core v1.9.3
Compiling precomputed-hash v0.1.1
Compiling mac v0.1.1
Compiling utf-8 v0.7.6
Compiling regex-syntax v0.6.26
Compiling dtoa v0.4.8
Compiling typenum v1.15.0
Compiling gio v0.15.11
Compiling nodrop v0.1.14
Compiling stable_deref_trait v1.2.0
Compiling paste v1.0.7
Compiling either v1.6.1
Compiling unicode-bidi v0.3.8
Compiling itoa v0.4.8
Compiling unicode-width v0.1.9
Compiling byteorder v1.4.3
Compiling futures-io v0.3.21
Compiling rawpointer v0.2.1
Compiling convert_case v0.4.0
Compiling percent-encoding v2.1.0
Compiling strsim v0.8.0
Compiling vec_map v0.8.2
Compiling ansi_term v0.12.1
Compiling cast v0.3.0
Compiling rctree v0.4.0
Compiling language-tags v0.3.2
Compiling cfg-expr v0.10.3
Compiling num-traits v0.2.15
Compiling lock_api v0.4.7
Compiling memoffset v0.6.5
Compiling num-integer v0.1.45
Compiling crossbeam-epoch v0.9.8
Compiling num-rational v0.4.0
Compiling rayon v1.5.3
Compiling phf_shared v0.8.0
Compiling phf_shared v0.10.0
Compiling proc-macro-error-attr v1.0.4
Compiling proc-macro-error v1.0.4
Compiling encoding-index-simpchinese v1.20141219.5
Compiling encoding-index-japanese v1.20141219.5
Compiling encoding-index-tradchinese v1.20141219.5
Compiling encoding-index-singlebyte v1.20141219.5
Compiling encoding-index-korean v1.20141219.5
Compiling data-url v0.1.1
Compiling tinyvec v1.6.0
Compiling safe_arch v0.6.0
Compiling rgb v0.8.32
Compiling futf v0.1.5
Compiling dtoa-short v0.3.3
Compiling servo_arc v0.1.1
Compiling itertools v0.10.3
Compiling textwrap v0.11.0
Compiling matrixmultiply v0.3.2
Compiling fxhash v0.2.1
Compiling form_urlencoded v1.0.1
Compiling wide v0.7.4
Compiling encoding v0.2.33
Compiling tendril v0.4.3
Compiling unicode-normalization v0.1.19
Compiling quote v1.0.18
Compiling num_cpus v1.13.1
Compiling time v0.1.43
Compiling atty v0.2.14
Compiling getrandom v0.2.6
Compiling aho-corasick v0.7.18
Compiling crossbeam-channel v0.5.4
Compiling toml v0.5.9
Compiling idna v0.2.3
Compiling parking_lot v0.12.1
Compiling num-complex v0.4.1
Compiling approx v0.5.1
Compiling float-cmp v0.9.0
Compiling clap v2.34.0
Compiling rand_core v0.6.3
Compiling rand_core v0.5.1
Compiling crossbeam-deque v0.8.1
Compiling regex v1.5.6
Compiling futures-executor v0.3.21
Compiling string_cache v0.8.4
Compiling url v2.2.2
Compiling chrono v0.4.19
Compiling system-deps v6.0.2
Compiling simba v0.6.0
Compiling rand_chacha v0.3.1
Compiling rand_chacha v0.2.2
Compiling rand_pcg v0.2.1
Compiling locale_config v0.3.0
Compiling glib-sys v0.15.10
Compiling gobject-sys v0.15.10
Compiling cairo-sys-rs v0.15.1
Compiling gio-sys v0.15.10
Compiling pango-sys v0.15.10
Compiling gdk-pixbuf-sys v0.15.10
Compiling pangocairo-sys v0.15.1
Compiling rand v0.8.5
Compiling librsvg v2.54.4 (/home/embybuilder/Buildbot/armv7_android/librsvg-armv7_android/build/librsvg-2.54.4)
Compiling rand v0.7.3
Compiling thiserror-impl v1.0.31
Compiling cssparser v0.28.1
Compiling cssparser-macros v0.6.0
Compiling derive_more v0.99.17
Compiling nalgebra-macros v0.1.0
Compiling phf_generator v0.10.0
Compiling phf_generator v0.8.0
Compiling thiserror v1.0.31
Compiling nalgebra v0.29.0
Compiling string_cache_codegen v0.5.2
Compiling phf_codegen v0.8.0
Compiling phf_macros v0.8.0
Compiling proc-macro-crate v1.1.3
Compiling selectors v0.23.0
Compiling markup5ever v0.10.1
Compiling glib-macros v0.15.11
Compiling phf v0.8.0
Compiling xml5ever v0.16.2
Compiling glib v0.15.11
Compiling cairo-rs v0.15.11
Compiling pango v0.15.10
Compiling pangocairo v0.15.1
Compiling gdk-pixbuf v0.15.11
warning: trivial cast: `*const u8` as `*const u8`
--> src/xml/attributes.rs:86:61
|
86 | let value_slice = slice::from_raw_parts(value_start as *const u8, len);
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
note: the lint level is defined here
--> src/lib.rs:147:9
|
147 | #![warn(trivial_casts, trivial_numeric_casts)]
| ^^^^^^^^^^^^^
= help: cast can be replaced by coercion; this might require a temporary variable
warning: trivial cast: `*const u8` as `*const u8`
--> src/xml/xml2_load.rs:259:44
|
259 | let bytes = std::slice::from_raw_parts(unterminated_text as *const u8, len as usize);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: cast can be replaced by coercion; this might require a temporary variable
warning: trivial cast: `*mut u8` as `*mut u8`
--> src/xml/xml2_load.rs:339:52
|
339 | let buf: &mut [u8] = slice::from_raw_parts_mut(buffer as *mut u8, len as usize);
| ^^^^^^^^^^^^^^^^^
|
= help: cast can be replaced by coercion; this might require a temporary variable
warning: `librsvg` (lib) generated 3 warnings
Finished release [optimized] target(s) in 2m 49s
CCLD librsvg-2.la
LLVM ERROR: Unknown specifier in datalayout string
make[2]: *** [librsvg-2.la] Error 1
make[2]: Leaving directory `/home/embybuilder/Buildbot/armv7_android/librsvg-armv7_android/build/librsvg-2.54.4'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/embybuilder/Buildbot/armv7_android/librsvg-armv7_android/build/librsvg-2.54.4'
make: *** [all] Error 2
program finished with exit code 2
elapsedTime=172.176369
Have you got any idea what's causing the error?