sifive / freedom-u-sdk

Freedom U Software Development Kit (FUSDK)
268 stars 123 forks source link

Error: object name conflicts in archive on ARM architecture #164

Closed yslys closed 1 year ago

yslys commented 2 years ago

Hi, I am building SiFive Freedom-u-sdk on Ubuntu 20.04.3, running on parallels desktop on ARM64 architecture (Apple M1 Pro). Since it is ARM architecture, I could not install Ubuntu desktop directly; instead, I installed the Ubuntu server and then executed sudo tasksel install ubuntu-desktop to install the GUI.

The command I executed was: PARALLEL_MAKE="-j 4" BB_NUMBER_THREADS=4 MACHINE=qemuriscv64 bitbake demo-coreip-cli.

There was an error indicating that object name conflicts in archive regarding to librsvg-2. I executed the command to check what packages I have installed: $ sudo apt list --installed | grep librsvg2, and I got the following:

librsvg2-2/focal-updates,now 2.48.9-1ubuntu0.20.04.1 arm64 [installed]
librsvg2-common/focal-updates,now 2.48.9-1ubuntu0.20.04.1 arm64 [installed]
librsvg2-dev/focal-updates,now 2.48.9-1ubuntu0.20.04.1 arm64 [installed]

The way I tried to solve it was to uninstall those packages, and I noticed that I lost the whole GUI. I then executed the same command PARALLEL_MAKE="-j 4" BB_NUMBER_THREADS=4 MACHINE=qemuriscv64 bitbake demo-coreip-cli, but the same error occurred. So it might not due to installing the GUI.

Below is the log file of failure plus the output before the log file which helps indicating the stage I was at. Note that the reason there was "Second Keyboard Interrupt, stopping..." at the end is because I hit Crtl+C to interrupt the task that was not finished since I built in parallel, so that the summary would be printed.

Thanks in advance!

Loading cache: 100% |##################################################################################################| Time: 0:00:00
Loaded 4102 entries from dependency cache.
Parsing recipes: 100% |################################################################################################| Time: 0:00:00
Parsing of 2698 .bb files complete (2697 cached, 1 parsed). 4103 targets, 209 skipped, 1 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies

Build Configuration:
BB_VERSION           = "1.53.0"
BUILD_SYS            = "aarch64-linux"
NATIVELSBSTRING      = "universal"
TARGET_SYS           = "riscv64-oe-linux"
MACHINE              = "qemuriscv64"
DISTRO               = "nodistro"
DISTRO_VERSION       = "2021.12.00"
TUNE_FEATURES        = "riscv64"
meta                 = "work:88da9b61b469654805fd51869790b1fd6d34c5a3"
meta-oe              
meta-python          
meta-multimedia      
meta-filesystems     
meta-networking      
meta-gnome           
meta-xfce            = "work:2156c4416a711c42a9eda106ae228b53bd130ab7"
meta-riscv           = "work:9561639c61663a10d8c9c23d26173db499f4c39b"
meta-clang           = "work:fd587eaf0340faba2f85cf7b2e254a290500c48c"
meta-sifive          = "work:0eabb6030471da23789b4f0956e25767e966433d"
meta-tensorflow-lite = "work:1135f8bb469f1b7e36390c338dea9e62592daa49"
freedom-u-sdk        = "work:0d47c94368cbe5c5edaa1ba9bd0a7d504fc28b40"

Initialising tasks: 100% |#############################################################################################| Time: 0:00:01
Sstate summary: Wanted 1803 Local 0 Mirrors 0 Missed 1803 Current 1172 (0% match, 39% complete)
NOTE: Executing Tasks
ERROR: librsvg-native-2.52.4-r0 do_compile: oe_runmake failed
ERROR: librsvg-native-2.52.4-r0 do_compile: ExecutionError('/home/yusen/riscv-sifive/build/tmp-glibc/work/aarch64-linux/librsvg-native/2.52.4-r0/temp/run.do_compile.615715', 1, None, None)
ERROR: Logfile of failure stored in: /home/yusen/riscv-sifive/build/tmp-glibc/work/aarch64-linux/librsvg-native/2.52.4-r0/temp/log.do_compile.615715
Log data follows:
| DEBUG: Executing python function autotools_aclocals
| DEBUG: SITE files ['endian-little', 'bit-64', 'arm-common', 'arm-64', 'common-linux', 'common-glibc', 'aarch64-linux', 'common']
| DEBUG: Python function autotools_aclocals finished
| DEBUG: Executing shell function do_compile
| NOTE: make -j 4
| make  all-recursive
| make[1]: Entering directory '/home/yusen/riscv-sifive/build/tmp-glibc/work/aarch64-linux/librsvg-native/2.52.4-r0/build'
| Making all in .
| make[2]: Entering directory '/home/yusen/riscv-sifive/build/tmp-glibc/work/aarch64-linux/librsvg-native/2.52.4-r0/build'
| /bin/bash ./libtool  --tag=CC   --mode=link gcc   -isystem/home/yusen/riscv-sifive/build/tmp-glibc/work/aarch64-linux/librsvg-native/2.52.4-r0/recipe-sysroot-native/usr/include -O2 -pipe -Wl,-Bsymbolic-functions -version-info 50:0:48 -export-dynamic -no-undefined -export-symbols-regex "^rsvg_.*"   -L/home/yusen/riscv-sifive/build/tmp-glibc/work/aarch64-linux/librsvg-native/2.52.4-r0/recipe-sysroot-native/usr/lib                         -L/home/yusen/riscv-sifive/build/tmp-glibc/work/aarch64-linux/librsvg-native/2.52.4-r0/recipe-sysroot-native/lib                         -Wl,--enable-new-dtags                         -Wl,-rpath-link,/home/yusen/riscv-sifive/build/tmp-glibc/work/aarch64-linux/librsvg-native/2.52.4-r0/recipe-sysroot-native/usr/lib                         -Wl,-rpath-link,/home/yusen/riscv-sifive/build/tmp-glibc/work/aarch64-linux/librsvg-native/2.52.4-r0/recipe-sysroot-native/lib                         -Wl,-rpath,/home/yusen/riscv-sifive/build/tmp-glibc/work/aarch64-linux/librsvg-native/2.52.4-r0/recipe-sysroot-native/usr/lib                         -Wl,-rpath,/home/yusen/riscv-sifive/build/tmp-glibc/work/aarch64-linux/librsvg-native/2.52.4-r0/recipe-sysroot-native/lib                         -Wl,-O1 -Wl,--allow-shlib-undefined -Wl,--dynamic-linker=/home/yusen/riscv-sifive/build/tmp-glibc/sysroots-uninative/aarch64-linux/lib/ld-linux-aarch64.so.1 -o librsvg-2.la -rpath /home/yusen/riscv-sifive/build/tmp-glibc/work/aarch64-linux/librsvg-native/2.52.4-r0/recipe-sysroot-native/usr/lib   librsvg_c_api.la -L/home/yusen/riscv-sifive/build/tmp-glibc/work/aarch64-linux/librsvg-native/2.52.4-r0/recipe-sysroot-native/usr/lib/pkgconfig/../../../usr/lib -lpng16 -lz -lcairo-gobject -lgdk_pixbuf-2.0 -lgio-2.0 -lxml2 -lpangocairo-1.0 -lcairo -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lharfbuzz -lfontconfig -lfreetype -lm -ldl
| cd ../librsvg-2.52.4 &&                           \
| PKG_CONFIG_ALLOW_CROSS=1                      \
| PKG_CONFIG='/home/yusen/riscv-sifive/build/tmp-glibc/work/aarch64-linux/librsvg-native/2.52.4-r0/recipe-sysroot-native/usr/bin/pkg-config'                        \
| CARGO_TARGET_DIR=/home/yusen/riscv-sifive/build/tmp-glibc/work/aarch64-linux/librsvg-native/2.52.4-r0/build/target            \
| cargo --locked build --verbose --target=aarch64-linux --release --bin rsvg-convert
| libtool: link: rm -fr  .libs/librsvg-2.exp .libs/librsvg-2.lax .libs/librsvg-2.so .libs/librsvg-2.so.2 .libs/librsvg-2.so.2.48.0 .libs/librsvg-2.ver
|        Fresh unicode-xid v0.2.2
|        Fresh autocfg v1.0.1
|        Fresh unicode-segmentation v1.8.0
|        Fresh pkg-config v0.3.22
|        Fresh strum v0.21.0
|        Fresh version-compare v0.0.11
|        Fresh ppv-lite86 v0.2.15
|        Fresh cfg-if v1.0.0
|        Fresh version_check v0.9.3
|        Fresh smallvec v1.7.0
|        Fresh lazy_static v1.4.0
|        Fresh scopeguard v1.1.0
|        Fresh bitflags v1.3.2
|        Fresh pin-utils v0.1.0
|        Fresh pin-project-lite v0.2.7
|        Fresh slab v0.4.5
|        Fresh siphasher v0.3.7
|        Fresh matches v0.1.9
|        Fresh once_cell v1.8.0
|        Fresh encoding_index_tests v0.1.4
|        Fresh new_debug_unreachable v1.0.4
|        Fresh tinyvec_macros v0.1.0
|        Fresh mac v0.1.1
|        Fresh precomputed-hash v0.1.1
|        Fresh utf-8 v0.7.6
|        Fresh dtoa v0.4.8
|        Fresh regex-syntax v0.6.25
|        Fresh itoa v0.4.8
|        Fresh convert_case v0.4.0
|        Fresh nodrop v0.1.14
|        Fresh rawpointer v0.2.1
|        Fresh unicode-bidi v0.3.7
|        Fresh unicode-width v0.1.9
|        Fresh paste v1.0.6
|        Fresh either v1.6.1
|        Fresh percent-encoding v2.1.0
|        Fresh byteorder v1.4.3
|        Fresh stable_deref_trait v1.2.0
|        Fresh futures-io v0.3.17
|        Fresh thin-slice v0.1.1
|        Fresh strsim v0.8.0
|        Fresh vec_map v0.8.2
|        Fresh bytemuck v1.7.2
|        Fresh ansi_term v0.11.0
|        Fresh rctree v0.3.3
|        Fresh language-tags v0.3.2
|        Fresh heck v0.3.3
|        Fresh itertools v0.10.1
|        Fresh cfg-expr v0.8.1
|        Fresh instant v0.1.12
|        Fresh lock_api v0.4.5
|        Fresh phf_shared v0.8.0
|        Fresh data-url v0.1.1
|        Fresh encoding-index-singlebyte v1.20141219.5
|        Fresh encoding-index-simpchinese v1.20141219.5
|        Fresh encoding-index-tradchinese v1.20141219.5
|        Fresh encoding-index-japanese v1.20141219.5
|        Fresh encoding-index-korean v1.20141219.5
|        Fresh tinyvec v1.5.1
|        Fresh futf v0.1.4
|        Fresh dtoa-short v0.3.3
|        Fresh matrixmultiply v0.3.1
|        Fresh textwrap v0.11.0
|        Fresh itertools v0.9.0
|        Fresh form_urlencoded v1.0.1
|        Fresh fxhash v0.2.1
|        Fresh servo_arc v0.1.1
|        Fresh rgb v0.8.29
|        Fresh proc-macro2 v1.0.32
|        Fresh libc v0.2.107
|        Fresh serde v1.0.130
|        Fresh anyhow v1.0.45
|        Fresh futures-core v0.3.17
|        Fresh futures-task v0.3.17
|        Fresh memchr v2.4.1
|        Fresh proc-macro-hack v0.5.19
|        Fresh crossbeam-utils v0.8.5
|        Fresh semver v1.0.4
|        Fresh log v0.4.14
|        Fresh encoding v0.2.33
|        Fresh unicode-normalization v0.1.19
|        Fresh tendril v0.4.2
|        Fresh typenum v1.14.0
|        Fresh quote v1.0.10
|        Fresh getrandom v0.1.16
|        Fresh parking_lot_core v0.8.5
|        Fresh time v0.1.43
|        Fresh num_cpus v1.13.0
|        Fresh atty v0.2.14
|        Fresh toml v0.5.8
|        Fresh num-traits v0.2.14
|        Fresh memoffset v0.6.4
|        Fresh futures-util v0.3.17
|        Fresh futures-channel v0.3.17
|        Fresh aho-corasick v0.7.18
|        Fresh rustc_version v0.4.0
|        Fresh crossbeam-channel v0.5.1
|        Fresh idna v0.2.3
|        Fresh syn v1.0.81
|        Fresh proc-macro-error-attr v1.0.4
|        Fresh rand_core v0.5.1
|        Fresh parking_lot v0.11.2
|        Fresh clap v2.33.3
|        Fresh futures-executor v0.3.17
|        Fresh crossbeam-epoch v0.9.5
|        Fresh num-integer v0.1.44
|        Fresh num-complex v0.4.0
|        Fresh approx v0.5.0
|        Fresh float-cmp v0.8.0
|        Fresh regex v1.5.4
|        Fresh url v2.2.2
|        Fresh thiserror-impl v1.0.30
|        Fresh strum_macros v0.21.1
|        Fresh rand_pcg v0.2.1
|        Fresh rand_chacha v0.2.2
|        Fresh proc-macro-error v1.0.4
|        Fresh cssparser-macros v0.6.0
|        Fresh derive_more v0.99.16
|        Fresh nalgebra-macros v0.1.0
|        Fresh string_cache v0.8.2
|        Fresh crossbeam-deque v0.8.1
|        Fresh num-rational v0.4.0
|        Fresh chrono v0.4.19
|        Fresh simba v0.5.1
|        Fresh locale_config v0.3.0
|        Fresh thiserror v1.0.30
|        Fresh rand v0.7.3
|        Fresh rayon-core v1.9.1
|        Fresh cast v0.2.7
|        Fresh nalgebra v0.27.1
|        Fresh system-deps v3.2.0
|        Fresh proc-macro-crate v1.1.0
|        Fresh phf_generator v0.8.0
|        Fresh rayon v1.5.1
|        Fresh phf_codegen v0.8.0
|        Fresh glib-macros v0.14.1
|        Fresh phf_macros v0.8.0
|        Fresh string_cache_codegen v0.5.1
|        Fresh phf v0.8.0
|        Fresh glib-sys v0.14.0
|        Fresh cssparser v0.27.2
|        Fresh gobject-sys v0.14.0
|        Fresh cairo-sys-rs v0.14.9
|        Fresh markup5ever v0.10.1
|        Fresh glib v0.14.8
|        Fresh pango-sys v0.14.0
|        Fresh gio-sys v0.14.0
|        Fresh selectors v0.22.0
|        Fresh pango v0.14.8
|        Fresh cairo-rs v0.14.9
|        Fresh pangocairo-sys v0.14.0
|        Fresh xml5ever v0.16.2
|        Fresh gdk-pixbuf-sys v0.14.0
|        Fresh gio v0.14.8
|        Fresh pangocairo v0.14.0
|        Fresh gdk-pixbuf v0.14.0
| libtool: link: nm   ./.libs/librsvg_c_api.a | sed -n -e 's/^.*[    ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[     ][  ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' | sed '/ __gnu_lto/d' | sed 's/.* //' | sort | uniq > .libs/librsvg-2.exp
| 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: field is never read: `initial`
|     --> src/drawing_ctx.rs:1864:5
|      |
| 1864 |     pub initial: Transform,
|      |     ^^^^^^^^^^^^^^^^^^^^^^
|      |
| note: the lint level is defined here
|     --> src/lib.rs:143:46
|      |
| 143  | #![warn(nonstandard_style, rust_2018_idioms, unused)]
|      |                                              ^^^^^^
|      = note: `#[warn(dead_code)]` implied by `#[warn(unused)]`
| 
| warning: field is never read: `state`
|   --> src/surface_utils/shared_surface.rs:91:5
|    |
| 91 |     state: T,
|    |     ^^^^^^^^
| 
| warning: field is never read: `text`
|   --> src/xml/mod.rs:73:5
|    |
| 73 |     text: String,
|    |     ^^^^^^^^^^^^
| 
| warning: `librsvg` (lib) generated 6 warnings
|        Fresh librsvg v2.52.4 (/home/yusen/riscv-sifive/build/tmp-glibc/work/aarch64-linux/librsvg-native/2.52.4-r0/librsvg-2.52.4)
|     Finished release [optimized] target(s) in 0.40s
| libtool: link: /home/yusen/riscv-sifive/build/tmp-glibc/hosttools/grep -E -e "^rsvg_.*" ".libs/librsvg-2.exp" > ".libs/librsvg-2.expT"
| libtool: link: mv -f ".libs/librsvg-2.expT" ".libs/librsvg-2.exp"
| libtool: link: echo "{ global:" > .libs/librsvg-2.ver
| libtool: link:  cat .libs/librsvg-2.exp | sed -e "s/\(.*\)/\1;/" >> .libs/librsvg-2.ver
| libtool: link:  echo "local: *; };" >> .libs/librsvg-2.ver
| libtool: link:  gcc  -shared  -fPIC -DPIC  -Wl,--whole-archive ./.libs/librsvg_c_api.a -Wl,--no-whole-archive  -L/home/yusen/riscv-sifive/build/tmp-glibc/work/aarch64-linux/librsvg-native/2.52.4-r0/recipe-sysroot-native/usr/lib -L/home/yusen/riscv-sifive/build/tmp-glibc/work/aarch64-linux/librsvg-native/2.52.4-r0/recipe-sysroot-native/lib -L/home/yusen/riscv-sifive/build/tmp-glibc/work/aarch64-linux/librsvg-native/2.52.4-r0/recipe-sysroot-native/usr/lib/pkgconfig/../../../usr/lib -lpng16 -lz -lcairo-gobject -lgdk_pixbuf-2.0 -lgio-2.0 -lxml2 -lpangocairo-1.0 -lcairo -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lharfbuzz -lfontconfig -lfreetype -lm -ldl  -O2 -Wl,-Bsymbolic-functions -Wl,--enable-new-dtags -Wl,-rpath-link -Wl,/home/yusen/riscv-sifive/build/tmp-glibc/work/aarch64-linux/librsvg-native/2.52.4-r0/recipe-sysroot-native/usr/lib -Wl,-rpath-link -Wl,/home/yusen/riscv-sifive/build/tmp-glibc/work/aarch64-linux/librsvg-native/2.52.4-r0/recipe-sysroot-native/lib -Wl,-rpath -Wl,/home/yusen/riscv-sifive/build/tmp-glibc/work/aarch64-linux/librsvg-native/2.52.4-r0/recipe-sysroot-native/usr/lib -Wl,-rpath -Wl,/home/yusen/riscv-sifive/build/tmp-glibc/work/aarch64-linux/librsvg-native/2.52.4-r0/recipe-sysroot-native/lib -Wl,-O1 -Wl,--allow-shlib-undefined -Wl,--dynamic-linker=/home/yusen/riscv-sifive/build/tmp-glibc/sysroots-uninative/aarch64-linux/lib/ld-linux-aarch64.so.1   -Wl,-soname -Wl,librsvg-2.so.2 -Wl,-version-script -Wl,.libs/librsvg-2.ver -o .libs/librsvg-2.so.2.48.0
| libtool: link: (cd ".libs" && rm -f "librsvg-2.so.2" && ln -s "librsvg-2.so.2.48.0" "librsvg-2.so.2")
| libtool: link: (cd ".libs" && rm -f "librsvg-2.so" && ln -s "librsvg-2.so.2.48.0" "librsvg-2.so")
| libtool: link: (cd .libs/librsvg-2.lax/librsvg_c_api.a && ar x "/home/yusen/riscv-sifive/build/tmp-glibc/work/aarch64-linux/librsvg-native/2.52.4-r0/build/./.libs/librsvg_c_api.a")
| make[2]: Leaving directory '/home/yusen/riscv-sifive/build/tmp-glibc/work/aarch64-linux/librsvg-native/2.52.4-r0/build'
| libtool:   error: object name conflicts in archive: .libs/librsvg-2.lax/librsvg_c_api.a//home/yusen/riscv-sifive/build/tmp-glibc/work/aarch64-linux/librsvg-native/2.52.4-r0/build/./.libs/librsvg_c_api.a
| make[2]: *** [Makefile:814: librsvg-2.la] Error 1
| make[1]: *** [Makefile:1074: all-recursive] Error 1
| make[1]: Leaving directory '/home/yusen/riscv-sifive/build/tmp-glibc/work/aarch64-linux/librsvg-native/2.52.4-r0/build'
| make: *** [Makefile:707: all] Error 2

