You are not logged in.

#1 2021-09-03 15:59:22

langfingaz
Member
From: Germany
Registered: 2020-01-11
Posts: 6

qt-installer-framewort: Building with simple Dockerfile fails

Hey there!

I am struggling to build qt-installer-framework with a simple Dockerfile that is based on the `archlinux:base-devel` image and basically just executes `makepkg --syncdeps --noconfirm`. The Dockerfile and my terminal output when building it can be found in this git repository.

According to the package maintainer, `qt-installer-framework` builds without an error in a clean chroot. And I could also successfully build it with `makepkg -Ccsr` on my local machine. So this leaves me without any idea, why it fails with Docker ... I have successfully build 20+ other AUR packages in a similar manner than the above Dockerfile.

Best Greetings,
Daniel

Last edited by langfingaz (2021-09-03 16:00:47)

Offline

#2 2021-09-03 20:46:58

Muflone
Trusted User (TU)
From: Italy
Registered: 2013-10-08
Posts: 91
Website

Re: qt-installer-framewort: Building with simple Dockerfile fails

I'm the maintainer, mostly following the thread for some explanation.

Is there a reason why don't prefer to use the devtools scripts to build the package?

Offline

#3 2021-09-05 11:18:01

langfingaz
Member
From: Germany
Registered: 2020-01-11
Posts: 6

Re: qt-installer-framewort: Building with simple Dockerfile fails

I use docker on a server that is not running Arch to build AUR and other Arch Linux packages and add them to a custom repository. This way I don't have to build the packages on each of my Arch machines.

And as far as I have understood the devtools scripts, they are for building in a clean chroot. As I am already using Docker, I thought, that this shouldn't be necessary. But apart from this there is nothing against the devtools scripts. I simply haven't tried them as my current approach was successful for all other packages so far wink

Offline

#4 2021-09-05 15:38:08

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 9,515

Re: qt-installer-framewort: Building with simple Dockerfile fails

The run.sh.log has several entries " ---> Using cache" .

Does it help if you clear the caches before running ?

Is the folder where you're building on a tmpfs ?


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
Did you use the guided installer ? If yes, I can't help you.

(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#5 2021-09-06 09:28:13

langfingaz
Member
From: Germany
Registered: 2020-01-11
Posts: 6

Re: qt-installer-framewort: Building with simple Dockerfile fails

Lone_Wolf wrote:

The run.sh.log has several entries " ---> Using cache" .

Steps 1 to 6 of the Dockerfile were cached from a previous "sudo docker build ." after which I changed step 7 to end. The previous build was just some minutes before the log file in the git repo - so caching shouldn't be the problem. But it's a fair point and to be sure I changed the command to " sudo docker build --no-cache .". But apparently the same error occurs: updated log file

Lone_Wolf wrote:

Is the folder where you're building on a tmpfs ?

I'm building from within my home directory on a BTRFS volume.

Offline

#6 2021-09-07 16:26:58

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 9,515

Re: qt-installer-framewort: Building with simple Dockerfile fails

man makepkg wrote:

       -o, --nobuild
           Download and extract files, run the prepare() function, but do not build them. Useful with the --noextract option if
           you wish to tweak the files in $srcdir/ before building.

Try adding --nobuild to the run makepkg command in the dockerfile and add a command to run something like ls -l /usr/share/doc/qt/global/

That should clarify whether the file is really missing (or unaccessable ? ) under docker or the qmake / make buildsystem is failing .


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
Did you use the guided installer ? If yes, I can't help you.

(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#7 2021-09-08 09:07:40

langfingaz
Member
From: Germany
Registered: 2020-01-11
Posts: 6

Re: qt-installer-framewort: Building with simple Dockerfile fails

I've now added Dockerfile2 which runs 'makepkg --syncdeps --noconfirm --nobuild', 'pacman -Qo /usr/share/doc/qt/global/' and 'ls -l /usr/share/doc/qt/global/'. The latter command fails with: "cannot access '/usr/share/doc/qt/global/': No such file or directory".

The full output of Dockerfile2 is available here: run2.sh.log

Offline

#8 2021-09-08 13:16:52

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 9,515

Re: qt-installer-framewort: Building with simple Dockerfile fails

I'm beginning to think there may be a conflict between docker and makepkg use of fakeroot .

The log suggest that running ls as root aborts execution and the last command (ls as user) isn't executed .
Does running as user give the same error ?


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
Did you use the guided installer ? If yes, I can't help you.

(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#9 2021-09-08 19:21:08

langfingaz
Member
From: Germany
Registered: 2020-01-11
Posts: 6

Re: qt-installer-framewort: Building with simple Dockerfile fails

Lone_Wolf wrote:

The log suggest that running ls as root aborts execution and the last command (ls as user) isn't executed .
Does running as user give the same error ?

I only run 'ls' as root to double check it is not due to lack of user access rights (Perhaps this double check was a bit superfluous at this point ...).

As the first 'ls' command fails, Docker stops the build process and does not continue running 'ls' as build user. And yes, running 'ls' as build user results in the same error.

Last edited by langfingaz (2021-09-08 19:22:12)

Offline

Board footer

Powered by FluxBB