Leo Famulari <l...@famulari.name> writes: > On core-updates, from 6671ce93 (gnu: ath9k-htc-firmware: Update binutils > patch for binutils 2.27), I can't build gtk+@3.20 because the daemon > finds a cycle in the references: > > ------ > starting phase `validate-runpath' > validating RUNPATH of 17 binaries in > "/gnu/store/dsnckvh133ndivnnbspg2yziqmlg1c4p-gtk+-3.20.9/lib"... > validating RUNPATH of 10 binaries in > "/gnu/store/28mzpkx23h4cnrhc2ijkp46hiiz06na0-gtk+-3.20.9-bin/bin"... > phase `validate-runpath' succeeded after 0.2 seconds > starting phase `validate-documentation-location' > phase `validate-documentation-location' succeeded after 0.0 seconds > starting phase `delete-info-dir-file' > phase `delete-info-dir-file' succeeded after 0.0 seconds > starting phase `patch-dot-desktop-files' > adjusting 3 '.desktop' files in > "/gnu/store/dsnckvh133ndivnnbspg2yziqmlg1c4p-gtk+-3.20.9/share/applications" > phase `patch-dot-desktop-files' succeeded after 0.0 seconds > starting phase `compress-documentation' > compressing documentation in > '/gnu/store/dsnckvh133ndivnnbspg2yziqmlg1c4p-gtk+-3.20.9/share/man' with > "gzip" and flags ("--best" "--no-name") > phase `compress-documentation' succeeded after 0.0 seconds > cycle detected in the references of > `/gnu/store/28mzpkx23h4cnrhc2ijkp46hiiz06na0-gtk+-3.20.9-bin' > cannot build derivation > `/gnu/store/8mpv03c557g56q1vmym53pm0apxj6p30-gtk-icon-themes.drv': 1 > dependencies couldn't be built > cannot build derivation > `/gnu/store/wd7lz1x2jqfj1z46872fc2lh5ga13gzx-profile.drv': 1 dependencies > couldn't be built > killing process 31697 > cannot build derivation > `/gnu/store/0id6isvf9ljkgx7kf58w5mnhwh805apl-system.drv': 1 dependencies > couldn't be built > guix system: error: build failed: build of > `/gnu/store/0id6isvf9ljkgx7kf58w5mnhwh805apl-system.drv' failed > ------ > > And here are the references. I didn't check if there were any in the doc > output since I didn't see it in the build log. > > ------ > $ grep -r dsnckvh133ndivnnbspg2yziqmlg1c4p > /gnu/store/28mzpkx23h4cnrhc2ijkp46hiiz06na0-gtk+-3.20.9-bin > Binary file > /gnu/store/28mzpkx23h4cnrhc2ijkp46hiiz06na0-gtk+-3.20.9-bin/bin/gtk-query-immodules-3.0 > matches > Binary file > /gnu/store/28mzpkx23h4cnrhc2ijkp46hiiz06na0-gtk+-3.20.9-bin/bin/gtk3-demo-application > matches > Binary file > /gnu/store/28mzpkx23h4cnrhc2ijkp46hiiz06na0-gtk+-3.20.9-bin/bin/gtk-builder-tool > matches > Binary file > /gnu/store/28mzpkx23h4cnrhc2ijkp46hiiz06na0-gtk+-3.20.9-bin/bin/gtk-query-settings > matches > Binary file > /gnu/store/28mzpkx23h4cnrhc2ijkp46hiiz06na0-gtk+-3.20.9-bin/bin/gtk3-icon-browser > matches > Binary file > /gnu/store/28mzpkx23h4cnrhc2ijkp46hiiz06na0-gtk+-3.20.9-bin/bin/gtk-update-icon-cache > matches > Binary file > /gnu/store/28mzpkx23h4cnrhc2ijkp46hiiz06na0-gtk+-3.20.9-bin/bin/gtk3-widget-factory > matches > Binary file > /gnu/store/28mzpkx23h4cnrhc2ijkp46hiiz06na0-gtk+-3.20.9-bin/bin/gtk3-demo > matches > Binary file > /gnu/store/28mzpkx23h4cnrhc2ijkp46hiiz06na0-gtk+-3.20.9-bin/bin/gtk-launch > matches > Binary file > /gnu/store/28mzpkx23h4cnrhc2ijkp46hiiz06na0-gtk+-3.20.9-bin/bin/gtk-encode-symbolic-svg > matches > $ grep -r 28mzpkx23h4cnrhc2ijkp46hiiz06na0 > /gnu/store/dsnckvh133ndivnnbspg2yziqmlg1c4p-gtk+-3.20.9 > /gnu/store/dsnckvh133ndivnnbspg2yziqmlg1c4p-gtk+-3.20.9/share/applications/gtk3-demo.desktop:Exec=/gnu/store/28mzpkx23h4cnrhc2ijkp46hiiz06na0-gtk+-3.20.9-bin/bin/gtk3-demo > /gnu/store/dsnckvh133ndivnnbspg2yziqmlg1c4p-gtk+-3.20.9/share/applications/gtk3-widget-factory.desktop:Exec=/gnu/store/28mzpkx23h4cnrhc2ijkp46hiiz06na0-gtk+-3.20.9-bin/bin/gtk3-widget-factory > /gnu/store/dsnckvh133ndivnnbspg2yziqmlg1c4p-gtk+-3.20.9/share/applications/gtk3-icon-browser.desktop:Exec=/gnu/store/28mzpkx23h4cnrhc2ijkp46hiiz06na0-gtk+-3.20.9-bin/bin/gtk3-icon-browser > ------ > > It works if I remove the 'bin' output from gtk+@3.
Oh, I added the 'bin' output to gtk+ without moving its desktop files. And now the 'patch-dot-desktop-files' phase in gnu-build-system gives absolute paths to desktop files, so it fails with cycle references. Move all the 3 desktop files into 'bin' output should work. (I could patch that next day, but won't be able to test it due to slow substitute/download/build speed though.)