Second Keyboard Interrupt, stopping...

Summary: 1 task failed:
  virtual:native:/home/yusen/riscv-sifive/openembedded-core/meta/recipes-gnome/librsvg/librsvg_2.52.4.bb:do_compile
Summary: There were 2 ERROR messages shown, returning a non-zero exit code.
jim-wilson commented 2 years ago

Looks like same issue as https://gitmemory.cn/repo/lovell/sharp-libvips/issues/109 So it looks like a conflict between the version of your native rust compiler and this version of librsvg.

yslys commented 2 years ago

@jim-wilson Thanks for your reply.

I apologize in advance if my following question looks silly. I am not experienced in building systems and solving those potential issues. I tried to solve it the whole day yesterday but still did not find a solution.

I am kind of confused since I did not have rust compiler installed prior to building this project. Following the link you provided, I installed rust and switched to nighly, but still did not solve the problem.

May I know what is the intuitive way to solve the version conflict issues? Thanks in advance!

jim-wilson commented 2 years ago

I don't have a mac so I can't look into this.

jim-wilson commented 2 years ago

I would look at the build log for the failing library to figure out what the file name conflict is, and then debug the build to figure out where the duplicate files are coming from, probably from two different places. Maybe openembedded is building its own rust compiler, and that is the problem. Or maybe I'm wrong about this being the same problem.

