Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

'yay -S code' cause 'inner conflict conflicts' #673

Closed
dlintw opened this issue Aug 30, 2018 · 15 comments
Closed

'yay -S code' cause 'inner conflict conflicts' #673

dlintw opened this issue Aug 30, 2018 · 15 comments

Comments

@dlintw
Copy link

dlintw commented Aug 30, 2018

Affected Version

yay v8.998 - libalpm v11.0.1

Issue

'yay -S code' cause 'inner conflict conflicts', it is difficult to figure out which conflicts by the error message.

Steps to reproduce

  1. yay -S code
  2. yay -S code-git # also show the same error message

-> nodejs-lts-carbon: nodejs

My workaround

  1. yay -G code
  2. cd code
  3. makepkg -s # this seems solved the conflict issue?!
  4. yay -S code-git # workable now
@Morganamilo
Copy link
Contributor

Can you please post the actual output?

@dlintw
Copy link
Author

dlintw commented Aug 31, 2018

Here is my test process, the yay stopped at "Inner conflicts", but the makepkg -si is workable.

$ docker run --rm -i -t base/archlinux /bin/bash
# in docker pure environment
pacman -Syu base-devel sudo git --noconfirm
useradd -m tester
echo 'tester ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
su - tester
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si --noconfirm

[tester@e4414bbcac2a yay]$ yay -S code
:: Checking for conflicts...
:: Checking for inner conflicts...

==> Inner conflicts found:
 -> nodejs-lts-carbon: nodejs
Unresolvable package conflicts, aborting

[tester@e4414bbcac2a yay]$ yay -S code-git
:: Checking for conflicts...
:: Checking for inner conflicts...

==> Inner conflicts found:
 -> nodejs-lts-carbon: nodejs
Unresolvable package conflicts, aborting

==> Checking runtime dependencies...
==> Installing missing dependencies...
resolving dependencies...
looking for conflicting packages...
warning: dependency cycle detected:
warning: harfbuzz will be installed before its freetype2 dependency
warning: dependency cycle detected:
warning: libglvnd will be installed before its mesa dependency

Packages (92) adwaita-icon-theme-3.28.0-1  at-spi2-atk-2.26.2-1  at-spi2-core-2.28.0-1  atk-2.28.1-1  avahi-0.7+16+g1cc2b8e-2  cairo-1.15.12-1  cantarell-fonts-1:0.101-1  colord-1.4.3-2  dbus-glib-0.110-1  dconf-0.28.0-1
              desktop-file-utils-0.23+4+g92af410-1  fontconfig-1:2.13.1-1  freetype2-2.9.1-1  fribidi-1.0.5-1  gdk-pixbuf2-2.36.12-1  glib-networking-2.56.1-1  graphite-1:1.3.12-1  gsettings-desktop-schemas-3.28.0+1+g85521dc-1
              gtk-update-icon-cache-3.22.30-1  harfbuzz-1.8.8-1  hicolor-icon-theme-0.17-1  icu-62.1-1  jasper-2.0.14-1  js52-52.9.0-1  json-glib-1.4.2-2  lcms2-2.9-1  libcanberra-0.30+2+gc0620e4-1  libcroco-0.6.12+4+g9ad7287-1
              libcups-2.2.8-3  libdaemon-0.14-4  libdatrie-0.2.12-1  libdrm-2.4.93-1  libedit-20180525_3.1-1  libepoxy-1.5.2-1  libglvnd-1.1.0-1  libgudev-232-1  libgusb-0.3.0-1  libjpeg-turbo-1.5.3-1  libogg-1.3.3-3
              libomxil-bellagio-0.9.3-2  libpciaccess-0.14-1  libpng-1.6.34-2  libproxy-0.4.15-8  librsvg-2:2.44.2-1  libsoup-2.62.3-1  libthai-0.1.27-1  libtiff-4.0.9-2  libunwind-1.2.1-1  libvorbis-1.3.6-1  libx11-1.6.6-1
              libxau-1.0.8-3  libxcb-1.13-1  libxcomposite-0.4.4-3  libxcursor-1.1.15-1  libxdamage-1.1.4-3  libxdmcp-1.1.2-2  libxext-1.3.3-2  libxfixes-5.0.3-2  libxft-2.3.2-2  libxi-1.7.9-1  libxinerama-1.1.4-1  libxkbcommon-0.8.2-1
              libxml2-2.9.8-4  libxrandr-1.5.1-2  libxrender-0.9.10-1  libxshmfence-1.3-1  libxxf86vm-1.1.4-2  llvm-libs-6.0.1-4  lm_sensors-3.4.0-4  lzo-2.10-1  mesa-18.1.7-1  nspr-4.19-1  pango-1.42.4-1  pixman-0.34.0-1
              polkit-0.114-1  rest-0.8.1-1  shared-mime-info-1.10-1  sound-theme-freedesktop-0.8-3  tdb-1.3.16-1  wayland-1.16.0-1  wayland-protocols-1.15-1  xcb-proto-1.13-2  xkeyboard-config-2.24-1  xorgproto-2018.4-1
              alsa-lib-1.1.6-1  gconf-3.2.6+11+g07808097-3  gtk3-3.22.30-1  libnotify-0.7.7-1  libxkbfile-1.0.9-2  libxss-1.2.3-1  libxtst-1.2.3-1  nss-3.38-1
