[MDEV-24880] The debian control file contains unnecessary architecture restrictions Created: 2021-02-16  Updated: 2021-02-18  Resolved: 2021-02-18

Status: Closed
Project: MariaDB Server
Component/s: Compiling
Affects Version/s: 10.5
Fix Version/s: N/A

Type: Bug Priority: Minor
Reporter: Graeme Kidd Assignee: Otto Kekäläinen
Resolution: Not a Bug Votes: 0
Labels: None


 Description   

The debian/control file contains packages that have been restricted to the amd64 architecture. For example line 17 has the following:

libboost-atomic-dev [amd64]

This prevents it from being installed on other architectures like armhf where the package is available.

When installing the packages within the control file for the Raspberry Pi which uses the armhf architecture I have to first run a search and replace to remove any restrictions:

sed -i 's/ \[i386 amd64\]//g' server/debian/control
sudo mk-build-deps server/debian/control -r -i

Is it possible to have these restrictions removed so this extra search and replace step is no longer required.



 Comments   
Comment by Daniel Black [ 2021-02-16 ]

boost is a dependency for columnstore which isn't compatible/supported on anything but x86_64.

Efforts to test and make it compatible are welcome.

Comment by Graeme Kidd [ 2021-02-16 ]

Sorry I am new to this but when you say "boost" do you mean the collection of packages listed under libboost-all-dev as they are all available for the armhf architecture.

Comment by Otto Kekäläinen [ 2021-02-17 ]

The line `libboost-atomic-dev [amd64]` is a build dependency. I suspect you are now mixing up something else here.

Can you please send a copy-paste or something similar of what is the actual error message you are getting, and what was the command you ran?

Comment by Graeme Kidd [ 2021-02-17 ]

That's right, when I try and build MariaDB on an armhf chip I first install any build dependencies within the control file. It doesn't install the build dependencies restricted to amd64 so the build fails.

Does that help or do you want me to try build MariaDB without the packages listed as amd64 only?

Comment by Otto Kekäläinen [ 2021-02-17 ]

What Raspbian version are you running? What command do you use to build?
Please copy-padte the failure.

Don't jump too quickly to conclusions, the actual error might be something
else.

Comment by Otto Kekäläinen [ 2021-02-18 ]

I've built MariaDB 10.5 for a multitude of archs in February. To my knowledge there is no regression anywhere. The syntax `libboost-atomic-dev [amd64]` is correct and does not cause the build to fail. The library libboost-atomic-dev is only intended for amd64.

You need to supply the full details of what exactly you are doing, what commands you are issuing and what they print out.

Comment by Graeme Kidd [ 2021-02-18 ]

Sorry I must apologise. The packages in the control file restricted to the amd64 architecture are indeed not required for an armhf chip. After performing a fresh install of Raspbian OS Lite on my Raspberry Pi 3 I was able to build MariaDB without having to modify the control file.

The confusion happened when I ran into compilation errors relating to the atomic library. While I still need to apply a patch MDEV-24881 to resolve these errors I had assumed that `libboost-atomic-dev` was needed for the patch to work.

Sorry for taking up your time and jumping to conclusions too quickly. You can close this issue.

Comment by Otto Kekäläinen [ 2021-02-18 ]

Use support issue on how to install MariaDB. Not a bug.

Comment by Otto Kekäläinen [ 2021-02-18 ]

Hello!

You don't need to apply any patches, MariaDB 10.5 works on armhf
out-of-the-box. Or just run `apt install mariadb-server` to install
the existing package and not build it yourself at all.

Anyway, I will close this issue as invalid now.

Generated at Thu Feb 08 09:33:24 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.