So many AUR packages fail at dependency check

There’s no way to answer that without knowing what command you used. You’ve already been asked yet you have not responded. Switching to Yay doesn’t help solve the initial issue you had. If there actually is an issue with Pamac that needs to be addressed, ignoring it and using something else does not help improve it.

Thanks but I told you the command I’ve used:

And as for the pamac, I’ve just typed in the same exact package name (pyenv-virtualenv) and click on its icon and then “apply” to install it. Please let me know if more information is needed.

Also, about your statement:

I cannot agree more. I want pamac to work.

Does any error show from the CLI?

pamac build pyenv-virtualenv

I uninstalled the package using yay:

$ yay -R pyenv-virtualenv

Then tried the GUI version of the pamac, and it failed (like before):

Preparing...
Checking pyenv-virtualenv dependencies...
Failed to prepare transaction:
Failed to check pyenv-virtualenv dependencies

Then tried the command line version of the pamac:

$ sudo pamac build pyenv-virtualenv
Warning: Building packages as dynamic user
Warning: Setting build directory to /var/cache/pamac
Preparing...
Checking pyenv-virtualenv dependencies...
Resolving dependencies...
Checking inter-conflicts...

To build (1):
  pyenv-virtualenv  1:1.2.1-1    AUR


Edit build files : [e] 
Apply transaction ? [e/y/N] y

Cloning pyenv-virtualenv build files...
Running as unit: run-u273.service
Finished with result: success
Main processes terminated with: code=exited/status=0
Service runtime: 1.164s
CPU time consumed: 96ms
Generating pyenv-virtualenv information...
Running as unit: run-u274.service
Finished with result: success
Main processes terminated with: code=exited/status=0
Service runtime: 1.976s
CPU time consumed: 2.219s

Building pyenv-virtualenv...
Running as unit: run-u275.service
Press ^] three times within 1s to disconnect TTY.
==> Making package: pyenv-virtualenv 1:1.2.1-1 (Thu 09 Mar 2023 02:21:42 PM)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Downloading v1.2.1.tar.gz...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 28331    0 28331    0     0  40961      0 --:--:-- --:--:-- --:--:-- 40961
==> Validating source files with md5sums...
    v1.2.1.tar.gz ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Extracting v1.2.1.tar.gz with bsdtar
==> Entering fakeroot environment...
==> Starting package()...
==> Tidying install...
  -> Removing libtool files...
  -> Purging unwanted files...
  -> Removing static library files...
  -> Stripping unneeded symbols from binaries and libraries...
  -> Compressing man and info pages...
==> Checking for packaging issues...
==> Creating package "pyenv-virtualenv"...
  -> Generating .PKGINFO file...
  -> Generating .BUILDINFO file...
  -> Generating .MTREE file...
  -> Compressing package...
==> Leaving fakeroot environment.
==> Finished making: pyenv-virtualenv 1:1.2.1-1 (Thu 09 Mar 2023 02:21:45 PM)
==> Cleaning up...
Finished with result: success
Main processes terminated with: code=exited/status=0
Service runtime: 4.673s
CPU time consumed: 4.431s
Running as unit: run-u276.service
Finished with result: success
Main processes terminated with: code=exited/status=0
Service runtime: 1.838s
CPU time consumed: 2.067s

Checking keyring...                                                                                           [1/1]
Checking integrity...                                                                                         [1/1]
Loading packages files...                                                                                     [1/1]
Checking file conflicts...                                                                                    [1/1]
Checking available disk space...                                                                              [1/1]
Installing pyenv-virtualenv (1:1.2.1-1)...                                                                    [1/1]
Transaction successfully finished.

:person_shrugging:


Don’t sudo pamac, you will be asked for your password like yay does.

Funny thing that you said that. I did this prior to sudo pamac:

$ pamac build pyenv-virtualenv                                                                 ✔  6s  
Preparing...
Checking pyenv-virtualenv dependencies...
Error: Failed to prepare transaction: Failed to check pyenv-virtualenv dependencies

One clue that I just remembered to share. For some personal reasons, I had to change my user’s ID:

