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.)

Reply via email to