You don't have to build OE to use it. You can download one of the prebuilt images from the releases section on the right.

If you do want to build OE, then you are probably better off using a linux machine. The OE build process is complex, and MacOS is probably not a well supported build platform for OE.

yslys commented 2 years ago

@jim-wilson Thanks a lot for your reply.

I am running Linux on a virtual machine on Mac, so it might not due to the non-linux machine problem.

I tried to reduce the problem to the smallest possible input that produces the error: I downloaded the source of librsvg with version 2.52.5 from this link, and tried to install it using the following commands:

$ ./configure
$ sudo make install

I got the same error:

make  install-recursive
make[1]: Entering directory '/home/yusen/packages/librsvg-2.52.5'
Making install in .
make[2]: Entering directory '/home/yusen/packages/librsvg-2.52.5'
  CCLD     librsvg-2.la
libtool:   error: object name conflicts in archive: .libs/librsvg-2.lax/librsvg_c_api.a//home/yusen/packages/librsvg-2.52.5/./.libs/librsvg_c_api.a
make[2]: *** [Makefile:818: librsvg-2.la] Error 1
make[2]: Leaving directory '/home/yusen/packages/librsvg-2.52.5'
make[1]: *** [Makefile:1078: install-recursive] Error 1
make[1]: Leaving directory '/home/yusen/packages/librsvg-2.52.5'
make: *** [Makefile:1383: install] Error 2

According to what I got, I think what you mentioned is correct - openembedded is trying to build its own rust compiler, which is more likely to build librsvg as well, and the error occurred when building librsvg.

yslys commented 2 years ago

I noticed that there is an issue corresponding to this error: https://gitlab.gnome.org/GNOME/librsvg/-/issues/787

yslys commented 2 years ago

For those who are using aarch64, one possible solution is to execute

repo init -u git://github.com/sifive/meta-sifive -b 2021.04 -m tools/manifests/sifive.xml

instead of

repo init -u git://github.com/sifive/freedom-u-sdk -b 2021.12 -m tools/manifests/sifive.xml

to build an older version of SiFive Freedom-u-sdk.

This works for me on aarch64 Linux. Note that the version of QEMU is 5.2.0.