$ usermod -u 3000 foo
$ groupmod -g 3000 foo
$ find / -group 3000 -exec chgrp -h foo {} \;
$ find / -user 3000 -exec chown -h foo {} \;

I’m not sure if it has anything to do with these problems, but I thought I should share.

That’s likely the reason: Pamac-manager won't ask for sudo password and fails to install AUR packages - #4 by Obelisk79
Check whether you are still the owner of the build directory:

ls -ld /var/tmp/pamac-build-foo
1 Like

It must be it:

$ ls -ld /var/tmp/pamac-build-foo
drwxr-xr-x 5 1000 foo 4096 Mar  9 07:48 /var/tmp/pamac-build-foo

1000 was my old user/group ID. But I don’t know why, I cannot change the group owner of that folder!

$ sudo chgrp -h foo /var/tmp/pamac-build-foo
$ ls -ld /var/tmp/pamac-build-foo
drwxr-xr-x 5 1000 foo 4096 Mar  9 07:48 /var/tmp/pamac-build-foo

For the sake of completeness:

id -g foo
3000

And I don’t know why. Any help is appreciated.

For directories you should use --recursive or -R flag:

sudo chgrp -h -R foo /var/tmp/pamac-build-foo

Nope. It didn’t work:

$ sudo chgrp -h -R foo /var/tmp/pamac-build-foo
$ ls -ld /var/tmp/pamac-build-foo
drwxr-xr-x 5 1000 foo 4096 Mar  9 07:48 /var/tmp/pamac-build-foo

Works. Group is foo as you requested. chgrp command change only file owner group, nothing more. If you want change owner use chown command, which can also change group. For change only user:

sudo chown -R foo /var/tmp/pamac-build-foo

For both user and group:

sudo chown -R foo:foo /var/tmp/pamac-build-foo
1 Like

Thanks @Tomek . I don’t know why I confused the placement of the user and the group!

$ sudo chown -R foo /var/tmp/pamac-build-foo
$ ls -ld /var/tmp/pamac-build-foo
drwxr-xr-x 5 foo foo 4096 Mar  9 07:48 /var/tmp/pamac-build-foo

So now ownership of those files and folders is as it should be. But going back to the original problem, I still get:

$ pamac build pyenv-virtualenv
Preparing...
Checking pyenv-virtualenv dependencies...
Error: Failed to prepare transaction: Failed to check pyenv-virtualenv dependencies

Are the user IDs and group IDs mentioned anywhere else?

Maybe there is still something messed in this directory. You can safely remove /var/tmp/pamac-build-foo, pamac will recreate it if needed.

Looking at the rest of files and folders in /var/tmp/*, I realized that there’s another folder with the wrong owner: /var/tmp/pamac. Changing that folder’s owner fixed the problem.

Thanks everyone for helping.

:wink:

This is usually cause by using sudo pamac <pkgname>.

pamac commandline will ask for permission when needed.

I’m not so sure about my case. I mean, in my case, the /var/tmp/pamac folder was owned by user ID 1000 and there’s no such user on my machine anymore. And I thought I had changed the ownership of all files already so I have no idea why this had happened. I’ll keep an eye on that folder from now on to see if its ownership changes again.

The user id 1000 is the user created at install time - you can of course add new user and remove the initially created user - but still you shouldn’t have any issues with the pamac folder as default permissions is world read-write. I cannot say if that permission stems from earlier issues with permissions on the pamac folders in /var/tmp.

You can always remove the folder /var/tmp/pamac as it will be recreated with the correct permissions.

The /var/tmp/pamac folder is only used for pamac’s database copies and is - on my system ugo+rwx - this is the default I believe.

 $ ls -l /var/tmp
total 28
drwxrwxrwx  4 fh   fh   4096  7 mar 14:16 pamac
drwxr-xr-x 11 fh   fh   4096  7 mar 14:16 pamac-build-fh
[...]

This makes that folder independent of which user is running pamac.

When you build a custom package the folder is /var/tmp/pamac-build-$USER which is u+rwx,go+rx which makes it browsable by any user but only owner can change files.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.