Closed yslys closed 1 year 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.
@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!
I don't have a mac so I can't look into this.
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.
@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.
I noticed that there is an issue corresponding to this error: https://gitlab.gnome.org/GNOME/librsvg/-/issues/787
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.
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: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!