0

I am currently running Ubuntu Server 20.04.3 with GUI installed, on a virtual machine running on a Mac with the latest M1 Pro chip.

I would like to install librsvg package with version 2.52.5, and the current version of librsvg is shown below:

$ apt show librsvg2-dev
Package: librsvg2-dev
Version: 2.48.9-1ubuntu0.20.04.1
Priority: optional
Section: libdevel
Source: librsvg
Origin: Ubuntu

I downloaded the source of the latest version from this link, and did the following:

$ ./configure
$ sudo make install

However, there was an error indicating that object name conflicts:

make  install-recursive
make[1]: Entering directory '/home/root/packages/librsvg-2.52.5'
Making install in .
make[2]: Entering directory '/home/root/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/root/packages/librsvg-2.52.5/./.libs/librsvg_c_api.a
make[2]: *** [Makefile:818: librsvg-2.la] Error 1
make[2]: Leaving directory '/home/root/packages/librsvg-2.52.5'
make[1]: *** [Makefile:1078: install-recursive] Error 1
make[1]: Leaving directory '/home/root/packages/librsvg-2.52.5'
make: *** [Makefile:1383: install] Error 2

I thought it might due to the previously installed librsvg package, so I removed such package and I resulted in losing the GUI. I tried to execute the previous two-line commands one more time, but same error occurred.

Below are my questions:

  1. May I know what is the intuitive way to solve the problem like this?
  2. What it is that caused such conflict?
  3. How to solve such conflict issue?

Thanks in advance!

Frant
  • 5,382
  • 1
  • 16
  • 22
Ethan L.
  • 395
  • 2
  • 8
  • Your mistakes were 1) building as root 2) installing without testing whether the build worked 3) whatever caused that broken archive name. – stark Jan 01 '22 at 12:42
  • @stark By goint through this [issue](https://gitlab.gnome.org/GNOME/librsvg/-/issues/787), I think it might due to the conflict between rust compiler and librsvg on aarch64. Could you please tell me why installing a new package does not require building as root? For instance, when we want to install a package on Ubuntu, we usually execute ```sudo apt-get install ...```. The reason I did what I described in my question is because I was building another project and came across such error; I tried to reduce the problem by testing installing the package itself, and found the same error accidently. – Ethan L. Jan 02 '22 at 05:21
  • @stark Thanks for pointing out my mistakes. I am new to building systems, usually, the missing-package problem could be solved by installing those packages via apt. But after I switched to aarch64 architecture, I noticed that my "old" method did not work. To be honest, I do not know why there was a conflict. I tried to grep the keyword librsvg-2.lax from root but did not find anything except the directory of the system I tried to build. – Ethan L. Jan 02 '22 at 05:29
  • @stark In other words, I did not understand what it means by "object name conflict" - conflict with what? I thought there might be some conflict between the previously installed librsvg and the to-be-installed librsvg. But I did not find anything useful by using grep or maybe I overlooked something important. That is why I asked this question - I would like to know the general way of solving these kinds of problems. For instance, where are the conflicts? Maybe it is caused by ```sudo``` so that it conflicts with the previously installed package? Or maybe there is no general way to solve? – Ethan L. Jan 02 '22 at 05:34

0 Answers0