pikaur icon indicating copy to clipboard operation
pikaur copied to clipboard

pikaur should install the package once it finish building it

Open random2324 opened this issue 5 years ago • 4 comments

I did a system upgrade using pikaur -Syu. One of the updates was lib32-ffmpeg package from AUR. But build fails because it cant find libx265 and later it failed again because of a undefined reference (outdated aom).

The solution was to update lib32-x265 from 3.3-1 to 3.4-1 and lib32-aom from 1.0.0.errata1+avif-1 to 2.0.0-1 and build ffmpeg after that. Those packages were also in the queue for updating but werent available for the build process as they werent installed in the system.

So if pikaur sees that a package has dependencies which also need to get updated, it should build those first and install them before it tries to build the main package. As I can see, right now it just install a dependency if those doesn't exist in the system yet.

2 things needs to get changed:

  • a updated dependency should be installed once built
  • if pikaur sees that there is an update for dependency, it should get build before any other package relies on it

pikaur -Vq

Pikaur v1.6.10.r11.gb0f54b1 Pacman v5.2.1 - libalpm v12.0.1

random2324 avatar Jun 30 '20 13:06 random2324

nope, if one package depends on specific version of other to be built it should have a versioned dependency, so in that case pikaur will build them in correct order

actionless avatar Jul 01 '20 23:07 actionless

I think pikaur still doesn't handle this correctly. Today I faced the same thing again: lib32-ffmpeg failed to build because it cant find the updated lib32-x265 package.

Reproduce: Install lib32-ffmpeg 2:4.3.1-1 and lib32-x264 3:0.159.r2999.296494a-3 than do pikaur -Syu, packages should now be updated to:

:: AUR packages will be installed:
 lib32-ffmpeg                          2:4.3.1-1            -> 2:4.3.1-3
 lib32-libffmpeg                       2:4.3.1-1            -> 2:4.3.1-3
 lib32-x264                            3:0.159.r2999.296494a-3  -> 3:0.160.r3011.cde9a93-1

Building lib32-ffmpeg will fail: /usr/bin/ld: libavcodec/libavcodec.so: undefined reference to `x264_encoder_open_160' collect2: error: ld returned 1 exit status

AUR package requests 0.160: depends = lib32-x264>=0.160 But pikaur doesn't build it before ffmpeg, so the queue is wrong.

random2324 avatar Aug 17 '20 10:08 random2324

hi, i was double-checking the issue now

does it works as expected if you'll alter PKGBUILD line from lib32-x264>=0.160 to lib32-x264>=3:0.160?

actionless avatar Aug 19 '20 19:08 actionless

hey?

actionless avatar Sep 26 '20 01:09 actionless