You are not logged in.
Hi there,
i just stumbled over a weird pacman problem. Lets see...
Take a look at this output. As you can see, arts depends on libaudio.so.2 which is provided by nas:
$ ldd /opt/kde/bin/artsd
linux-gate.so.1 => (0xb7fc2000)
libsoundserver_idl.so.1 => /opt/kde/lib/libsoundserver_idl.so.1 (0xb7f65000)
libkmedia2_idl.so.1 => /opt/kde/lib/libkmedia2_idl.so.1 (0xb7f27000)
libartsflow.so.1 => /opt/kde/lib/libartsflow.so.1 (0xb7e23000)
libmcop_mt.so.1 => /opt/kde/lib/libmcop_mt.so.1 (0xb7e1f000)
libartsflow_idl.so.1 => /opt/kde/lib/libartsflow_idl.so.1 (0xb7d77000)
libaudiofile.so.0 => /usr/lib/libaudiofile.so.0 (0xb7d36000)
libasound.so.2 => /usr/lib/libasound.so.2 (0xb7c75000)
libaudio.so.2 => /usr/lib/libaudio.so.2 (0xb7c60000)
libXt.so.6 => /usr/lib/libXt.so.6 (0xb7c11000)
libesd.so.0 => /usr/lib/libesd.so.0 (0xb7c09000)
libjack.so.0 => /usr/lib/libjack.so.0 (0xb7bef000)
libmcop.so.1 => /opt/kde/lib/libmcop.so.1 (0xb7b55000)
libvorbisfile.so.3 => /usr/lib/libvorbisfile.so.3 (0xb7b4e000)
libvorbisenc.so.2 => /usr/lib/libvorbisenc.so.2 (0xb7a50000)
libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0xb7a27000)
libogg.so.0 => /usr/lib/libogg.so.0 (0xb7a22000)
libmad.so.0 => /usr/lib/libmad.so.0 (0xb7a0b000)
libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0xb7a08000)
libdl.so.2 => /lib/libdl.so.2 (0xb7a04000)
libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0xb7a00000)
libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xb796e000)
libpthread.so.0 => /lib/libpthread.so.0 (0xb7957000)
librt.so.1 => /lib/librt.so.1 (0xb794d000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb7869000)
libm.so.6 => /lib/libm.so.6 (0xb7844000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0xb7839000)
libc.so.6 => /lib/libc.so.6 (0xb770e000)
libXau.so.6 => /usr/lib/libXau.so.6 (0xb770a000)
libSM.so.6 => /usr/lib/libSM.so.6 (0xb7702000)
libICE.so.6 => /usr/lib/libICE.so.6 (0xb76ea000)
libX11.so.6 => /usr/lib/libX11.so.6 (0xb75fd000)
/lib/ld-linux.so.2 (0xb7fc3000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb75f7000)
The package also has nas in its dependencies:
pacman -Qi kdemod-arts
Name : kdemod-arts
Version : 1.5.7-2
URL : http://www.arts-project.org
Lizenz : GPL
Gruppen : kdemod
Stellt bereit : arts
Hängt ab von : kdemod-kde-common jack-audio-connection-kit audiofile alsa-lib
qt-enhanced libmad libvorbis glib2 esd nas
Entfernt : Nichts
Benötigt von : kdemod-kdelibs
Konflikt mit : arts
Installationsgröße : 5274,11 K
Packer : Jan Mette <spam-o-mat@nickname.berlin.de>
Architektur : i686
Erstellt am : Sat May 19 16:18:48 2007 UTC
Bauart : Unbekannt
Installiert am : Thu May 24 05:35:55 2007 UTC
Installationsgrund : Ausdrücklich installiert
Installations-Skript : Nein
Beschreibung : KDE analog realtime synthesizer (kdemod)
I made new package without the nas dependency (specified --without-nas when configuring and removed the dependency from the PKGBUILD). When updating the package, everything seems to be ok:
sudo pacman -Syu
:: Synchronisiere Paketdatenbanken...
current ist aktuell
extra ist aktuell
community ist aktuell
funkyou ist aktuell
kdemod ist aktuell
:: Starte komplette Systemaktualisierung...
Löse Abhängigkeiten auf... Fertig.
Suche nach Zwischen-Konflikten... Fertig.
Pakete: kdemod-arts-1.5.7-3
Gesamte Paketgröße : 1,28 MB
Gesamtgröße der installierten Pakete : 5,14 MB
Installation fortsetzen? [J/n]
Prüfe Paketintegrität... Fertig.
Räume auf... Fertig.
(1/1) Pruefe auf Dateikonflikte [####################################] 100%
(1/1) Aktualisiere kdemod-arts [####################################] 100%
And arts dont need nas anymore:
$ ldd /opt/kde/bin/artsd
linux-gate.so.1 => (0xb7efd000)
libsoundserver_idl.so.1 => /opt/kde/lib/libsoundserver_idl.so.1 (0xb7ea0000)
libkmedia2_idl.so.1 => /opt/kde/lib/libkmedia2_idl.so.1 (0xb7e62000)
libartsflow.so.1 => /opt/kde/lib/libartsflow.so.1 (0xb7d60000)
libmcop_mt.so.1 => /opt/kde/lib/libmcop_mt.so.1 (0xb7d5c000)
libartsflow_idl.so.1 => /opt/kde/lib/libartsflow_idl.so.1 (0xb7cb4000)
libaudiofile.so.0 => /usr/lib/libaudiofile.so.0 (0xb7c73000)
libasound.so.2 => /usr/lib/libasound.so.2 (0xb7bb2000)
libjack.so.0 => /usr/lib/libjack.so.0 (0xb7b99000)
libmcop.so.1 => /opt/kde/lib/libmcop.so.1 (0xb7aff000)
libvorbisfile.so.3 => /usr/lib/libvorbisfile.so.3 (0xb7af8000)
libvorbisenc.so.2 => /usr/lib/libvorbisenc.so.2 (0xb79f9000)
libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0xb79d0000)
libogg.so.0 => /usr/lib/libogg.so.0 (0xb79cb000)
libmad.so.0 => /usr/lib/libmad.so.0 (0xb79b5000)
libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0xb79b2000)
libdl.so.2 => /lib/libdl.so.2 (0xb79ae000)
libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0xb79a9000)
libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xb7917000)
libpthread.so.0 => /lib/libpthread.so.0 (0xb7900000)
librt.so.1 => /lib/librt.so.1 (0xb78f7000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb7813000)
libm.so.6 => /lib/libm.so.6 (0xb77ee000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0xb77e2000)
libc.so.6 => /lib/libc.so.6 (0xb76b7000)
/lib/ld-linux.so.2 (0xb7efe000)
Also the package doesnt need nas anymore:
pacman -Qi kdemod-arts
Name : kdemod-arts
Version : 1.5.7-3
URL : http://www.arts-project.org
Lizenz : GPL
Gruppen : kdemod
Stellt bereit : arts
Hängt ab von : kdemod-kde-common>=3.5.7 jack-audio-connection-kit audiofile
alsa-lib qt-enhanced libmad libvorbis glib2
Entfernt : Nichts
Benötigt von : kdemod-kdelibs
Konflikt mit : arts
Installationsgröße : 5262,15 K
Packer : Jan Mette <spam-o-mat@nickname.berlin.de>
Architektur : i686
Erstellt am : Thu May 24 05:16:11 2007 UTC
Bauart : Unbekannt
Installiert am : Thu May 24 05:38:31 2007 UTC
Installationsgrund : Ausdrücklich installiert
Installations-Skript : Nein
Beschreibung : KDE analog realtime synthesizer (kdemod)
Now i want to remove nas:
sudo pacman -R nas
Prüfe Abhängigkeiten...
Fehler: Konnte Vorgang nicht vorbereiten (Kann Abhängigkeiten nicht erfüllen)
:: nas wird benötigt von kdemod-arts
But there is no more nas dependency in the package itself... I have uploaded the full pacman --debug output here. There is an error starting on line 131, but i do not understand it... It says that arts is needed by nas, but actually its the other way around: arts needs nas - or more precisely: the old and now updated package release of arts needed nas...
Ok i thought, maybe pacman does some sort of caching and rebooted the machine... After the reboot, i still cant remove nas:
$ sudo pacman -R nas
Prüfe Abhängigkeiten...
Fehler: Konnte Vorgang nicht vorbereiten (Kann Abhängigkeiten nicht erfüllen)
:: nas wird benötigt von kdemod-arts
Again, the package does not have nas as a dependency anymore:
$ pacman -Qi kdemod-arts
Name : kdemod-arts
Version : 1.5.7-3
URL : http://www.arts-project.org
Lizenz : GPL
Gruppen : kdemod
Stellt bereit : arts
Hängt ab von : kdemod-kde-common>=3.5.7 jack-audio-connection-kit audiofile
alsa-lib qt-enhanced libmad libvorbis glib2
Entfernt : Nichts
Benötigt von : kdemod-kdelibs
Konflikt mit : arts
Installationsgröße : 5262,15 K
Packer : Jan Mette <spam-o-mat@nickname.berlin.de>
Architektur : i686
Erstellt am : Thu May 24 05:16:11 2007 UTC
Bauart : Unbekannt
Installiert am : Thu May 24 06:51:45 2007 UTC
Installationsgrund : Ausdrücklich installiert
Installations-Skript : Nein
Beschreibung : KDE analog realtime synthesizer (kdemod)
For the sake of completeness, here is my arts PKGBUILD:
_kdever=3.5.7
_mirror="ftp.fu-berlin.de/pub/unix/X11/gui/kde"
_origname=arts
pkgname=kdemod-$_origname
pkgdesc="KDE analog realtime synthesizer (kdemod)"
arch=(i686 x86_64)
pkgver=1.5.7
pkgrel=3
url="http://www.arts-project.org"
license="GPL"
provides=('arts')
conflicts=('arts')
groups=('kdemod')
depends=('kdemod-kde-common>=3.5.7' 'jack-audio-connection-kit' 'audiofile' 'alsa-lib' 'qt-enhanced' 'libmad' 'libvorbis' 'glib2')
source=(ftp://$_mirror/stable/$_kdever/src/$_origname-$pkgver.tar.bz2 \
arts-3.5.7-qtmcop-notifications-on-demand.patch)
build() {
[ "$QTDIR" = "" ] && source /etc/profile.d/qt.sh
[ "$KDEDIR" = "" ] && source /etc/profile.d/kde.sh
cd $startdir/src/$_origname-$pkgver
patch -Np0 -i $startdir/src/arts-3.5.7-qtmcop-notifications-on-demand.patch || return 1
./configure --prefix=/opt/kde --with-alsa --disable-dependency-tracking --disable-debug --enable-gcc-hidden-visibility --enable-final --with-jack --without-nas --without-esd --without-sgilibaudio --without-mas
make || return 1
make DESTDIR=$startdir/pkg install || return 1
}
It seems that pacman does not update the reverse dependency of nas <--> arts, because after upgrading arts i can still see the reverse dependency in the nas package:
$ pacman -Qi nas
Name : nas
Version : 1.8b-2
URL : http://radscan.com/nas.html
Lizenz : Nichts
Gruppen : Nichts
Stellt bereit : Nichts
Hängt ab von : libxaw
Entfernt : Nichts
Benötigt von : kdemod-arts
Konflikt mit : Nichts
Installationsgröße : 1543,60 K
Packer : Arch Linux (http://www.archlinux.org)
Architektur : i686
Erstellt am : Mon Apr 9 08:33:09 2007 UTC
Bauart : Unbekannt
Installiert am : Thu May 24 06:51:14 2007 UTC
Installationsgrund : Ausdrücklich installiert
Installations-Skript : Nein
Beschreibung : Network Audio System is a network transparent, client/server audio
transport system
Last edited by funkyou (2007-05-24 07:29:20)
want a modular and tweaked KDE for arch? try kdemod
Offline
You said it didn't work before the reboot and worked after, but you didn't use the same command.
You said you used only -R before and -Rd after.
pacman roulette : pacman -S $(pacman -Slq | LANG=C sort -R | head -n $((RANDOM % 10)))
Offline
Sorry, internal early morning malfunction on my side
I just reverted arts to the old version with nas dependency, repeated the whole thing and updated my post... It seems that the nas dependency is kept by pacman somewhere...
want a modular and tweaked KDE for arch? try kdemod
Offline
Oh I see, it looks like the reverse dependency isn't updated.
In pacman -Qi nas , don't you see : Benötigt von : kdemod-arts
both before and after updating kdemod-arts ?
If so, that's where the dependency is kept
pacman roulette : pacman -S $(pacman -Slq | LANG=C sort -R | head -n $((RANDOM % 10)))
Offline
if you think it's a pacman bug then file a report in flyspray so that it won't get lost!
Offline
Yes, you are right... The reverse dependency is not updated...
Post updated again and a bug has been filed...
Last edited by funkyou (2007-05-24 07:28:53)
want a modular and tweaked KDE for arch? try kdemod
Offline
I know this is an old post, but I am curious if the problem got resolved, since the filed bug (https://bugs.archlinux.org/task/7253) was marked as a duplicate of another bug that was not about this particular issue, but rather about keeping track of which package initially pulled in a given package.
It seems to me that the Required By field needs to correctly reflect which packages on the system *currently* require the package, or true orphans could appear as dependencies, and the system could become increasingly cluttered.
I can do some experimenting to see if this issue was ever fixed, but perhaps someone out there knows?
Offline
moderator note: This is a necro-bump. I will leave this open in case a developer wants to answer.
Experiment, that will get you an answer faster.
aur S & M :: forum rules :: Community Ethos
Resources for Women, POC, LGBT*, and allies
Offline
I know this is an old post, but I am curious if the problem got resolved, since the filed bug (https://bugs.archlinux.org/task/7253) was marked as a duplicate of another bug that was not about this particular issue, but rather about keeping track of which package initially pulled in a given package.
It seems to me that the Required By field needs to correctly reflect which packages on the system *currently* require the package, or true orphans could appear as dependencies, and the system could become increasingly cluttered.
I can do some experimenting to see if this issue was ever fixed, but perhaps someone out there knows?
OK, I did an experiment with two AUR packages, in which one depended on the other. As expected, "Required By" on the dependency showed the parent. I then removed the dependency, remade the parent package, and re-installed the parent. Now the "Required By" on the dependency showed "None", as expected. So it looks like the issue is gone.
Offline
moderator note: This is a necro-bump. I will leave this open in case a developer wants to answer.
Experiment, that will get you an answer faster.
Yep, agreed, and I just did.
Now, since both of my packages were AUR packages, not sure it's an apples-to-apples comparison (in the original post, the dependency was in a repo), so any dev comments are welcome...
Offline
pacman now calculates the Required By by scanning the database rather than attempting to keep track of it manually. So I presume this would be fixed.
Offline
And it only took him 5 and a half years to fix it!
*ducks*
Last edited by Trilby (2012-10-30 23:25:13)
"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman
Offline