...
==> Checking buildtime dependencies...
==> Installing missing dependencies...
resolving dependencies...
looking for conflicting packages...

Packages (12) c-ares-1.14.0-1  http-parser-2.8.1-1  libnsl-1.2.0-1  libuv-1.23.0-1  node-gyp-3.8.0-1  openssl-1.0-1.0.2.p-1  semver-5.5.1-1  gulp-4.0.0-1  nodejs-lts-carbon-8.11.4-1  npm-6.4.1-1  python2-2.7.15-2  yarn-1.9.4-1
...
==> Retrieving sources...
  -> Cloning vscode git repo...
and finally it build successful.

@Morganamilo
Copy link
Contributor

Code depends on npm and nodejs-lts-carbon. npm depends on nodejs.

Because yay finds the nodejs dependency first, when it finds nodejs-lts-carbon it sees the conflict and bails.

If it happened the other way round it would see nodejs, see that it's already provided by nodejs-lts-carbon and move on.

You can make this happen by doing yay -S nodejs-lts-carbon code.

If you already happen to have npm installed then yay will continue and let pacman remove it, But if you have anything that depends on npm that won't be satisfied by nodejs-lts-carbon that will fail.

Ideally yay would let you pick between the two with its provider menu, but we do not do that for packages between the repo and AUR.

@Morganamilo
Copy link
Contributor

code is in community and code-git seems to depend on normal nodejs so no conflicts happen. Leaving it open though as the underlying problem is still there.

@ghost
Copy link

ghost commented Oct 9, 2018

Neither ffmpeg-libfdk_aac, nor its dependencies are pulling ffmpeg as a dependence!
To prove it - just screen with you eyes every single PKGBUILD file. It does happen because dependency processing is broken by yay! We run yaourt in the same configuration and see there are no issues at all. I believe any other AUR helper will behave exactly the same way. Therefore my original statement remains solid and "nicht anfechtbar". In my case I wasn't even able to get this far. It failed after the first or second question. (c) Don't blame the messenger.

@Morganamilo
Copy link
Contributor

ffmpeg-libfdk_aac depends on x264 (libx264.so) which depends on ffmpeg (libavcodec.so=58-64)

@Jguer
Copy link
Owner

Jguer commented Oct 9, 2018

@Morganamilo maybe we should relax the fail fast approach on CheckConflicts and prompt for continue instead, it's one more prompt but it should be functional enough for both parties

@Morganamilo
Copy link
Contributor

Yeah that's what I mentioned in #758 (comment). Don't think we need an additional prompt though as there is always another prompt after the conflicts.

@Jguer
Copy link
Owner

Jguer commented Oct 9, 2018

Fair enough I'm okay with that

@ghost
Copy link

ghost commented Oct 9, 2018

Package Details: ffmpeg-libfdk_aac 1:4.0.2-4
Provides: ffmpeg=4.0.2,...

@Morganamilo
Copy link
Contributor

So what if the built package provides ffmpeg? ffmpeg-libfdk_aac Requires x262 and therefore ffmpeg installed to build. Provides are not and should not be taken into account unless the package is already built.

@ghost

This comment has been minimized.

@Morganamilo
Copy link
Contributor

Packages (25) ffmpeg-1:4.0.2-6 l-smash-2.14.5-1 libibus-1.5.19-1 sysfsutils-2.1.0-10 aom-1.0.0-1 ffnvcodec-headers-8.1.24.2-2 gsm-1.0.18-1 ladspa-1.13-7 lame-3.100-2 libass-0.14.0-1 libavc1394-0.5.4-3
libfdk-aac-0.1.6-1 libiec61883-1.2.0-5 libmodplug-0.8.9.0-1 libva-2.3.0-1 libvdpau-1.1.1+3+ga21bf7a-1 opencore-amr-0.1.5-1 sdl2-2.0.8-9 speex-1.2.0-1 v4l-utils-1.14.2-1 vid.stab-1.1-2
x264-2:155.r0a84d986-2 x265-2.9-1 xvidcore-1.3.5-1 yasm-1.3.0-2

Again my point is proved.

Please stop, I'm not locking a valid bug report where the submitter actually gave the output. The alternative will be to ban you.

@Jguer
Copy link
Owner

Jguer commented Oct 9, 2018

I guess that won't be necessary anymore, anyway in the future, better to outright close or hide instead of wasting more time on it, I should have already done it after the yay comments.

Either way, if you could do a merge into #717 of the fix you proposed in #758. I think there should be no problem since the master branch is frozen until that is merged (or just merge it to master and I'll port it)

@Morganamilo
Copy link
Contributor

I should have locked the first one sooner. When it comes to banning though I don't think I am actually able to do that.

I may just remove the abort and put it into master. I still need to merge depPool with depOrder to fix #695 (unless I think of a better way). After that I may look into a better warning message.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants