iyzs...@member.fsf.org (宋文武) skribis: > 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.
Good catch! > 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.) That should work. You can post the patch here so we can test, if you want. Thanks in advance. :-) Ludo’.