After upgrating to a newer ocaml (for building the latest mldonkey) I run: sh /usr/portage/dev-lang/ocaml/files/ocaml-rebuild.sh And I get: Cleaning "dev-libs/gmetadom-0.2.3" "net-p2p/mldonkey-2.8.2" "media-gfx/graphviz-2.8-r2" "dev-ml/lablgl-1.00" "dev-ml/lablgtk-2.6.0" Building ">=dev-libs/gmetadom-0.2.3" ">=net-p2p/mldonkey-2.8.2" ">=media-gfx/graphviz-2.8-r2" ">=dev-ml/lablgl-1.00" "=dev-ml/lablgtk-2.6.0" These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ] dev-libs/gmetadom-0.2.3 [ebuild R ] net-p2p/mldonkey-2.8.2 [ebuild R ] media-gfx/graphviz-2.8-r2 [ebuild R ] dev-ml/lablgl-1.00 [ebuild R ] dev-ml/lablgtk-2.6.0 But dev-ml/lablgl-1.00 and dev-ml/lablgtk-2.6.0 should be rebuilt before reemerge mldonkey for making it able to compile and work fine. Thanks
ocaml-rebuild.sh will call emerge --pretend with the list of packages it has grabbed, thus in random order. ocaml-rebuild.sh -f, the one that effectively does something, will unmerge the packages first, leaving to portage the job to handle the dependencies, so there shouldn't be a problem. Please reopen if I missed something.