Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 831371 - dev-ml/findlib-1.8.1-r2 circular dependency to dev-ml/labltk-8.06.10 with USE=tk
Summary: dev-ml/findlib-1.8.1-r2 circular dependency to dev-ml/labltk-8.06.10 with USE=tk
Status: RESOLVED CANTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Team for the ML programming language family
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-01-17 20:14 UTC by onkobu
Modified: 2022-02-18 18:08 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description onkobu 2022-01-17 20:14:56 UTC
When I run emerge --update --newuse --deep @world with USE="...tk..." (in make.conf) dev-ml/findlib is configured to build -with-toolbox. This requires dev-ml/labtk which in turn requires findlib.

I assume while the depency of labltk to findlib is correct it does not require -with-toolbox of findlib. I didn't look into the ebuild. But according to the docs of findlib:

» -with-toolbox
	also compile and install the "toolbox". This requires
	that labltk is available. The toolbox contains the
	"make_wizard" to easily create findlib-enabled Makefiles.«

labltk itself does not have a USE flag tk and also does not force it for findlib. So it should be detectable for emerge that findlib with or without tk doesn't make a difference for labltk.

Reproducible: Always

Steps to Reproduce:
1. Have USE=tk in make.conf or add USE=tk inline
2. emerge --update --deep @world so that dev-ml/findlib-1.8.1-r2 becomes a candidate
3. emerge bails out with circular dependency

Actual Results:  
 Error: circular dependencies:

(dev-ml/labltk-8.06.10:0/8.06.10::gentoo, ebuild scheduled for merge) depends on
 (dev-ml/findlib-1.8.1-r2:0/0::gentoo, ebuild scheduled for merge) (buildtime)
  (dev-ml/labltk-8.06.10:0/8.06.10::gentoo, ebuild scheduled for merge) (buildtime_slot_op)


Expected Results:  
Update works fine.

labltk was not necessary on the host before. USE-flag tk was enabled for a long time for other packages. Seems as if the recent changes/ stabilization lead to this.
Comment 1 Tupone Alfredo gentoo-dev 2022-01-24 08:06:05 UTC
It might be possible to break this cycle
by applying the following change:
- dev-ml/findlib-1.8.1-r2 (Change USE: -tk)

Note that this change can be reverted, once the package has been installed.

That is what emerge suggests

you have two package to build

findlib and labltk

and you want findlib with tk

The correct sequence of build should be

dev-ml/findlib -tk
dev-ml/labltk
dev-ml/findlib +tk

But this is something that emerge is not doing. Does not build a package twice.
Maybe it will do it in the future. I don't know