Hi,
I want to install gitlab on my aarch64 server. The gitlab package is in Manjaro and Arch Linux repositories, but only x86_64. However, gitlab also works on aarch64, so I decided to compile Arch Linux package myself for arm. I encountered this problem:
- GitLab depends on ruby 2.7.
- In the x86_64 repositories, ruby has version 3.0.1-1, and in the ARM repositories it’s 2.7.
- Since ruby is version 2.7 in the x86_64 repository then some gitlab-* packages depend on ruby2.7 and some just on ruby.
- So obviously I can’t install ruby from the ARM repository and ruby2.7 from the x86_64 repository because they will conflict with each other. So I decided to remove the ruby package from the ARM repository and build the packages from Arch Linux’s x86_64 repository for aarch64. I was able to compile them successfully.
So I successfully built this packages from Arch Linux x86_64 repo for aarch64:
ruby-3.0.1-1 (ruby)
ruby-irb-1.3.5-1 ruby-reline-0.2.5-1 rubygems-3.2.15-1 (dependecies of ruby 3)
ruby2.7-2.7.3-1 (ruby 2.7, it does not require any dependencies because rubygems etc. are built in this package)
However, when installing these packages, ALL AT ONCE AND FROM THIS SAME (x86_64, built for aarch64) REPOSITORY, I got this error:
[*** build]$ sudo pacman -U ruby3/ruby-3.0.1-1-aarch64.pkg.tar.zst ruby-irb3/ruby-irb-1.3.5-1-any.pkg.tar.zst ruby-reline3/ruby-reline-0.2.5-1-any.pkg.tar.zst rubygems3/trunk/rubygems-3.2.15-1-any.pkg.tar.zst ruby2.7/ruby2.7-2.7.3-1-aarch64.pkg.tar.zst
[sudo] password for ***:
loading packages...
resolving dependencies...
looking for conflicting packages...
warning: dependency cycle detected:
warning: rubygems will be installed before its ruby dependency
warning: dependency cycle detected:
warning: ruby-irb will be installed before its ruby dependency
warning: dependency cycle detected:
warning: ruby-reline will be installed before its ruby dependency
Packages (5) ruby-3.0.1-1 ruby-irb-1.3.5-1 ruby-reline-0.2.5-1 ruby2.7-2.7.3-1 rubygems-3.2.15-1
Total Installed Size: 33.28 MiB
:: Proceed with installation? [Y/n] y
(5/5) checking keys in keyring [########################################################] 100%
(5/5) checking package integrity [########################################################] 100%
(5/5) loading package files [########################################################] 100%
(5/5) checking for file conflicts [########################################################] 100%
error: failed to commit transaction (conflicting files)
/usr/lib/ruby/2.7.0/rubygems.rb exists in both 'rubygems' and 'ruby2.7'
/usr/lib/ruby/2.7.0/rubygems/available_set.rb exists in both 'rubygems' and 'ruby2.7'
.
.
.